개발 29

[자료구조 with JS] 큐(Queue)

큐(Queue) 데이터가 한쪽으로 들어와서 다른 쪽으로 나가는 자료구조. 사람들이 줄을 서서 입장을 기다리는 것을 생각하면 된다. 큐의 특징 1. First In First Out (FIFO): 먼저 들어온 정보가 먼저 나가는 구조이다. 2. 큐에 입력된 데이터는 그 순서가 계속 유지된다. 즉, 들어온 순서 그대로 나간다. 3. 큐의 삽입과 삭제는 각각 배열의 unshift & pop 또는 shift & push를 사용하여 구현할 수 있다. (두 방법은 줄 서는 방향의 차이이다. unshift & pop은 오른쪽부터 왼쪽으로 줄을 서고 shift & push는 왼쪽부터 오른쪽으로 줄 선다.) 삽입과 삭제 unshift & pop 사용 class Queue { constructor() { this.data..

개발자 성장기 (3) 코딩을 독학하기 전에

이전글: 개발자 성장기 (1) 코딩과 개발자란 무엇일까? 개발자 성장기 (2) 나의 두서없는 커리어 이야기 나는 코딩을 반쯤 독학했다. 이전글에서 설명했듯이, 학원을 잠깐 다니며 자바와 안드로이드 어플을 만들기는 했지만 끝까지 배우지는 않았고, 결국 혼자 독학해서 다른 분야를 배웠다. 초기에 학원을 다니면서 배운 것이 도움이 된 것은 사실이라 내가 완전히 독학했다고 할 수는 없다. 하지만 여러 가지 이유로 코딩을 독학하려는 사람들이 있을 것이고, 내가 독학했던 경험을 공유하고 싶다. 나의 방법이 좋은 방법인지는 솔직히 나도 모른다. 더 나은 방법이 있을 수도 있고, 사람마다 더 잘 맞는 다른 방법이 있을 수도 있다. 하지만 내가 맨 처음 공부를 시작할 때 가장 알고 싶었던 것이 '다른 사람들은 어떻게 공..

개발자 성장기 (2) 나의 두서없는 커리어 이야기

이전글: 개발자 성장기 (1) 코딩과 개발자란 무엇일까? 나의 이야기 나는 문과 출신이고 대학에서는 심리학을 전공했다. 심리학 전공이지만 상담 과목을 수강하기 싫어 법학을 부전공했다. 중학생일 때부터 심리학을 전공하고 싶었고 대학원을 가고 싶었다. 어느 순간부터는 박사학위까지 딸 생각도 있었고, 연구원이나 교수가 되는 것이 목표였다. 사회 과목보다 과학 과목에서 항상 더 좋은 점수를 받았던 것 같은데, 그럼에도 불구하고 문과를 선택한 것도 심리학과에 진학하기 위해서였다. 그리고 나는 영어를 잘 했다. 영어 성적도 상위권이긴 했지만, 시험을 그렇게 잘 보는 것은 아니었다. 그러나 중학생 때부터 미국 드라마 중독 수준이었고, 방학에는 하루에 15시간 정도를 미드만 보는 기염을 토하기도 했다. 자다 일어나서 ..

개발자 성장기 (1) 코딩과 개발자란 무엇일까?

비전공자로서 코딩을 시작하면서, 코딩에 대해서 주변 사람들이 많은 질문을 했다. 코딩 열풍이라는 뉴스 기사가 많이 나오기는 하지만 실제로 많은 사람들이 코딩이 무엇인지, 개발자가 어떤 일을 하는지 전혀 모르고 있었다. 그래서 코딩의 아주 기본적인 것부터 개발자는 무엇인지, 그리고 내가 개인적으로 어떻게 코딩을 공부하게 되었는지 정리하려고 한다. 코딩이란? 코딩은 기본적으로 컴퓨터와 소통하는 것을 말한다. 컴퓨터가 인간의 언어를 이해하기란 매우 어려우므로(최근 구글, 아마존, 네이버, 카카오 등의 빅테크 회사들이 시도하고는 있지만 완벽하지 않다) 인간이 컴퓨터의 언어를 배워서 소통한다. 그 컴퓨터의 언어가 '프로그래밍 언어'이다. 그러므로 코딩을 하기 위해서는 프로그래밍 언어를 배워야 한다. 인간의 언어가..

[JavaScript] 객체의 프로퍼티 표기법: Obj.prop vs. Obj[prop_name]

객체와 그 프로퍼티에 접근하는 두 가지 방법이 있다. 첫째는 Object.property_name의 형태로 표기하는 Dot Notation이고, 둘째는 Object[property_name]의 형태로 표기하는 Bracket Notation이다. 두 경우 모두 객체와 프로퍼티를 표현하는 것은 맞으나, 꼭 알고 사용해야 할 차이점들이 있어서 정리해 보았다. DOT NOTATION (Object.property_name) MDN에서는 다음과 같이 정리한다. 1. Property must be a valid JavaScript identifier. 2. In the ECMAScript standard, the names of properties are technically "IdentifierNames", no..

개발/JavaScript 2021.09.17

개발자 꿈나무의 일기 20210917

1. 요즘은 이력서를 넣고 면접을 보는 중이다. 의도치 않게 코딩 테스트를 준비하게 돼서 자료구조와 알고리즘을 준비하고 있다. 알고리즘은 엄청 지루할 줄 알았더니 생각보다 재밌어서 놀랐다. 성격 급하고 효율성을 사랑하는 한국인의 성격에 딱 맞는 공부랄까. 어떻게 하면 무언가를 더 빠르게 할 수 있을까 고민하는 과정이 재밌다. 2. 여태까지 코딩 테스트는 한 번 봤다. 그런데 알고리즘과는 전혀 상관없이 실제 업무와 유사한 환경이 주어지는 테스트였다. 그래도 한 번은 알고리즘 테스트를 보지 않을까 싶어서 공부는 계속 한다. 그리고 테스트가 아니더라도 더 나은 코드를 쓰는데 확실히 도움이 될 것 같긴 하다. 3. 요즘 본 면접은 영어 면접이라 오랜만에 영어로 말할 기회가 생겼다. 영어 실력이 많이 녹슨 것을 ..

프로그래머의 길, 멘토에게 묻다 (Apprenticeship Patterns)

프로그래밍 공부를 시작하려는 사람부터 프로그래머로서 일하고 있는 사람들까지 배울 것이 있을 것이다. 프로그래머로서의 생애에서 맞닥뜨릴 수 있는 문제 상황들과, 그 상황을 헤쳐 나갈 수 있도록 도와줄 해결방안을 제시한다. 실질적으로 실천해볼 수 있는 사항들을 제시해주기 때문에 프로그래머로서 살아가는 동안 종종 다시 펼쳐볼 책인 것 같다. 이 책의 원제는 [Apprenticeship Patterns]인데, 견습생(Apprentice)으로서 사용할 수 있는 패턴들이라는 의미이다. 아무래도 이 부분을 한국어로 깔끔하게 해석하기가 어려워 조금은 다르게 한국어 제목을 붙인 것 같다. 하지만 역시 원제가 책을 더 잘 설명하는 것 같다. 개인적으로는 '긴 여정'이라는 챕터가 참 인상깊었다. 나는 애초에 프로그래머가 되..

개발/독서 2021.08.04

개발자 꿈나무의 일기 20210804

요즘 개발하던 프로젝트를 어느 정도 끝마치고 이력서를 작성하고 있다. 독학으로 코딩 공부를 하다보니 학원에서 연결해주는 회사도 없고, 대학원을 대학교 4년 내내 준비하다보니 취업 준비 요령도 없다. 그런데도 오묘하게 불안감이나 긴장감은 느껴지지 않는다. 뭔가 내 인생은 잘 될 것 같은 이유 없는 자신감이 있다. 올림픽 때문인가? 선수들이 잘됐는데 왜 나까지 자신감이 생기는가? 그냥 나만 열심히 살면 될 것 같다. 여태껏 준비하던 것은 Node.js 프로젝트인데, 이력서 넣으면서 다른 공부도 같이 하려고 생각중이다. 기존 프로젝트도 조금씩 개선하고 리액트 혹은 AWS 공부를 해볼까 한다. 영어 점수도 하나 정도는 있어야 할 것 같은데, 그동안 봤던 토플과 토익 스피킹 점수는 이미 2년이 지나서 만료돼 버렸..

728x90
반응형