본문 바로가기

분류 전체보기

(17)
재테크 기록장 고등학교 때는 예쁘고 잘생긴 사람들이 멋있어보였고 대학교 때는 좋은 대학에 들어간 사람들이 멋있어보였고 직장인이 된 지금은 돈이 많은사람들이 멋있어보인다; 속물이 되어가는가 세상이 어떻게 흘러가는지에 대한 감각을 제대로 느껴야만 돈을 벌 수 있다고 생각한다. 인생 한번인데 이런 큰 흐름을 아는것도 중요하지 않을까? 막연하게 부자가 되고싶다는 생각은 예전부터 했는데 이제는 단순히 돈을 많이 벌기보다는, 세상의 흐름을 깨달으며 돈을 벌고싶어졌다. 목표가 햇빛에 비춰진듯 아주 선명할수록 목표를 향해 다가가는 힘이 생긴다던데 세상의 흐름을 깨닫겠다는 내 목표는 가시거리 10cm 도 안나온다.. 그래서 일단 다양한 유튜브 컨텐츠들로 경제관련 지식을 습득하고 주식에 한해서는 조금 더 깊은 공부를 해보기로 했다. 그..
Redux Basic 리액트로 개발하던 시절 react redux를 사용해 데이터 관리를 한 적이 있다. 그때는 redux를 왜쓰는지, 이게 어떤 라이브러리인지도 모르고 급하게 급하게 기존 코드를 보면서 아 이렇게 쓰는거구나 하고 사용했던 경험이 있다. 누가 Redux 는 왜 쓰는거야? 하면 "data 관리하려고" 라고 뭉뚱그려 말할수밖에 없었던 시절이다. 이번에 회사에서 그룹단위 사이드 프로젝트의 React 구현부를 맡게 되었다. 거의 2년 반만에 다시 React를 사용하게 된 만큼, 감각을 되살리기 위해서 간단한 인터넷 강의를 수강할 것을 추천받았고 그 중에 Redux가 보였다. 이번 기회에 Redux가 무엇을 위해 사용하는 라이브러리인지 이해해보기로 했다. 들어가기에 앞서 Redux 에 대해 착각하고 있던 사실중 하나는..
취업 후 자기개발 방향성에 대한 고찰 이전 블로그 글을 보셨다면 내가 삼성전자 인턴전형으로 합격해 취준생을 벗어난걸 알거다. 그렇게 된지 벌써 2년이 넘는 시간이 흘렀다. 어느덧 어엿한 3년차 직장인이 되었다. 시간이 정말 빠르다. 3년차쯤엔 부서에서 뭔가를 이뤄내보고, 마음의 안정을 찾을 수 있지 않을까 기대해봤지만 역시나 어림없었다. 한때는 프론트엔드 개발자를 꿈꿔왔지만.. 아니 정확히 말하면 꿈꿔온건 아니다. 프론트엔드 개발자가 될 것이라고 예상했지만, 그렇지 못했다. 간절히 원했던 것은 아니니 임베디드 개발자가 된 것을 굳이 나쁘게 볼 필요는 없겠다. 여기서도 새로운 것들을 배우며 성장하고 있기도 하고. 다만 내가 한가지를 꾸준히 밀고나가는 성격이 못 되는건가 싶어서 가끔씩 슬픈생각이 들기는 한다. 그럼에도 불구하고 나는, 이왕 이렇..
삼성전자 인턴 전환 후기 21년 하계 인턴 과정을 마무리하고 전환 면접을 통해 3급 신입으로 전환이 되었다. 첫 취직 합격인만큼, 인턴과 전환 과정에서 느끼고 배운 것들을 상세하게 기록해두려고 한다. 관련 직전 포스팅이 삼성전자 상반기 코딩테스트 후기였으므로 이후 과정을 순서대로 나열해보겠다. 삼성전자 상반기 인턴 면접 면접 날짜를 통보받았을 때는 패닉에 가까웠다. 처음 서류를 넣을 때만 해도 코딩테스트 한번 보고싶다는 마음이었어서 그 이후의 과정을 전혀 준비하지 못했다. 게다가 당시 나는 IT 동아리에서 프로젝트 런칭을 앞두고 있어서 마음의 여유가 없던 상태였다. 면접도 경험이니 준비를 다 못하더라도 참여해보자는 결심을 했다. 제출했던 자소서를 다시 읽어보고, 간단한 자기소개 문구와 기초적인 인성 질문에 대한 답변을 생각했다...
V8 엔진의 히든 클래스와 인라인 캐싱 모던 자바스크립트 Deep Dive책에서 간단하게 소개한 V8 엔진의 히든 클래스 방식에 대해 이해한 바를 간단한게 정리하고자 포스팅을 작성해본다. 1. 프로토타입 기반 언어의 함정 자바스크립트는 프로토타입 기반 언어로, 클래스 기반 언어와 다르게 객체에 프로퍼티를 런타임에서 추가하거나 삭제할 수 있다. 클래스 기반 언어의 경우 같은 클래스에 속한 객체들은 모두 같은 필드 구조를 가지므로, base address에 offset을 더하는 방식으로 프로퍼티에 접근할 수 있다. 따라서 컴파일타임에 객체의 프로퍼티가 어디있는지를 바로바로 알 수 있다. 반면 자바스크립트는 런타임에 프로퍼티가 더해지거나 삭제되거나 프로퍼티 값의 타입이 변할 수 있으므로 이런 offset 공유 방식을 사용할 수 없다. 따라서 각 객..
브라우저에 url을 입력하고 Enter를 치면 벌어지는 일 예전에 봤던 프론트엔드 직군의 단골질문이다. "대충 url잘 뒤져서 서버찾아서 가서 받아오겠지" 말고 좀 더 구체적으로 무슨 일이 일어나는지를 하나하나 따라가보자. 1. 주소창에 주소를 입력 2. 주소형식인지 아닌지 판단해 검색 or 이동 url 구조를 파악해 어떤 프로토콜로 어떤 도메인에 어떤 path로 접근하는지 파악한다. url 구조에 맞지 않는다면 해당 브라우저의 검색엔진으로 input값을 검색한다. 3. Https 를 위한 HTST Preload List 탐색 http로 접속 요청을 하면 보통 서버에서 https로 리다이렉트된다. 안전한 접속을 위해 요새는 거의 https를 쓴다. 근데 처음 저 http 접속 과정에서 man in the middle해킹이 가능하다고 한다. 이를 방지하기 위해 H..
Programmers Level1 다트게임 카카오 문제는 레벨1이 레벨1이 아닌 기분이다. 문자열 문제는 특히 자바에서 엄청나게 장황해지기 때문에 주의할 필요가 있다. 문제 설명 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수..
Programmers Level1 크레인 인형뽑기 게임 문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..