대한민국에서 ‘비판’ 이라는 단어는 낯설다. 때로는 금기시 되기도 한다. 학창시절 내신과 수능의 경쟁에서 옆에 있는 친구를 이기기 위해서 누군가의 의견을 ‘비판’할 시간과 여유가 없었다는 건 백번 양보해서 그렇다고 쳐도, 성인이 된 이후도 우리는 다른 사람과 비교는 참 잘하면서, 나와 다른 생각에 대한 건강한 비판의 목소리를 내는 사람들을 찾아보기는 어렵다. 여기서 한 가지 짚고 넘어갈 부분이 나는 불평불만과 비판은 다르다고 생각하는데, 전자는 구체적인 해결 방향이나 방법에 대한 고민 없이 단순한 현재 상황에 대한 불만족을 표현하는 것에 그치는 것이고, 후자는 그 불만족스러운 상황에서 문제점이 무엇이며 그것에 대해서 어떤 방법으로 해결할 수 있을 것인지에 대한 충분한 고민 후 의견을 내놓거나 행동으로 이..
전체 글
안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.오늘은 타입스크립트의 제어문, 연산자, 함수에 대해서 공부한 내용을 정리해 보려고 한다. 참고로 자바스크립트에 나오는 문법과 겹치는 부분은 생략을 하고 타입스크립트에서 새롭게 추가되거나 변경된 문법들에 대해서만 다루려고 한다. 제어문 타입스크립트에서는 자바스크립트에서 사용하는 if문 및 switch문을 사용할 수 있다. if문에서 조금 헷갈릴 수 있는 부분 하나만 짚고 넘어간다. 타입스크립트에서 숫자 타입인데 숫자가 0이면 false를 나타내고, 0이 아닌 나머지 값은 true를 나타낸다. 문자열의 경우 빈 값은 false이고 값이 있으면 true이다. 아래의 예제를 참고하자. let text: string = ""; let statusActive: number = 0; let isEnabled: boo..
타입스크립트의 변수 선언 타입스크립트에서 변수 선언 방식은 var, const, let 이렇게 세 가지가 있다. 1. var 전역 공간이나 함수 내에서 변수를 선언할 때 var 선언자를 사용한다. var 로 선언된 변수는 다음과 같은 두 가지 특성이 있다. 첫 번째는 호이스팅(Hoisting)이다. 호이스팅은 선언한 변수가 스코프의 최상위로 끌어올림 되는 현상이다. 두 번째는 함수 레벨 스코프(function level scope)를 지원한다는 점이다. 이는 함수 내에서 선언한 변수는 함수 내에서만 유효하고 함수 외부에서는 참조할 수 없음을 의미한다. // var는 함수 레벨 스코프를 지원 var myName = "sad"; function functionLevel() { var myName = "hap..
타입스크립트란? 타입스크립트는 MS에서 개발하고 관리하는 오픈소스 프로그래밍 언어로 어떤 브라우저나 호스트, 운영체제에서도 동작한다. 타입스크립트는 자바스크립트의 상위 집합으로서 ECMA의 최신 표준을 충분히 지원한다. 타입이라는 특징을 가지고 ES7이하의 표준을 포함하고 있다. 타입스크립트는 ES5를 포함하는 집합이기 때문에 기존의 ES5 자바스크립트 문법을 그대로 사용할 수 있다. 또한, ES6의 새로운 기능들을 사용하기 위해 Babel과 같은 별도 트랜스파일러를 사용하지 않아도 ES6의 새로운 기능을 기존의 자바스크립트 엔진에서 사용할 수 있다. 타입스크립트의 장점은 정적 타입 언어(static type language)이기 때문에 컴파일 시 시간이 조금 걸리더라도 안정성을 보장한다는 점이다. 자바..
당신이 대학을 다니고 있다면, 아니면 곧 다닐 예정이라면 다들 한 번씩쯤 해 보았을 질문이다. 실제로 2013년 경에 EBS에서 해당 주제로 다큐멘터리가 만들어 진 적도 있었다. 나는 당시 스무살이었는데, 아직 열심히 놀기 바쁜 시기어서 그 다큐에 나왔던 선배들의 이야기가 크게 와 닿지는 않았던 것 같다. 그렇게 어찌어찌 7년 정도의 시간이 흘렀고, 나는 현재 대학교 졸업이 보름도 안 남은 상황에 놓여 있다. 코로나 바이러스로 졸업식도 취소되고, 학위 가운도 대여가 될지 말지 모르는 (엄청 화가 나는) 상황속에서 나는 졸업할 때 즈음 발견한 우리가 대학을 가는 의미에 대해 끄적여 보고자 한다. 지극히 주관적인 내 생각이다. 나는 대학에 입학할 때 신소재공학부라는 전공으로 입학을 했다. 솔직히 뭔지 잘 모..
안녕하세요. 메탈엔진입니다. 오늘은 웨스톤사의 W20 이어폰을 리뷰해 보려고 합니다. 웨스톤 이어폰을 구매하기 전까지, 저는 SHURE se-115, 소니 WH-H800, 보스 Soundsport Free 이렇게 최근에 써 보았던 것 같아요. 물론 그 이전에도 이어폰은 많이 썼지만... 가장 최근에 구매한 3개만 적어 보았습니다. 우선 저는 무선 이어폰을 쓰면서 정말 편리함은 있지만, 뭔가 유선 이어폰이 주는 깊이있는 사운드가 부족하다는 느낌을 받았던 것 같아요. 그래서 제가 가진 이어폰 중에 가장 큰 돈을 지불하고, 웨스톤 W20을 구매하였습니다. 웨스톤은 1959년 미국에서 보청기 등 청각 관리 제품을 만드는 회사로 시작하였습니다. 그러다가 1985년 커스텀 인이어를 생산하기 시작했고 그 이후로 BA..
JavaScript ES6에서 기존의 ES5와 비교해 보았을 때 많은 변화가 생겼다. 그 중의 하나는 ES6에서 컴포넌트 정의를 위한 모듈 형태를 지원한다는 것이다. 이 과정에서 기존의 자바스크립트에서 모듈을 정의한 방법인 AMD, CommonJS와는 다른 방식으로 모듈을 사용하게 되었다. 바로 import/export 문을 통해서 언어 내부적으로 자바스크립트 모듈 의존성을 지원하게 된 것이다. 이 글은 (과거의 나처럼) 기존의 CommonJS 방식의 require로 모듈을 불러오는 방식과 ES6의 import로 모듈을 불러오는 방식을 혼동하는 사람들을 위해서 작성하게 되었다. 먼저 기존의 CommonJS 방식의 모듈 사용 방식과 비교해 보았을 때 ES6 방식이 가진 장단점을 살펴보고 가자. ES6 방식..
이번에도 내 이야기를 해 보려고 한다 ㅎㅎ 나는 작년 하반기 취업 준비를 했었다. 약 4개월 정도(8월 ~ 11월) 했던 것 같다. 8월에 대학교를 수료 상태로 만들어 놓고 졸업을 한 학기 유예했다. 학점을 다 채우고 바로 졸업을 하는 것이 좋은지, 취업 될 때 까지 졸업을 유예하는 게 좋은지는 아직 잘 모르겠다. 일장일단이 있는 것 같다. 나같은 경우는 졸업식이 2월에만 있는 학교를 다녀서, 졸업을 당장 빨리 할 이유가 딱히 없었기에.. 미뤘다 ㅎ 8월에 열심히 이력서 및 포트폴리오를 만들었다. 그리고 원서를 넣을 때 마다 수정했다 ㅎㅎ 아래는 내가 11월쯤 수정한 마지막 이력서 버전이다. 되게 많은 이력서들을 보고, 개발자들에게 의견을 구하고, 첨삭 서비스도 한 번 받고 하면서 많이 다듬었다. 신입이..