오늘은 개발을 진행하면서 저도 공감을 많이했고, 몰랐던 부분에 대해서 새롭게 알게 된 글이 있어서 소개해드리려고 글을 작성하게 되었습니다. 이 내용은 이전에 커리어리에 올라왔었고, 커리어리에 글을 올려주신 분도 다른 미디엄 링크를 통해서 이 컨텐츠를 알게 된 내용이다 보니 두 개의 링크 모두 하단에 달아드리려고 합니다. 처음 개발을 시작하면 여러 가지 의구심이 들기도 합니다. '이런 것이 도움이 될까?' 혹은 '저런 것도 한다고?' 까지. 대부분은 시간이 지나면 자연스레 알게 되긴 합니다. 이번에는 '코딩의 28가지 법칙'을 들고 왔습니다. 이 시리즈는 3편까지 이어집니다. 1️⃣ 질문 하기. 질문하는 것을 두려워 하지 마세요. 제가 확실이 아는 게 하나 있다면, 모든 것을 다 알 수는 없다는 것입니다...

Author: 니용 최근의 트렌드로 IT직군의 개발자를 영입하기 위해 다양한 사이트에서 코딩 테스트를 진행하고 있습니다. 저도 다방면으로 준비하고 또 시대의 흐름에 뒤쳐지지 않기 위해 코딩 테스트가 있을 때면 여러 번 시도를 하면서 계속 제 부족하였던 부분이나 새로운 알고리즘을 탐색하기 위해 다양한 시도를 하였습니다. 코딩 테스트를 준비하는 것은 어렵지 않습니다. 기초 지식과 컴퓨터만 있으면 됩니다. 그 기초 지식을 어떻게 도입하느냐에 따라 결과가 달라지게 됩니다. 그리고 내가 자신 있는 언어가 자바스크립트이다 하면 기본적으로 WAS 설치와 실시간으로 개발 결과가 출력되는 콘솔창은 기본적으로 준비하고 있어야 합니다. 코딩 테스트에서 주로 체크하는 것은 3가지입니다. 1. 정확성 입력값을 받아 문제에서 요..

Author: 니용 다른 글에서도 얘기했었지만 지금은 4년정도 개발자로 일하고 있는 글쓴이입니다. 짧다고 하면 짧은 기간이지만 그동안 개발하면서 매번 새롭고 다르게 느끼는 것도 많았습니다. 이번 글에서는 지금까지 근무하면서 느꼈던 점이나 일하면서 좋았던 점을 간단하게 기술해보려고 해요. 사실 4년이 개발업계에서 오래된 경력은 아닙니다. 컴퓨터 역사는 정말 오래되었고 컴퓨터 프로그래밍의 역사에 한 획을 그은 선배님들도 현직으로 근무하시는 분들도 정말 많거든요. 제가 이전에 학교를 다녔을 때는 보통 컴퓨터공학과에서 필수 교양과목으로 컴퓨터의 역사와 대표적인 언어인 C언어를 기본적으로 다루곤 했죠. 근데 신기한것은 C가 컴퓨터(Computer)의 C를 의미하는 것이 아닙니다. 아시는 분들은 아시겠지만 위 이미..

Author: 니용 (개인적인 견해가 섞여 있는 글입니다) 컴퓨터공학과를 나왔지만 프로그래밍에 큰 관심이 없었습니다. 졸업 후에는 사실 어떻게든 취업만 하면 된다는 생각으로 학교를 졸업하였는데요, 막상 취업시즌이 도래하니 서류 전형 및 면접에서 줄줄이 탈락하더라고요. 계속 놀고만 있기는 애매하여 학원을 알아보았습니다. 어떻게 생각해보면 도피처라고 할 수 있겠네요. 저는 학원에서 웹과 앱을 같이 개발하는 교육과정을 이수하였습니다. 자그마치 반년이라는 짧지만 긴 시간을 한 번 투자하고자 했죠. 교육을 진행하게 되면서 학교에서 배우지 않았던 실무를 접하게 되었고, 그 실무가 저에게는 새롭게 다가오는 기회이자 공간이었습니다. 교육 과정 중에 취업에 성공을 하신 분들도 있었고, 조금 더 공부가 필요하다 생각하고 ..
이번 글에서는 Object에서 다른 타입으로 변환하는 내용을 작성해보려 합니다. Object to String public String change(Object obj) { return obj.toString(); } obj 가 null 일수도 있는 경우 return obj != null ? obj.toString() : ""; Object to Long (Integer, Double도 사용) 보통은 아래 방법 많이 쓰죠. public Long change(Object obj) { return Long.parseLong(obj.toString()); } Number 타입을 사용하면 이런 방법도 있답니다. public Long change(Object obj) { return ((Number) obj).l..

지난 글에서 Component를 만드는 방법을 알아보았다면 이번 글에서는 본격적으로 JavaScript가 어떻게 적용되는지 살펴보려고 합니다. 가장 먼저 WatchBody부분에 div를 하나 추가하여 시계가 들어갈 위치를 설정합니다. 클래스명을 js-clock으로 추가한 후 위의 div를 선택할 수 있는 선택자를 생성합니다. 이제 선택자를 추가하였다면 스크립트에서 시간에 해당하는 함수를 넣어주어야 합니다. 이전에 JavaScript의 기본 문법에서 확인할 수 있듯이 document.querySelector는 아래와 같습니다. querySelector(".className") : 클래스명이 className으로 정의된 태그를 선택 ( == getElementByClassName와 같은 역할) querySe..

Author: 주니용 앞의 글에서 블록들을 연결시켜주는 로직을 작성해보았습니다. 하지만, 이 상태로는 빈 데이터가 들어오는 경우에도 체인이 되는 형태이고, 또 같은 데이터가 동시에 들어와 해시값이 같더라도 문제가 발생하죠. 그렇기 때문에 검증하는 단계를 추가하여야 합니다. 마지막으로 추가하는 검증 소스는 아래와 같습니다. 먼저 Block 클래스 내부에 타입을 검증할 수 있는 로직을 추가해보려 합니다. static checkStruct = (block: Block): boolean => typeof block.index === "number" && typeof block.hash === "string" && typeof block.data === "string"; 자, 이제 typeof 함수를 이용하여 각..

Author: 주니용 이전에 프로토타입을 만들었다면 이제 본격적으로 활용가치가 있는 함수들을 직접 만들어보아야 하겠습니다. 소스를 간단하게 먼저 수정하고 진행하도록 하겠습니다. import * as CryptoJS from "crypto-js"; class Block { static calcBlockHash = (index: number, hash: string, data: string, ts: number): string => CryptoJS.SHA256(`${index}${hash}${ts}${data}`).toString(); private index: number; private hash: string; private prevHash: string; private data: string; priv..