본문 바로가기
728x90

Computer Science327

[Blockchain] 데이터 활용 목적에서의 재구조화된 블록체인 포스트 난이도: HOO_Senior* 해당 포스트는 글쓴이의 개인적인 견해가 포함되어 있습니다.# 블록체인의 추적성대학원생이나 연구원들의 가장 큰 문제점 중에 하나가 본인의 분야에서 사로잡혀 있다 보니 트렌드나 기술을 공유하는 사람들이 정해져 있다는 것이다. 나 또한 마찬가지이다. 내 분야의 사람들을 만나고 이야기하는 거와 개발자 브로들과 이야기를 나누다 보면 관점의 차이가 정말 많이 다르다. 그래서 여유가 있을 때마다 개발자 브로들과 이야기를 나누는 시간을 가지려고 최대한 노력하는 편이다. 아무튼 오늘 포스팅을 할 내용은 사실상 2년 넘게 공들여왔다 Redesign한 농업용 블록체인 프로토타입을 만든 걸 자랑하기 위해서이다. 사실 농담이고 블록체인 개발자와 공학 연구원 가운데 서 있는 내 입장에서 현재.. 2025. 4. 3.
[Algorithms] 머신러닝에서 SMOTE 라이브러리를 통해 데이터 불균형 해소하기: 데이터 수 증가 및 감소 포스트 난이도: HOO_Middle# 데이터 수가 중요한 거지 데이터의 균형이 왜 중요한가요?Machine learning (ML)를 돌리다 보면 충분한 수의 데이터가 마련되지 않는 경우가 있다. 특히 산출하려는 결과가 하나가 아닌 여러 기준을 둔 채 나눠서 산출하려고 한다면 각 기준에 맞는 데이터 수가 필요하다. 예를 들어서 우리가 예측 모델을 만든다고 한다면, 예측하는 값의 기준을 대, 중, 소로 나눈다거나 아니면 카테고리를 가지고 분류를 한다고 했을 때 각 기준에 맞는 충분한 데이터 수가 필요하다. "데이터 수만 많으면 되는 건가요?"라고 오해할 수도 있지만 여기서 한가지 더 중요한 점은 "균형 있는 데이터 수"가 필요하다. 균형 있는 데이터 수라는 건 산출하려는 기준에 비슷한 숫자의 학습 데이터 .. 2025. 3. 31.
[Algorithms] 딥러닝 말고 XGBoost, 비선형 데이터 학습에 적합한 머신러닝 포스트 난이도: HOO_Senior# XGBoost란?XGBoost (Extreme Gradient Boosting)는 결정 트리(Decision Tree) 기반의 부스팅(Boosting) 알고리즘이다. 기본적으로 Gradient Boosting Machine (GBM)을 개선한 버전이며, 빠르고 효율적인 트리 기반 앙상블 학습 방식을 사용하고 있다. 결정 트리(Decision Tree) 기반의 회귀 및 분류 문제 해결에 특화된 머신러닝 모델이며 부스팅(Boosting) 기법을 활용하여 여러 개의 약한 학습기(Weak Learners)를 결합하여 성능을 향상할 수 있다. 이런 특성 때문에 나의 경우 XGBoost를 선택적으로 활용하는 편이다. 우선 정확도(Accuracy)와 효율성(Efficiency)가.. 2025. 3. 20.
[Blockchain] Fabric Gateway API, Transaction 제출 과정을 단순화 포스트 난이도: HOO_Senior# Fabric Gateway, Hyperledger Fabric v.2.4몇 년 전까지만 해도 하이퍼레저 패브릭 (Hyperledger Fabric)을 사용하는데 그다지 친근하지는 않았었다. 아무래도 여러 레이어들이 연결되다 보니 특정 하나의 버전만 달라져도 에러가 발생할 수 있는 경우들이 많았다. 이 외에도 많은 기능들을 직접 연결하고 작업을 해야 하다 보니 초심자에게 있어서는 접근하기 여간 쉽지 않은 부분이 있었다. 미국의 경우 각 주마다 IBM 블록체인 개발자 커뮤니티와 세미나가 존재하고 있지만 문제가 발생했을 때 서로 의견을 공유할 뿐 문제는 본인이 해결해나가야 했다. 아무튼 하이퍼레져 패브릭 2.4 버전 이후에 새롭게 업데이트된 패브릭 게이트웨어 (Fabric.. 2025. 3. 15.
[Blockchain] Zero-Knowledge Proof (ZKP) 포스트 난이도: HOO_Lead# ZKP란요즘 글의 논리성과 연구나 개발에 있어서 근본적인 문제점에 대해서 시간 투자를 많이 하다 보니 "내가 글 쓰는 작가인가"라는 착각이 들기도 한다. 그렇다 보니 가면 갈수록 개발자 브로들이 무엇에 대해서 고민이 많고 무엇을 궁금해할 지에 대해서 생각이 잘 나지 않는다. 그래서 이번 포스트는 내가 관심을 가지고 있는 ZKP에 대해서 간략하게 소개하면서 이야기를 나눌까 한다. ZKP에 대해서 이야기를 나누기 앞서서, 블록체인에서 말하는 합의 알고리즘이라고 하는 증명 방식들은 사실 이미 오래전부터 수학적이나 컴퓨터에서 다뤄왔던 증명들이다. 마치 "오 이건 블록체인에서만 사용되는 새로운 방식이야!"라고 하기보다는 블록체인을 적용하기 위해서는 각 상황에 맞는 증명 방법이 필.. 2025. 3. 10.
[AI & Data] SQL 기초 공부 - W3School SQL exercises 포스트 난이도: HOO_Intern#  데이터가 중요한 이유10년 전만에 해도 인공지능을 다룰 줄 안다는 게 노벨티 했었지만 이제는 인공지능 개발자들이 정말 많이 늘어났고 이제는 개발자라면 간단한 머신러닝 라이브러리 정도는 다룰 줄 알아야 할 정도로 인공지능이 대중화되었다. 과거에는 인공지능을 application 하는 부분에 대해서 우선시되었다면, 이제는 인공지능을 사용할 줄 아는 것뿐만 아니라 인공지능에 들어가는 데이터를 어떻게 관리를 해야 할 지에 대한 관심이 커졌다. 예를 들어 자동차가 인공지능이라고 가정하면, 예전에는 자동차를 만들어서 타야했는데 이제는 표준화된 모델이 있어서 일일이 만들어서 탈 필요가 없어진 셈이다. 다만 자동차에 들어가는 연료가 좋은 연료인지, 연료 종류가 무엇인지에 대해서 .. 2025. 3. 2.
SQL이란? 포스트 난이도: HOO_Junior학교 직원분 따님이 걸스카우트를 해서 쿠키를 샀다. 미국은 걸스카우트에 있는 아이들이 쿠키를 팔아서 본인이 모은 돈으로 자기계발에 필요한 활동을 한다. 조카 용돈 준다는 마음으로 사고 남은 돈도 베티한테 주라고 했는데 나중에 딸한테 줬는지 확인해 봐야겠다. 농담이고 매번 행정업무에 도움을 받기에 큰 건 아니지만 서로 도와주면 기분이 좋다.요새는 쿠키를 직접 만드는게 아니라 이렇게 업체에서 나오는 것 같은데 쿠키 품질이 좋지는 않지만 양은 배신하지 않는다 (사실 맛있게 먹었다).  아무튼 본론으로 돌아와서 이번 포스팅에서는 SQL에 대해서 살펴보도록 하겠다. Database 수업을 들었음에도 막상 졸업해서 DBMS 관리자 잡을 찾으려고 하니 SQL이 뭐지 하는 브로들을 위.. 2025. 2. 13.
(REST API 아주 조금 곁들인) API란 무엇인가요? 포스트 난이도: HOO_Middle요즘 글을 마음대로 쓰다가 논리 전개를 고려해 가며 쓰다 보니 내가 개발자인지 아니면 작가인지 헷갈릴 정도이다. 문제점을 파악하고 있지만 어떻게 고쳐나가야 할지가 보이질 않다 보니 스스로 지친다. 여기까지가 그동안 포스트가 늦어졌던 나의 핑계이다. 아무튼 오랜만에 포스팅을 하면서 브로들에게 힘을 얻고 간다. 엉망진창처럼 보일 수 있는 포스트도 "고맙다는" 말 한마디에 다시 한번 힘을 내본다.카카오에서 사용하지 않는 기프티콘이 있다며 연락이 왔다. 언제 받았는지도 모르지만 카카오에서 준 기프티콘이었다. 기한이 많이 남지 않고 하나밖에 안 되다 보니, 한국에 있는 박사생 브로에게 대신 맛있게 먹어달라며 보냈다. 다음부터는 사전에 확인해서 개발자 브로들에게도  나눌 수 있도록.. 2025. 2. 13.
[AI & Data] Data Management란 포스트 난이도: HOO_Middle# CS에서의 데이터 관점데이터는 사용되는 맥락에 따라 다양한 정의를 가질 수 있는데 Computer Science (CS)에서의 데이터는 의미 있는 정보 (Information)로 가공되기 전의 기초적인 자료를 의미한다. 예를 들어 일반적 정의 데이터는 이산적(discrete) 또는 연속적(continuous)인 값들의 집합으로, 양적 또는 질적 특성, 사실, 통계, 기본 단위의 의미를 나타내며, 때로는 형식적으로 해석 가능한 기호의 연속으로 정의할 수 있다. 반면에 CS에서의 데이터는 관찰, 실험, 인터뷰, 설문지, 체크리스트, 평정 척도 등을 통해 수집된 원자료(raw data)로, 이러한 자료는 의미 있는 정보로 전환되기 위해 반드시 처리 과정을 거쳐야 한다고 본.. 2025. 1. 25.
[AI & Data] Data Requirements 포스트 난이도: HOO_Senior# Definition of Process Needs프로그램을 만들기 전에 requirments라고 불리는 기획안을 꼼꼼히 작성하듯이 데이터도 사용하기 전에 기본적인 requirments들을 정리해 두는 것이 좋다. 데이터 분석을 기획하거나 툴을 만들거나 또는 연구를 하는 과정에서도 데이터에 대해 기본적인 정리를 해둔다고 생각하면 된다. 마치 우리가 소개팅을 나가기 전에 최소한의 상대방 정보를 알아보듯이 또는 요리를 만들기 전에 최소한 검색을 한번 정도를 해보듯이 말이다. 이번 포스트에서는 가장 기본적으로 데이터를 사용하기 전에 알아둬야 하는 요소 (Factors)들에 대해서 살펴볼 것이다.# Physcial Data & Digital Data무의식적으로 생각하면 데이터.. 2025. 1. 21.
[Algorithms] Heap sort(힙 정렬)란 무엇인가요? * 2020년 4월 29일 자 포스트를 업데이트한 포스트입니다.*포스트 난이도: HOO_Junior# Heap Sort: 쌓여있는 데이터를 정렬하는 방법Heap이란 단어를 영어사전에서 찾아보면 "쌓여있는", "더미" 등의 뜻을 확인할 수 있다. 즉, Heap sort (힙 정렬)는 많은 양의 데이터를 정렬하는 방법이다. Heap sort는 알고리즘에서 여러 가지 정렬 방법 중 하나로, 데이터 값을 최댓값 또는 최솟값 기준으로 정렬할 때 사용한다. 최댓값 또는 최솟값으로 정렬하는 것을 한국어로는 힙 정렬(Heap sort)이라고 하며, 오름차순 또는 내림차순으로도 표현할 수 있다. Heap sort는 다른 정렬 방법과 달리 시각적으로 표현할 때 트리 형태로 나타낼 수 있다. 1차원 배열 형태에서 정렬하는 .. 2024. 12. 31.
[Android App] 무료로 사용 가능한 UI Tools: 카카오 오븐(Kakao Oven) 서비스 종료 *05.27.2021 포스트를 업데이트한 포스팅입니다.*포스트 난이도: HOO_Junior# 카카오 오븐 서비스 종료UI tools을 알아보려고 해당 포스트를 눌렀다면 아쉽게도 더 이상 카카오에서 카카오 오븐 서비스를 제공하지 않게 되었다. 아래의 Figure 1처럼 기존 카카오 오븐을 사용하던 유저들의 경우 서비스 종료 이메일을 받았을 것이다. 만일 작업하던 기획안이 있다거나 아니면 자신만의 틀을 저장해 두고 사용해 오고 있었다면 카카오에 문의를 해서 데이터를 백업 받을 수 있다. 다만 2024년 9월 30일에 서비스가 종료되었기 때문에 기존 데이터가 삭제되었을 수도 있다.실제로 현재 카카오 오븐(https://ovenapp.io/) 도메인의 경우 Figure 2처럼 페이지가 연결되어 있지 않은 것으로.. 2024. 12. 29.
[Algorithms] Random Forest (랜덤 포레스트) 포스트 난이도: HOO_Middle# Random Forest: 머신러닝 알고리즘우선 Random Froest에 대해서 간략하게 요약하자면 아래와 같다. 내가 중요하게 생각되는 특징만 작성해 두었으니 구체적인 내용이 궁금하다면 댓글을 남기거나 아래의 IBM 설명을 살펴보는 것도 좋다.https://www.ibm.com/topics/random-forest#:~:text=Random%20forest%20is%20a%20commonly,both%20classification%20and%20regression%20problems. What Is Random Forest? | IBMRandom forest is a commonly-used machine learning algorithm that combines.. 2024. 12. 18.
[AI & Data] Database Architecture (데이터베이스 아키텍쳐) 포스트 난이도: HOO_Junior# Database Architecture 란?처음 Database architecture를 접했을 때의 느낌을 돌이켜보면 Database architecture는 그저 다가가기 어렵게 만드는 어려운 용어 중 하나일 뿐이었다. Database architecture 뿐만 아니라 다른 Computer science와 관련된 용어들과 마주치면 머리가 지끈지끈 아파올 수밖에 없다. 우리가 흔히 말하는 "용어"는 뜻을 살펴보고 한눈에 이해가 되어야 하는 게 아주 일반적인 상식이지만 사실상 개발자들이 사용하는 용어는 하나의 단어에 모든 개념과 사용 방법, 응용을 할 수 있는 이해력 등 하나의 단어의 의미를 나타내는 게 아니라 무한히 연결된 것 중의 한 요소이기 때문이다. 한마디로.. 2024. 11. 21.
[Web] .css에서 이미지 사이즈 조정이 안될때, Inline Style Testing #  style.css전반적인 스타일을 담당하는. css 파일에 이미지를 넣어야 하는 경우 해당 코드에서 이미지에 대한 속성을 조정해 줄 수 있다. 다만 가끔씩 조정한 이미지의 속성이 html에서 적용이 제대로 되지 않는 경우가 발생하는데 빠르게 해결하는 방법은 html 자체에서 테스트를 해보는 것이다. 한마디로 이미지 속성 변경이 제대로 이뤄지지 않는 이유들 중에서 이미지 자체에 문제가 있거나 아니면 css와 html 코드 간의 연결 문제가 있는지 등을 확인해 보기 위해서 html 내에서 이미지 속성을 지정해 주는 것이다.#  Inline Style Testing.css 파일에서 이미지를 설정해 준다고 가정했을 때 아래와 같이 코드가 작성되어 있을 것이다..logo { width: 500px;.. 2024. 11. 13.
[Errors] Node.js, Error: Cannot find module # Error: Cannot find module Node js를 실행하는 과정에서 모듈을 찾을 수 없다는 에러가 뜬다면 사실 가장 간단한 원인부터 파악해보는 것이 좋다. 그 중에 대표적인 예가 실행시킬려고하는 js 파일명이 잘못되어 있거나 아니면 터미널에서 실행 시키는 과정에서 해당 js 파일명을 잘못 입력했을 경우에 발생하는 에러이다. 한마디로 파일명이 제대로 입력이 되었는지 확인해보면 된다. 2024. 10. 12.
[Errors] npm ERR! A complete log of this run can be found in: # package.jsonnpm을 설치하려는 과정에서 발생하는 에러로써 "npm install"을 하고 나서 아래와 같은 에러가 출력된다면 package file이 없어서 발생한 문제일 가능성이 있다. "npm ERR! A complete log of this run can be found in:" 에러는 아래의 다른 에러들과 함께 출력되어 나온다.npm ERR! code ENOENTnpm ERR! syscall opennpm ERR! path npm ERR! errno -2npm ERR! enoent ENOENT: no such file or directory, open npm ERR! enoent This is related to npm not being able to find a file.npm E.. 2024. 9. 30.
[Errors] Rstudio, Error in plot.new() : figure margins too large * 해당 포스트는 16 September 2022 작성된 글의 업데이트 버전입니다.# 화면 사이즈가 맞지 않을 때Error in plot.new() : figure margins too large RStudio에서 데이터를 시각화하는 과정 (특정 그래프를 출력하려고 할 때)에서 발생하는 에러로 출력되는 화면 창의 공간이 충분하지 않아 발생하는 에러이다. 따라서  코드 자체에서 변경할 필요 없이 plot이 나오는 창에 대해서 크기를 조정해 주면 된다. 일반적으로 이작은 화면의 노트북을 사용하거나 출력되는 그래프 창의 크기가 작게 조정되어 있을 때에도 발생한다. 하지만 부득이하게 출력되는 그래프 창을 조정할 수 없거나 굳이 그래프의 출력 결과를 확인하기보다는 콘솔이나 스크립트 화면을 크게 가져가고 싶다면 .. 2024. 9. 19.
[Errors] Hyperledger Fabric, command not found: peer # Peer CLIPeer CLI은 Hyperledger Fabric을 사용하는 데 있어서 블록체인 네트워크에 접근할 수 있도록 command-line interface tool이다. Peer CLI는 chaincode deployment, querying the ledger, network management 등을 작업을 할 수 있기에 사용에 맞게 customizing이 가능하다. Peer CLI를 연결하여 사용하려고 할때, "command not found: peer"라는 에러가 발생할 수 있는데 Peer CLI가 제대로 연결되지 않았다는 걸 의미한다. 한마디로 Peer CLI가 생성되어 있음에도 사용하려는 network.sh에 경로 지정이 되어있지 않기 때문이다. 따라서 export로 경로 지정을 .. 2024. 9. 17.
[Errors] {"error":"unauthorized","reason":"You are not a server admin."} # DB 에러데이터베이스를 사용하다 보면 자주 볼 수 있는 서버 어드민과 관련된 에러이다. 말 그대로 권한이 없기 때문에 새롭게 data를 입력하거나 가져오려고 할 때 발생할 수 있다. 이러한 경우 가져오려는 DB 주소에 어드민 username과 password를 작성해 주면 문제가 해결된다.curl -X GET http://:@curl -X PUT http://:@ 위에는 curl 예시이며, 이런 식으로 어드민 권한을 가질 수 있게 만들어 권한 문제에 대한 에러를 해결할 수 있다. 2024. 9. 17.
[Errors] curl: (3) URL rejected: Bad hostname # curl: (3) URL rejectedCouchDB를 사용하지 않더라도 DB에서 curl를 통해서 database에 접근하려고 할 때 "curl: (3) URL rejected: Bad hostname"와 같은 에러가 발생할 수 있다. 해당 에러는 데이터베이스에 어드민으로 등록된 host 이름이나 비밀번호가 잘못 입력되었을 때 발생한다. 여기까지는 모두가 알고 있지만 문제는 올바르게 입력을 했음에도 지속적으로 Bad hostname이라는 에러가 발생한다면 새벽 밤샘 작업이나 과제를 하다가 짜증이 폭발할 수 있다. 사용하는 DB에서 어드민 username와 password를 제대로 확인했음에도 위와 같은 에러가 발생한다면 password에 특수기호로 작성된 부분 때문일 수도 있다. curl: (3) .. 2024. 9. 16.
[Blockchain] Hyperledger Fabric: network.sh 포스트 난이도: HOO_Senior# fabric-samples v2.5If you're venturing into the world of Hyperledger Fabric, understanding the core components of a smart contract is essential. In this post, we’ll break down the key functions within the network.sh file. https://github.com/hyperledger/fabric GitHub - hyperledger/fabric: Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for .. 2024. 9. 16.
[Errors] CouchDB Project Fauxton Login # CouchDBApache foundation에서 만든 Apache CouchDB는 줄여서 CouchDB로 알려져 있다. 도대체 아파치 자식들은 뭘 먹고 살아가는지 의심스럽고 걱정이 될 정도로 고마울 따름이다. 인터넷에서 CouchDB를 검색하면 가장 상단에 Couchbase Capella가 있는데 마치 CouchDB와 정말 비슷한 디자인과 색상을 가진 로고가 보이는데 CouchDB와 전혀 다른 녀석이다. 웹 기반의 클라우드 DB 서비스를 제공하는 회사인데, 일단 그지 같은 게 회원 탈퇴에 대한 메뉴가 별도로 없으며 추가 정보를 입력하도록 유도한다. 개인적인 부정적 견해로 보면 회원 유치를 하고 유지하려고 하는 거 같은데 솔직히 이런 방식의 서비스는 Ethical engineering도 모르는 진정한 .. 2024. 9. 12.
[Errors] nvm: command not found # nvm: command not foundNVM 설치가 제대로 되어 있지 않거나 npm만 설치가 되어 있고 nvm은 설치가 안되어있을 경우에 해당 에러 메시지가 나올 수 있다. 간단하게 nvm을 설치해 주면 된다. bash나 zsh에서 설치한다고 가정했을 때 아래와 같이 설치가 가능하다.curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh# 특정 버전을 설치해야하는 경우위의 버전은 0.39.3이기 때문에 다른 버전이 필요한 경우 해당 버전에 맞춰서 업데이트해주면 된다.nvm --version0.39.3nvm install ###########################################################.. 2024. 9. 11.
[Github] Managing Data with Git (fork, git clone, git checkout, git push) 포스트 난이도: HOO_Junior# Git과 Github란?컴퓨터 관련 전공인 브로들에게는 너무나도 익숙하면서 사실 막상 써보지 않으면 이름만 알고 할 줄 모르는 경우가 있는 Git(깃)과 Github(깃허브)에 대해서 이야기를 나눠볼까 한다. 산업뿐만 아니라 많은 연구 기관에서 인공지능 기반으로 한 데이터를 학습 모델링뿐만 아니라 간단한 데이터 분석에 있어서도 다양한 툴을 사용해서 결과를 산출해 낸다. 한마디로 더 이상 데이터 분석 및 시각화는 개발자가 할 수 있는 전문성 있는 일이 아니라 어느 전공이든 특히 의학 관련 전공은 데이터 분석 및 시각화 작업을 할 줄 알아야 한다. (사실 요새는 툴이나 프로그램이 많아서 쉽게 배울 수 있으니 겁을 먹지 말도록 하자.) 깃과 깃허브에 대한 설명은 인터넷에 .. 2024. 9. 8.
[Error] git-credential-osxkeychain # login keychain password로컬 환경에서 깃허브와 연동하여 작업을 할 때 발생할 수 있는 에러이다. 최종적으로 최신 파일이나 코드를 commit 하는 과정에서 osxkeychain에 대한 비밀번호를 입력하라고 나오는데 당황하지 말고 Mac에서 사용하는 Password를 입력해주면 된다. git config --global user.name "Your Name"git config --global user.email "your.email@example.com" 해당 문제점에 대해서 검색을 해보면 git config에서 이메일과 사용자 이름을 작성하지 않아서 생긴 경우라면서 위의 명령어를 알려주지만 그냥 맥에서 사용하는 계정 비밀번호를 넣어주면 된다. 맥의 경우 이차 보안 목적으로 해당 기능.. 2024. 9. 5.
[Blockchain] Blueprint for Smart Contract: smartcontract.go 포스트 난이도: HOO_Senior# fabric-samples v2.5If you're venturing into the world of Hyperledger Fabric, understanding the core components of a smart contract is essential. In this post, we’ll break down the key functions within the smartcontract.go file, which will help you not only build your own smart contract but also grasp the basics of chaincode development in Go.https://github.com/hyperledger/fa.. 2024. 8. 30.
[Blockchain] A Journey with Hyperledger Fabric: Build Test Server 포스트 난이도: HOO_Senior# IntroductionI've been grappling with how to explain the general challenges of data flow through blockchain. As someone who struggles with design and visual representation, I know how daunting it can be to convey complex concepts effectively. After a recent seminar, one of students, who’s pursuing a Master of Engineering, mentioned, "I want to start studying blockchain" but h.. 2024. 8. 29.
[Web] 로그인 페이지 (validateLogin) 포스트 난이도: HOO_Junior# body: login-container 부분은 스킵하고 로그인 페이지에 사용할 수 있는 간단한 와 2024. 8. 20.
[Computer Science] 코드 작성 전에 플로우 차트(Flow Charts)를 그리는 연습을 해야하는 이유 포스트 난이도: HOO_Intern*해당 포스트는 2020년 1월 27일 포스트에서 업데이트된 포스트입니다.# Flow charts를 그려야 하는 이유10년 전에 코드를 배우기 시작하던 내 모습으로 돌아가서 Flow charts (플로우 차트)에 대해서 생각해 보자면 정말 하기 싫은 일 중 하나였던 것 같다. 코딩을 막 처음 배우기 시작하다 보면 (한국은 잘 모르지만) "Hello world"부터 만들어보기 시작하여 정말 간단한 사칙연산과 조건문들을 배운다. 이때가 가장 많이 착각하는 단계 중 하나인 "와 나는 개발 천재인가 보다"의 병이 발생될 수 있다. 물론 처음 코딩이 버겁고 어렵다면 더 다행이라고 생각이 드는 게 플로우 차트를 그리는 걸 귀찮아하지 않기 때문이다. 하지만 위와 같이 초기 병 증세가.. 2024. 8. 17.
728x90