{
    "componentChunkName": "component---src-templates-post-tsx",
    "path": "/coding-habit/",
    "result": {"data":{"logo":null,"markdownRemark":{"html":"<h1>Sooftware Coding - 좋은 코딩 습관 (네이밍)</h1>\n<p>깔끔한 코드를 짜기 위한 제가 생각하는 10가지 습관입니다.<br>\n※ 저의 개인적인 주관이 포함된 글입니다.</p>\n<h3>1. 변수, 클래스명에는 동사를 넣지 않는다</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">class</span><span class=\"token operator\">:</span> <span class=\"token function\">FeatureExtract</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">class</span><span class=\"token operator\">:</span> <span class=\"token function\">FeatureExtractor</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">work</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">worker</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">log</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">logger</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>변수, 클래스명은 다음과 같이 count, num_workers, image, user … 등 숫자, ~을 하는 객체, ~한 여부 (bool) 등이기 때문에\n동사보다는 명사가 가장 잘 어울린다고 생각합니다.</p>\n<h3>2.  함수명에는 동사를 넣는다</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span><span class=\"token operator\">:</span> <span class=\"token function\">id</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">function</span><span class=\"token operator\">:</span> <span class=\"token function\">get_id</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">function</span><span class=\"token operator\">:</span> <span class=\"token function\">trainer</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">function</span><span class=\"token operator\">:</span> <span class=\"token function\">train</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>반면, 함수같은 경우는 ~을 하는 행동을 정의하는 것입니다. id를 받아오는 함수라고 하면, id()보다는\nget_id()과 같이 ~하다라는 의미가 담긴 명명이 잘 어울릴 것입니다.</p>\n<h3>3. 변수명에 굳이 관사를 넣지 않는다.</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">a_cat</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">cat</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>가장 좋은 변수명은 짧으면서도 효과적으로 의도를 전달하는 변수명입니다.<br>\n굳이 관사를 넣음으로 인해 변수명이 길어질 필요가 없습니다.</p>\n<p>관사를 넣는다고 의도 전달이 더 명확하게 되는것도 아니기 때문에 변수명, 함수명, 클래스명에 대해서 특수한 경우를 제외하고는\n굳이 관사를 넣어줄 필요는 거의 없다고 생각힙니다.</p>\n<h3>4. 변수명에 전치사는 최대한 생략한다.</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">the_number_of_worker</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token function\">num_workers</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>우리나라 사람들이 많이 하는 실수라고 합니다. number_of_worker 등과 같이, 전치사를 많이 넣습니다.</p>\n<p>우리나라 말로 옮기자면, the_number_of_worker는 “worker의 수”입니다.</p>\n<p>하지만, 간단하게 의도만 표현하는데 굳이 문법을 맞춰줄 필요는 없습니다. “worker의 수”보다는 간결하게 “worker수”라는 표현인</p>\n<p>worker_num과 같은 표현이 더 간결하면서도 의도 전달에 부족하지 않을 것입니다. 참고로, 뭔가를 세거나 숫자를 표시하는 변수는 num_somethings 혹은 count_somethings (cnt_somethings) 와 같은 형식을 많이 사용합니다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">class</span><span class=\"token operator\">:</span> Seq2seq\n<span class=\"token keyword\">function</span><span class=\"token operator\">:</span> <span class=\"token function\">sentence_to_id</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> char2id</code></pre></div>\n<p>물론 위와 같이 “to”는 함수, 변수 등 여러모로 자주 쓰입니다. to는 짧으면서도 의도를 효과적으로 전달해주는 단어이기 때문입니다.</p>\n<p>이와 같이 전치사를 최대한 줄이지만, 전치사를 씀으로, 더 깔끔하고, 효과적으로 의도 전달이 된다면 안 쓸 이유는 없습니다.</p>\n<p>그리고 to 같은 경우는 2(two)와 발음의 유사성 때문에 char_to_id => char2id와 같이 많이 쓰입니다._to_라는 4개의 글자를 2라는 1개의 글자로 대체함으로써 더 짧은 네이밍이 된다는 장점도 있습니다.</p>\n<h3>5. 단수와 복수를 구분한다.</h3>\n<ul>\n<li>Example:: Python</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">items <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">for</span> item <span class=\"token keyword\">in</span> <span class=\"token literal-property property\">items</span><span class=\"token operator\">:</span>\n    <span class=\"token function\">print</span><span class=\"token punctuation\">(</span>item<span class=\"token punctuation\">)</span></code></pre></div>\n<p>우리나라 사람들이 많이들 신경쓰지 않는 부분이라고 합니다. 제가 굉장히 중요하게 생각하는 부분인데요,</p>\n<p>단수와 복수를 구분해놓으면 코드를 읽기가 굉장히 쉬워집니다.</p>\n<p>단수형이라면 어떤 값 혹은 객체가 하나인 자료형, 복수형이라면 여러 값 혹은 객체가 들어있는 자료형임을 짐작하게 합니다.</p>\n<p>실제로 다른 사람이 짠 코드를 볼 때, 단수형 복수형이 명확하게 구분된 코드와 구분이 되지 않은 코드를 읽어보면 그 차이를 선명하게 느낄 수 있습니다.</p>\n<h3>6. 사용하는 언어의 암묵적인 Rule을 지킨다.</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token literal-property property\">CamelCase</span><span class=\"token operator\">:</span> Java\n<span class=\"token literal-property property\">snake_cake</span><span class=\"token operator\">:</span> c\n<span class=\"token literal-property property\">Hybrid</span><span class=\"token operator\">:</span> python</code></pre></div>\n<p>어떤 언어를 사용하게 되면, 대부분의 프로그래머들이 암묵적으로 지키는 Rule 혹은 언어에서 권장하는 형식 있습니다.</p>\n<p>프로그램의 실행이나 결과에는 반영되지 않지만, 다른 사람들이 코드를 더 읽기 쉽게 만들어주는 규칙입니다.</p>\n<img src=\"https://user-images.githubusercontent.com/42150335/184926983-b7939920-db95-42db-87e1-df50c6bc0e9e.png\" width=\"400\">\n<p>대표적으로 Java의 CamelCase가 있습니다. c언어나 파이썬은 camelCase와 snake_case를 섞어서 쓰곤 합니다.</p>\n<p>아래는 c언어에서 가장 많이 쓰이는 컨벤션이라고 합니다.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Struct              TitleCase\nStruct Members      lower_case or lowerCase\n\nEnum                ETitleCase\nEnum Members        ALL_CAPS or lowerCase\n\nPublic functions    pfx_TitleCase (pfx = two or three letter module prefix)\nPrivate functions   TitleCase\nTrivial variables   i,x,n,f etc...\nLocal variables     lower_case or lowerCase\nGlobal variables    g_lowerCase or g_lower_case (searchable by g_ prefix)</code></pre></div>\n<ul>\n<li>CamelCase Example</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">var: raiseValueError\nvar: sentenceToId</code></pre></div>\n<ul>\n<li>snake_case Example</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">var: raise_value_error\nvar: sentence_to_id</code></pre></div>\n<p>물론 위와 같은 사항들 모두 권장일 뿐, 꼭 지켜야 하는 것은 아닙니다만,\n아무래도 많은 개발자들이 따르는 규칙을 따른다면 여러모로 편리한 점이 있는 것 같습니다.</p>\n<h3>7. 통상적으로 사용되는 변수명/규칙을 사용한다.</h3>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">temp, obj, worker, num_somethings, count_somethings, flag, idx, is_condition, info, freq, token ... </code></pre></div>\n<p>어떤 사람의 코드를 보더라도 꼭 등장하는 변수명들이 있습니다.\ntemp, flag, obj 등등.. 어디서나 많이 보이는 변수명도 있고,\nnum_somethings, count_somethings, is_condition과 같이 일정 형식으로 많이 쓰이는 변수명도 있습니다.</p>\n<p>예를 들어 “워커의 수”라는 것을 변수명으로 만든다면 <code class=\"language-text\">num_workers</code>와 같은 형식을 많이 사용합니다.\n한 프로젝트에 뭔가의 숫자를 담아두는 변수를 위와 같은 형식으로 통일해둔다면 코드 읽기가 많이 수월해집니다.</p>\n<p>특정 변수명들은 변수명만으로 어떤 역할을 할지를 예측할 수도 있고, 변수명의 형식을 보고 bool 타입일지, int 타입일지를 예측도 가능하게 해줍니다.</p>\n<p>자주 사용되는 변수명이나 형식 같은 경우는 어떤 분야인지에 따라서도 차이가 나기 때문에, 같은 분야의 여러 코드를 보게 되면 도움이 많이 됩니다.\n예를 들어 인공지능 분야의 경우에는 인공지능을 <code class=\"language-text\">model</code>이라고 많이 표현하기 때문에, 이왕이면 변수명을 <code class=\"language-text\">model</code>로 만들어주면\n코드를 파악 혹은 검색할 때 수월해집니다.</p>\n<p>요즘은 microsoft, ibm, google 등 세계적인 대기업들도 오픈소스를 공개하기 때문에, 세계적인 대기업들에서는 어떤 식으로 변수명을 구성하는지를 볼 수도 있습니다.</p>\n<h3>8. 상수는 모두 대문자로 표시해준다.</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span><span class=\"token operator\">:</span> layer_size <span class=\"token operator\">=</span> <span class=\"token number\">6</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token constant\">L</span> <span class=\"token operator\">=</span> <span class=\"token number\">6</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> main_width <span class=\"token operator\">=</span> <span class=\"token number\">1024</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token constant\">MAIN_WIDTH</span> <span class=\"token operator\">=</span> <span class=\"token number\">1024</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> main_height <span class=\"token operator\">=</span> <span class=\"token number\">768</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">X</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span><span class=\"token operator\">:</span> <span class=\"token constant\">MAIN_HEIGHT</span> <span class=\"token operator\">=</span> <span class=\"token number\">768</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">O</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>값이 변하지 않는 상수라면, 값이 변하지 않는다는 것을 표시해주는 것이 좋습니다.\n제가 사용하는 언어들에서는 모두 위 규칙을 따르는 것 같은데, 혹시 본인이 사용하는 언어가\n다른 규칙을 따른다면, 해당 규칙을 따라주시면 됩니다.</p>\n<h3>9. 로직이 끝나면 한 줄 띄어준다.</h3>\n<p>같은 함수 내에서라도, 분명 여러 로직이 있습니다.\n변수를 선언하는 부분, 혹은 계산하는 부분이 있을 것이고,\nfor, while 문 같이 반복분을 도는 경우도 있을 것입니다.</p>\n<p>하나의 함수는 한 화면안에 모두 들어와야 된다라고 하며 모든 코드를 따닥따닥 붙여놓는 분들이 계십니다.</p>\n<p>분명 한 화면 안에 들어오는 함수가 좋은 함수지만, 이를 위해서 가독성을 포기해야 한다면,\n저는 한 화면이 넘어가더라도 한 줄씩 띄어줌으로써 로직이 분리되는 코드를 지향합니다.</p>\n<h3>10. 코드에 규칙이 있어야 한다.</h3>\n<p>위의 9가지 규칙 다 안 지키더라도, 네이밍과 코드에는 꼭 일정한 규칙이 있어야 합니다.</p>\n<p>리스트는 뒤에 _list를 붙이다던지, class는 두 번째 글자만 대문자라던지,\n어떤 규칙이던 규칙적이기만 하면 <strong>그나마</strong> 괜찮습니다.</p>\n<p>최악은 모든 네이밍이 지멋대로이고, 어떤 규칙도 찾아볼 수 없다면, 그 코드는 아마\n빠른 시일내에 다시 짜야될 가능성이 굉장히 높습니다.</p>\n<hr>\n<p>이상으로 제가 생각하는 깔끔한 코드를 짜는 10가지 규칙이였습니다.\n생각나는대로 작성해서 빠트린 부분이 있을수도 있습니다.</p>\n<p>깔끔한 코드를 짜기 위한 가장 좋은 방법은 역시 좋은 코드를 많이 보는 것 같습니다.</p>\n<p>요즘은 주요 대기업들에서도 오픈소스를 많이 공개하기 때문에, 깃허브를 조금만 뒤져보면 좋은 코드는 너무나 많이 있는 것 같습니다.</p>\n<p>위의 내용 모두 개인적인 견해인 점을 참고해주시면 감사하겠습니다.</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"h1","properties":{},"children":[{"type":"text","value":"Sooftware Coding - 좋은 코딩 습관 (네이밍)"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"깔끔한 코드를 짜기 위한 제가 생각하는 10가지 습관입니다."},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"\n※ 저의 개인적인 주관이 포함된 글입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"1. 변수, 클래스명에는 동사를 넣지 않는다"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"class"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"FeatureExtract"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"class"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"FeatureExtractor"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"work"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"worker"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"log"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"logger"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"변수, 클래스명은 다음과 같이 count, num_workers, image, user … 등 숫자, ~을 하는 객체, ~한 여부 (bool) 등이기 때문에\n동사보다는 명사가 가장 잘 어울린다고 생각합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"2.  함수명에는 동사를 넣는다"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"get_id"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"trainer"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"train"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"반면, 함수같은 경우는 ~을 하는 행동을 정의하는 것입니다. id를 받아오는 함수라고 하면, id()보다는\nget_id()과 같이 ~하다라는 의미가 담긴 명명이 잘 어울릴 것입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"3. 변수명에 굳이 관사를 넣지 않는다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"a_cat"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"cat"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"가장 좋은 변수명은 짧으면서도 효과적으로 의도를 전달하는 변수명입니다."},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"\n굳이 관사를 넣음으로 인해 변수명이 길어질 필요가 없습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"관사를 넣는다고 의도 전달이 더 명확하게 되는것도 아니기 때문에 변수명, 함수명, 클래스명에 대해서 특수한 경우를 제외하고는\n굳이 관사를 넣어줄 필요는 거의 없다고 생각힙니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"4. 변수명에 전치사는 최대한 생략한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"the_number_of_worker"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"num_workers"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"우리나라 사람들이 많이 하는 실수라고 합니다. number_of_worker 등과 같이, 전치사를 많이 넣습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"우리나라 말로 옮기자면, the_number_of_worker는 “worker의 수”입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"하지만, 간단하게 의도만 표현하는데 굳이 문법을 맞춰줄 필요는 없습니다. “worker의 수”보다는 간결하게 “worker수”라는 표현인"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"worker_num과 같은 표현이 더 간결하면서도 의도 전달에 부족하지 않을 것입니다. 참고로, 뭔가를 세거나 숫자를 표시하는 변수는 num_somethings 혹은 count_somethings (cnt_somethings) 와 같은 형식을 많이 사용합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"class"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Seq2seq\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"sentence_to_id"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" char2id"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"물론 위와 같이 “to”는 함수, 변수 등 여러모로 자주 쓰입니다. to는 짧으면서도 의도를 효과적으로 전달해주는 단어이기 때문입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"이와 같이 전치사를 최대한 줄이지만, 전치사를 씀으로, 더 깔끔하고, 효과적으로 의도 전달이 된다면 안 쓸 이유는 없습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"그리고 to 같은 경우는 2(two)와 발음의 유사성 때문에 char_to_id => char2id와 같이 많이 쓰입니다._to_라는 4개의 글자를 2라는 1개의 글자로 대체함으로써 더 짧은 네이밍이 된다는 장점도 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"5. 단수와 복수를 구분한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Example:: Python"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"text","value":"items "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"for"}]},{"type":"text","value":" item "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"items"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","function"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"우리나라 사람들이 많이들 신경쓰지 않는 부분이라고 합니다. 제가 굉장히 중요하게 생각하는 부분인데요,"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"단수와 복수를 구분해놓으면 코드를 읽기가 굉장히 쉬워집니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"단수형이라면 어떤 값 혹은 객체가 하나인 자료형, 복수형이라면 여러 값 혹은 객체가 들어있는 자료형임을 짐작하게 합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"실제로 다른 사람이 짠 코드를 볼 때, 단수형 복수형이 명확하게 구분된 코드와 구분이 되지 않은 코드를 읽어보면 그 차이를 선명하게 느낄 수 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"6. 사용하는 언어의 암묵적인 Rule을 지킨다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"CamelCase"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Java\n"},{"type":"element","tagName":"span","properties":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"snake_cake"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" c\n"},{"type":"element","tagName":"span","properties":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Hybrid"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" python"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"어떤 언어를 사용하게 되면, 대부분의 프로그래머들이 암묵적으로 지키는 Rule 혹은 언어에서 권장하는 형식 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"프로그램의 실행이나 결과에는 반영되지 않지만, 다른 사람들이 코드를 더 읽기 쉽게 만들어주는 규칙입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/42150335/184926983-b7939920-db95-42db-87e1-df50c6bc0e9e.png","width":400},"children":[]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"대표적으로 Java의 CamelCase가 있습니다. c언어나 파이썬은 camelCase와 snake_case를 섞어서 쓰곤 합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"아래는 c언어에서 가장 많이 쓰이는 컨벤션이라고 합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Struct              TitleCase\nStruct Members      lower_case or lowerCase\n\nEnum                ETitleCase\nEnum Members        ALL_CAPS or lowerCase\n\nPublic functions    pfx_TitleCase (pfx = two or three letter module prefix)\nPrivate functions   TitleCase\nTrivial variables   i,x,n,f etc...\nLocal variables     lower_case or lowerCase\nGlobal variables    g_lowerCase or g_lower_case (searchable by g_ prefix)"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"CamelCase Example"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"var: raiseValueError\nvar: sentenceToId"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"snake_case Example"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"var: raise_value_error\nvar: sentence_to_id"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"물론 위와 같은 사항들 모두 권장일 뿐, 꼭 지켜야 하는 것은 아닙니다만,\n아무래도 많은 개발자들이 따르는 규칙을 따른다면 여러모로 편리한 점이 있는 것 같습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"7. 통상적으로 사용되는 변수명/규칙을 사용한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"temp, obj, worker, num_somethings, count_somethings, flag, idx, is_condition, info, freq, token ... "}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"어떤 사람의 코드를 보더라도 꼭 등장하는 변수명들이 있습니다.\ntemp, flag, obj 등등.. 어디서나 많이 보이는 변수명도 있고,\nnum_somethings, count_somethings, is_condition과 같이 일정 형식으로 많이 쓰이는 변수명도 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"예를 들어 “워커의 수”라는 것을 변수명으로 만든다면 "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"num_workers"}]},{"type":"text","value":"와 같은 형식을 많이 사용합니다.\n한 프로젝트에 뭔가의 숫자를 담아두는 변수를 위와 같은 형식으로 통일해둔다면 코드 읽기가 많이 수월해집니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"특정 변수명들은 변수명만으로 어떤 역할을 할지를 예측할 수도 있고, 변수명의 형식을 보고 bool 타입일지, int 타입일지를 예측도 가능하게 해줍니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"자주 사용되는 변수명이나 형식 같은 경우는 어떤 분야인지에 따라서도 차이가 나기 때문에, 같은 분야의 여러 코드를 보게 되면 도움이 많이 됩니다.\n예를 들어 인공지능 분야의 경우에는 인공지능을 "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"model"}]},{"type":"text","value":"이라고 많이 표현하기 때문에, 이왕이면 변수명을 "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"model"}]},{"type":"text","value":"로 만들어주면\n코드를 파악 혹은 검색할 때 수월해집니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"요즘은 microsoft, ibm, google 등 세계적인 대기업들도 오픈소스를 공개하기 때문에, 세계적인 대기업들에서는 어떤 식으로 변수명을 구성하는지를 볼 수도 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"8. 상수는 모두 대문자로 표시해준다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"javascript"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-javascript"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" layer_size "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"L"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" main_width "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1024"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"MAIN_WIDTH"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1024"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" main_height "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"768"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"X"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"MAIN_HEIGHT"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"768"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","constant"]},"children":[{"type":"text","value":"O"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"값이 변하지 않는 상수라면, 값이 변하지 않는다는 것을 표시해주는 것이 좋습니다.\n제가 사용하는 언어들에서는 모두 위 규칙을 따르는 것 같은데, 혹시 본인이 사용하는 언어가\n다른 규칙을 따른다면, 해당 규칙을 따라주시면 됩니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"9. 로직이 끝나면 한 줄 띄어준다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"같은 함수 내에서라도, 분명 여러 로직이 있습니다.\n변수를 선언하는 부분, 혹은 계산하는 부분이 있을 것이고,\nfor, while 문 같이 반복분을 도는 경우도 있을 것입니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"하나의 함수는 한 화면안에 모두 들어와야 된다라고 하며 모든 코드를 따닥따닥 붙여놓는 분들이 계십니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"분명 한 화면 안에 들어오는 함수가 좋은 함수지만, 이를 위해서 가독성을 포기해야 한다면,\n저는 한 화면이 넘어가더라도 한 줄씩 띄어줌으로써 로직이 분리되는 코드를 지향합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"10. 코드에 규칙이 있어야 한다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"위의 9가지 규칙 다 안 지키더라도, 네이밍과 코드에는 꼭 일정한 규칙이 있어야 합니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"리스트는 뒤에 _list를 붙이다던지, class는 두 번째 글자만 대문자라던지,\n어떤 규칙이던 규칙적이기만 하면 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"그나마"}]},{"type":"text","value":" 괜찮습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"최악은 모든 네이밍이 지멋대로이고, 어떤 규칙도 찾아볼 수 없다면, 그 코드는 아마\n빠른 시일내에 다시 짜야될 가능성이 굉장히 높습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"이상으로 제가 생각하는 깔끔한 코드를 짜는 10가지 규칙이였습니다.\n생각나는대로 작성해서 빠트린 부분이 있을수도 있습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"깔끔한 코드를 짜기 위한 가장 좋은 방법은 역시 좋은 코드를 많이 보는 것 같습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"요즘은 주요 대기업들에서도 오픈소스를 많이 공개하기 때문에, 깃허브를 조금만 뒤져보면 좋은 코드는 너무나 많이 있는 것 같습니다."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"위의 내용 모두 개인적인 견해인 점을 참고해주시면 감사하겠습니다."}]}],"data":{"quirksMode":false}},"excerpt":"Sooftware Coding - 좋은 코딩 습관 (네이밍) 깔끔한 코드를 짜기 위한 제가 생각하는 10가지 습관입니다. ※ 저의 개인적인 주관이 포함된 글입니다. 1. 변수, 클래스명에는 동사를 넣지 않는다 변수, 클래스명은 다음과 같이 count…","fields":{"readingTime":{"text":"12 min read"}},"frontmatter":{"title":"Sooftware Coding - 좋은 코딩 습관 (네이밍)","userDate":"17 August 2022","date":"2022-08-17T17:00:00.000Z","tags":["record"],"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","backgroundColor":"#c8d8d8","images":{"fallback":{"src":"/static/5d6d01d6e91f950d2e8c9bbde3f7fcd8/32a26/coding-habit.png","srcSet":"/static/5d6d01d6e91f950d2e8c9bbde3f7fcd8/ea847/coding-habit.png 750w,\n/static/5d6d01d6e91f950d2e8c9bbde3f7fcd8/32a26/coding-habit.png 1024w","sizes":"100vw"},"sources":[{"srcSet":"/static/5d6d01d6e91f950d2e8c9bbde3f7fcd8/57584/coding-habit.webp 750w,\n/static/5d6d01d6e91f950d2e8c9bbde3f7fcd8/16474/coding-habit.webp 1024w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6669921875}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"children":[{"gatsbyImageData":{"layout":"fullWidth","backgroundColor":"#282838","images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/0d6f4/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/248f9/soohwan.png 40w,\n/static/a9e6b445142b247ee4cfa66155398bb2/fd435/soohwan.png 80w,\n/static/a9e6b445142b247ee4cfa66155398bb2/0d6f4/soohwan.png 120w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/e7f45/soohwan.webp 40w,\n/static/a9e6b445142b247ee4cfa66155398bb2/589ec/soohwan.webp 80w,\n/static/a9e6b445142b247ee4cfa66155398bb2/71a38/soohwan.webp 120w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6833333333333333}}]}}]}},"relatedPosts":{"totalCount":29,"edges":[{"node":{"id":"20974a2e-20ef-561a-a9b6-8f3106003dcb","excerpt":"Throwback 2025 2020년 회고 글 2021년 회고 글 2023년 회고 글 2024년 회고 글 2025년 회고 글입니다! 202…","frontmatter":{"title":"Throwback 2025","date":"2026-01-01T10:00:00.000Z"},"fields":{"readingTime":{"text":"16 min read"},"slug":"/2025/"}}},{"node":{"id":"55c61d0d-07d2-5e15-a738-9f5783f775b7","excerpt":"Throwback 2024 Throwback 2024 2020년 회고 글 2021년 회고 글 2023년 회고 글 어느덧 4번째 1년 회고글이자, 5년차 회고글입니다! 2024년은 유독 길게 느껴졌습니다. 202…","frontmatter":{"title":"Throwback 2024","date":"2025-01-01T10:00:00.000Z"},"fields":{"readingTime":{"text":"22 min read"},"slug":"/2024/"}}},{"node":{"id":"3d7bb3cb-5c6b-5ed5-8c2d-89f4f8de0979","excerpt":"AI Joker 공개 이번에 회사에서 작업한 A.I. Joker 모델을 공개했습니다! Joker 모델은 한국어 Hate Speech를 생성하는 모델입니다. 최근 많은 LLM들이 나오고 있는 만큼 해당 모델들의 Safety…","frontmatter":{"title":"AI Joker 공개","date":"2024-07-10T10:00:00.000Z"},"fields":{"readingTime":{"text":"2 min read"},"slug":"/joker/"}}},{"node":{"id":"09fea0f0-5add-51e3-be6b-c690b350a41d","excerpt":"GitHub Follow 500 달성!! 최근에 깃허브 팔로워 500명을 달성했습니다! 🎉🎉 창업 이후에는 사실 깃허브 활동을 못하고 있었는데도, 꾸준히 팔로워가 늘어서 어느새 50…","frontmatter":{"title":"GitHub Follow 500 달성!!","date":"2024-04-15T10:00:00.000Z"},"fields":{"readingTime":{"text":"1 min read"},"slug":"/github_follow_500/"}}},{"node":{"id":"c3a997e6-aeb2-541e-9ecf-c29d50cc18ba","excerpt":"튜닙, \bAICA H100 * 8대 GPU 지원 선정 저희 튜닙이 인공지능산업융합사업단(AICA)에서 지원하는 ‘2024년 AI 데이터센터 서비스’ 사업에 선정되면서 1년간 H100 *…","frontmatter":{"title":"튜닙, \bAICA H100 * 8대 GPU 지원 선정","date":"2024-02-24T14:00:00.000Z"},"fields":{"readingTime":{"text":"2 min read"},"slug":"/aica-h100/"}}}]}},"pageContext":{"slug":"/coding-habit/","prev":{"excerpt":"Sooftware Pandas - 다중 딕셔너리를 Pandas DataFrame으로! 가끔 데이터를 요렇게 저렇게 정리하다가보면, 데이터를 멀티인덱싱(Multi-Indexing…","frontmatter":{"title":"Sooftware Pandas - 다중 딕셔너리를 Pandas DataFrame으로!","tags":["toolkit","python"],"date":"2022-08-16T10:00:00.000Z","draft":false,"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAADrElEQVQ4yx2QbUwUdACH/xzccdwdHCpBHQctCiQFDdABlkgvWCIgiHdN4Dggjrfj9eAAOQ5QjzOPY7AIFkISaINWkhBBgrBREhvkhpYtXW651mK12Zqu2db2tPHx92zP8+En9kb7YtS9gSk3FYMuhZzMZHrtldiqi8nTH8NuNtJaasBRaaCroQRXUwOOUxZ6T1s5U2eiuawAp7WKj3o6GR9wIwyZkRj1yZypL+ZSTxsuezVfTQzRbKkmJjaWdms9H5x34bY3021vxd3moLbCjNlUjM1swmmtpqe9mX5nBwNnbYhL73czNTaEPuMtpj8e5q/NX3ny+BH8+w8b66vUVFZQWpRP+pEj1JfXcs7uxJhfRN7JfNIydeTos+loqOZil4Ox7k7ElQ/7GR/sRwjB4Htu/nv8kM1f7nFzdYXlhWvcWlshPjEOiZcn/tu28cqBg2RlHict4zglplIudLvpbGmkqdaMvbEJ0VJppKpQR9Hb6fz24xrzX0xSVV7B339sMnpxhAd3f6CgwMCOwAA02iAUShVBGg3RMTFkZaTTWltHS0Mtubk5mE0GRHt9GWajnst9Th7+dINvZieZmbzCJ6OjLM3OcP/WGvtj43gmNAS1vxIfuRylny8KP1+E8MTTS0bUnj0kHUrmWGocwmWzUJqXTYkhm/TXD9B5qob1+atYS/Loba1heWqClevXWF2+ztLcFItzM3S2tWIpNxH+fDhyuQJDZionshIptSQh3K1WDLpUIl54DiE8tr7Uap4mOSGGQecpfr93m/WvFxno6eLG/Jds/nyHRw/u8uT+BhtLV8lIPUTK0QgKbRFknHsKUVGoJ1eXSmhICD4+SlQq363ovuhdfDf/OasL02z3999iMpmc9NcOcnPlU75fGef20jAp9nASLf68XK9GU+aN6DvTRpnxBMHBGnx8fFEqVFvyOyd1/HlnheHzzVtbpVQjlclRSFVEv+lHcpU/eudOQszeqBsF2nYf0py7EGM9LvocbcS+tBcPiQylUoXEU0pEWBjzE0MsXnASGaxB6itDLlMgVXsRr9uB0RFOQouKw04J8TYF+zsCia/bjvh2bprZyyO8a2vi2dBQhJAhl/ohJF5og0KwNr7K4SY1keVSooq8CaiQsLtORoLLi9jTcnbWCaIscg461bxokSDWFxeY/2ycqZFBLGWFaOOkBO6XcbRhBweqFWhLBdFnPdh91pMIh4SIZgX77ArC7B7EubyIaw8g2a0lqduP8CZv/gcOmSo3EdXpOAAAAABJRU5ErkJggg=="},"images":{"fallback":{"src":"/static/e47d2ef3535be4a0ce6c48e0e69be1fd/093ee/pandas.png","srcSet":"/static/e47d2ef3535be4a0ce6c48e0e69be1fd/ea847/pandas.png 750w,\n/static/e47d2ef3535be4a0ce6c48e0e69be1fd/4a806/pandas.png 1080w,\n/static/e47d2ef3535be4a0ce6c48e0e69be1fd/093ee/pandas.png 1098w","sizes":"100vw"},"sources":[{"srcSet":"/static/e47d2ef3535be4a0ce6c48e0e69be1fd/57584/pandas.webp 750w,\n/static/e47d2ef3535be4a0ce6c48e0e69be1fd/984df/pandas.webp 1080w,\n/static/e47d2ef3535be4a0ce6c48e0e69be1fd/90b53/pandas.webp 1098w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6666666666666666}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAADjElEQVQ4y23Oy48TdQDA8TExEaTttvSBfdHddru7bWc6bWd+8+i0u23n0SdlBRQXZGHDgiiLDwgqXjCIJEaC8cLBmHgwUU9EYzRqQuLJi/4NJB6NF+8evgbOHr7XT76SM5ix7s4QnRHnnm9yZzvBTIswN8JcP5bC67ZoWi7CdtFsn5bloZo+dSNAMYbIIqCmD6mJIVXdR3J6I7r9IQ3T59pZlW+uxzndCbPdC/HZXoq3TikowsfqBOjOmFZ7SrM9p2kfRbXn1O0jKNbsSbJ5BMnu9Gl3+qiiz4OPSvz0QRLHFGwOZH6+neLHT5YRbRerM0J0JrTas/8FZXNKzZgg2es+ZtvDdbs8+iHJl+9lWVP7OG2br26k+PvXJCfmFqoYIpwhTXtMwxpTN0coxhjFmCKbE2rGmKoYPQY9qi2fyzsq//4e5sNXi5TlLqbd5t6lPH/9kuDTG2usqgGi7dO0hzSsIXUzQDaGKGKMLEZUxZCKCJB02+PUpMH9vQwP7ybYnSxyfNrjwumA3dEiD94v8cfnK7xzWsbpujQtH9X0qBs+iuEjC5+a7lPVPSqai9SyelyYFbjkh5hqC3TkKOutLON2nkYpgtuMcT6IszdPslo8SLlcpmUH1A0XRQyQhUtNuFQ1l4o2QFI1h3OTVXbcg+grIfSVBRqlEGopgrYSRi0e4KiIse1mScSeopA/iLADmoZL3Rgg631q+oCq1qeq95FOzhQefpzn7eMpBmqcoBVj04pzwkky0eNMRYIdL8F3twusLe2nslrE6g5pGX1U8/FhD1nvUW1tUJK7SH9+n+DR1zF2vQSvH0lz88wiV45V2J1WuHqsxLXNAnuzNJdfWmK5/BylUgFhb6DZAxR9g7rpIos+Wttja2uE9M9vYb69k+DqfJErWzLOuoVqdKlpDo4jODms4zlFckuHObx4iHwuRi6fYqmYY201x/LqMrnFDNl8gRvvukhNdT9394rcOlNFMxrUhYFmW9imTEsp0mhWKC2nWSokyWSiFA7HSKcXiEb34fayyLVniUQk8rmn2drKIqlqiNcuVrh2ymQS1Nh8sc/GoMEbl7u8eb5D1yqTzkRJJsOkkiGymQVShyLE4yHWKnEq1RjpTIhmI8r2y3mkyloI38uha1n6bpVXrkw5+4LD/S/2uHnrIopaJhZ9hmQqwqHkAXJP8BDhyD46ZoWdMxOGcx/PNfECk/8AbxXdRjRliPoAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/34f77/soohwan.png 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/a94f6/soohwan.png 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png 1148w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/38420/soohwan.webp 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7470d/soohwan.webp 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/b5ef6/soohwan.webp 1148w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6829268292682927}}}}]},"fields":{"readingTime":{"text":"3 min read"},"layout":"","slug":"/multiple-dict-to-df/"}},"next":{"excerpt":"N행시를 지어주는 인공지능이 있다?! TUNiBridge N행시 서비스! 한국 사람이라면 누구나 한 번쯤은 N행시를 만들어본 경험이 있을겁니다. 예능에서도 많이 등장하고, 회사에서, 군대에서, 혹은 연인 이름으로 N…","frontmatter":{"title":"N행시를 지어주는 인공지능이 있다?! TUNiBridge N행시 서비스!","tags":["nlp","service"],"date":"2022-08-19T10:00:00.000Z","draft":null,"excerpt":null,"image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACxklEQVQ4y3WTS2xMYRTHT6ZRbBBphA2LriQWEkI8Vo0iHhFEEAvReERFKhYsiIiNBAsWZFLx2HnEIEpFpdWmaWeCGTPtVDsefUyrrWFm7p17R3vnzr0/uXemlHBWX/Kd3+87X/I/AmDbFtgmlgWZjxfRIhvQBuv5Xzl3Tk/m4yWXcVjbtt07cWXFyo1baOFloO5C+3CQMT1Hpu85yWgtauwG2ZEAhgF6z95CT3g5OeM377jEOZhGHu1TLalwDam6aRiNwuirdSj+3fTVr0B5UwnD+xltraT/1QmSoaNuT6puOulwDdrn65hFseTGTZTQNvLvBboE840w6JvDtxdLIFlDInqSYOAWat8R1Oge4s0r+dq8huH6heReC7wXl1VC23FconSfxvogEC/DDHsg6iH/TsiGK+D7UZr8Xi43JxiJneVFcy2tPX18by/High2p6fAxMtch9J9BtECsyEm2BHBipagtZegO995PgUGymkMebkdGEeLV3P+4TUexyAZrCLbIGTaS13GYR2HFihDrKBAp4d8xIMZEoh4+HZXGPIfJ/9lF9mOeYx07cQMCsMd6+n6/JRE61ySPoFwgXFY1/FWEL2tFKKCHS1Fb5uC/lTIPRIeXK3AVxcAvQHSZyBxAEa2YPQfQ42sRrkv/HgmLuOwjkNvm4qoAw/QAzOw3wo0CcMPF5N+uYoen7BwUTlrK3Zwo+YUty57uXDlDte819E75/PVv4/Ek6XQKC6rB2aSGfAVYjOmDpKJXSLVspXsUAvaaDf5VqHXvwDvuUP0Vm7m0ZqNVB/eRNu9WejB5Yw7eYw3kG7Z5rJj6tBEsPO/gzlpG5TeBgz/XOifD+kqUKphqAKjaw/Z1OA/GccldjHhtm0WV8hi4pEfqkK65ybKu+OkIqdJ9z7DGDN/wROcPcEVJrSLDfavfXQfsf6c/O9JJjOTHT8B8jZXHsRkDHMAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/690ced1b8ce9fc94f26b4a6e5cb1c710/feab0/n-emoji.png","srcSet":"/static/690ced1b8ce9fc94f26b4a6e5cb1c710/f118f/n-emoji.png 750w,\n/static/690ced1b8ce9fc94f26b4a6e5cb1c710/feab0/n-emoji.png 1000w","sizes":"100vw"},"sources":[{"srcSet":"/static/690ced1b8ce9fc94f26b4a6e5cb1c710/d2a19/n-emoji.webp 750w,\n/static/690ced1b8ce9fc94f26b4a6e5cb1c710/bd81f/n-emoji.webp 1000w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.668}}},"author":[{"id":"Soohwan Kim","bio":"Co-founder/A.I. engineer at TUNiB.","avatar":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","placeholder":{"fallback":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAADjElEQVQ4y23Oy48TdQDA8TExEaTttvSBfdHddru7bWc6bWd+8+i0u23n0SdlBRQXZGHDgiiLDwgqXjCIJEaC8cLBmHgwUU9EYzRqQuLJi/4NJB6NF+8evgbOHr7XT76SM5ix7s4QnRHnnm9yZzvBTIswN8JcP5bC67ZoWi7CdtFsn5bloZo+dSNAMYbIIqCmD6mJIVXdR3J6I7r9IQ3T59pZlW+uxzndCbPdC/HZXoq3TikowsfqBOjOmFZ7SrM9p2kfRbXn1O0jKNbsSbJ5BMnu9Gl3+qiiz4OPSvz0QRLHFGwOZH6+neLHT5YRbRerM0J0JrTas/8FZXNKzZgg2es+ZtvDdbs8+iHJl+9lWVP7OG2br26k+PvXJCfmFqoYIpwhTXtMwxpTN0coxhjFmCKbE2rGmKoYPQY9qi2fyzsq//4e5sNXi5TlLqbd5t6lPH/9kuDTG2usqgGi7dO0hzSsIXUzQDaGKGKMLEZUxZCKCJB02+PUpMH9vQwP7ybYnSxyfNrjwumA3dEiD94v8cfnK7xzWsbpujQtH9X0qBs+iuEjC5+a7lPVPSqai9SyelyYFbjkh5hqC3TkKOutLON2nkYpgtuMcT6IszdPslo8SLlcpmUH1A0XRQyQhUtNuFQ1l4o2QFI1h3OTVXbcg+grIfSVBRqlEGopgrYSRi0e4KiIse1mScSeopA/iLADmoZL3Rgg631q+oCq1qeq95FOzhQefpzn7eMpBmqcoBVj04pzwkky0eNMRYIdL8F3twusLe2nslrE6g5pGX1U8/FhD1nvUW1tUJK7SH9+n+DR1zF2vQSvH0lz88wiV45V2J1WuHqsxLXNAnuzNJdfWmK5/BylUgFhb6DZAxR9g7rpIos+Wttja2uE9M9vYb69k+DqfJErWzLOuoVqdKlpDo4jODms4zlFckuHObx4iHwuRi6fYqmYY201x/LqMrnFDNl8gRvvukhNdT9394rcOlNFMxrUhYFmW9imTEsp0mhWKC2nWSokyWSiFA7HSKcXiEb34fayyLVniUQk8rmn2drKIqlqiNcuVrh2ymQS1Nh8sc/GoMEbl7u8eb5D1yqTzkRJJsOkkiGymQVShyLE4yHWKnEq1RjpTIhmI8r2y3mkyloI38uha1n6bpVXrkw5+4LD/S/2uHnrIopaJhZ9hmQqwqHkAXJP8BDhyD46ZoWdMxOGcx/PNfECk/8AbxXdRjRliPoAAAAASUVORK5CYII="},"images":{"fallback":{"src":"/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png","srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/34f77/soohwan.png 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/a94f6/soohwan.png 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7cf1f/soohwan.png 1148w","sizes":"100vw"},"sources":[{"srcSet":"/static/a9e6b445142b247ee4cfa66155398bb2/38420/soohwan.webp 750w,\n/static/a9e6b445142b247ee4cfa66155398bb2/7470d/soohwan.webp 1080w,\n/static/a9e6b445142b247ee4cfa66155398bb2/b5ef6/soohwan.webp 1148w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.6829268292682927}}}}]},"fields":{"readingTime":{"text":"3 min read"},"layout":"post","slug":"/nverse/"}},"primaryTag":"record"}},
    "staticQueryHashes": ["3170763342","3229353822"]}