목록전체 글 (57)
독도갈매기의 개발 블로그
코드 컴퓨터가 알아들을 수 있는 언어를 일컫는 말. 혹은, 컴퓨터도 알아들을 수 있을 만큼 알고리즘을 논리적으로 작성한 것을 말한다. 누군가 "코드" 에 대해 검색한다면, 한번 쯤 봤을 수도 있는 내용이다. 그러나, 나는 위 정의에 대해 동의하지 않는다. 오늘은 이에 대한 주관적인 이야기를 해보려 한다. (이는 매우 주관적인 이야기이기 때문에, 근거 있는 반론이라면 항상 환영입니다. ) 코드는 컴퓨터가 주체가 되어서는 안된다. 코드는 개발자가 작성하며, 오로지 개발자를 위해 존재하는 것이 코드이다. 우리는 무엇을 위해 코드를 작성하는가? '개발자는 코드를 컴퓨터에 내가 원하는 것 or 고객이 원하는 것을 구현하기 위해 코드를 작성하곤 한다.' 여기서 주체는 무엇인가? 많이들 여기서 생각하는 것은 "원하는..
3-Way Merge Commit History master Branch의 포인터는 C2 Commit에 있습니다. 이후 우리는 login 기능에 이슈가 발생했다는 말을 들어 iss53 Branch를 생성합니다. 갑자기 급히 고쳐야 하는 버그가 발생해 hotfix Branch를 생성 해 버그를 고쳐야 합니다. success HotFix hotfix에서 무사히 버그를 해결하여 Fast-Forward하여 master의 포인터는 C4 Commit으로 향하게 됩니다.이후 hotfix는 끝났기 때문에 hotfix branch는 삭제합니다. C2가 부모 Commit인 iss53은 계속 로그인 관련 이슈를 해결합니다. Difference Parent Commit 로그인 관련 이슈를 해결한 iss53 Branch는 ma..
정적 타입 언어로서의 장점 Spring Framework 외에도 node.js의 Express, Python의 Django, Flask가 있는데 왜 굳이 복잡하게 느껴지는 Spring을 사용해야 할까요? 그리고 왜 Java는 복잡하다고 느껴질까요? 대표적인 이유를 뽑자면 JS는 동적 타입 언어이기 때문입니다. const arr1 = [1, 2, 3]; const arr2 = ['1', '2', '3', '4']; const reduceArr = arr => arr.reduce((l, r) => l + r); reduceArr(arr1); // 6 reduceArr(arr2); // '123' 우리는 숫자를 모두 더 한 값을 retur..