728x90

Dev 74

[Docker] Docker

자 지난 글에 이어서 도커 가져왔다. 일단, 이 얘기를 시작하기 전에 도커를 사용한다는게 요즘은 되게 흔한 일인데, 뭐 얘기만 했다하면 도커 공부하고 있고, 도커 써봤고 배포까지 직접해봤고 (쿠버네티스도 포함임) 등등 개발자의 기본 소양처럼 이야기가 되고 있다. 좋은 현상이라고 생각함. 애초에 코딩을 넘어서, 개발자가 기획단계에서 부터 실제로 배포되는 단계까지 전적으로 매니징을 할 수 있어야 의미가 있다고 생각하기 때문이다. 그렇다고 해서 막 엄청나게 공부를 열심히 해야한다 이렇게 얘기하기도 뭐한게 늘 하는 말이지만 기술이라는건 불편을 해소하기 위해 만들어진거다. 처음에 뭣도 모르고 들여다보면 그냥 겁먹을 수밖에 없지만, 까고보면 아니 이렇게 불편했던걸 이렇게 편하게 만들어준다고?! 정도 밖에 안됨. 그..

Dev/Deployment 2023.08.02

[Deployment] 배포 (Deployment)를 시작하기 전에

이번 글에서는 각종 클라우드 서비스들에 대한 이야기를 하기 전에, 기본적으로 알고 있어야할 개념들에 대한 이야기를 살짝하고 넘어갈건데, 개발자가 그걸 왜 알아야하느냐 라던가, 그건 인프라 영역이지 않나? 라는 얘기를 할거라면 부디 그저 클린코드만을 찬양하는 입을 다물었으면 좋겠다. (공격적으로 들렸다면 미안하다. 하지만 맘에 안들긴 함.) 요즘 개인적으로 고민하고 있는 부분이 있는데, 개발자가 매니징할 수 있어야하는 범위가 어디까지인지를 고민하고 있다. 개발자는 코드레벨에 있는 논리적인 로직 구성에 대해서만 집중해야하는가? 라는 질문을 던져보니 그건 아니라는 생각이 들어서 말이다. 당연히 분업화가 잘되어있는 서비스기업들의 경우에는 굳이 Front-end 개발자가 Devops, DBA 까지 건드릴 일이 거..

Dev/Deployment 2023.08.02

[JavaScript] BigInt

요즘 하반기 공채시즌이 열려서 중고신입 개발자 뽑는 공채에 미친듯이 지원을 하고 있다. 당연히 신입공채기 때문에 코딩테스트에 응시를 해야하는 경우가 대부분이라 요즘 코테 공부에 심혈을 기울이고 있다. 그러다 오늘 생각도 안했던 문제를 발견해서 기록을 남겨둔다. Number 지금껏 내가 착각하고 있었던게 있는데, Java를 기준으로 생각해서 착각했던것 같다. 다들 알다시피 Int타입에는 메모리적으로 한계가 있다. 이런 한계를 극복하고자 한다면 Long이나 BigDecimal을 사용하는 방향을 채택했었는데 이것만 생각하다보니 자바스크립트의 원시타입중에 하나인 Number는 걍 다 되는 줄 알았다. 왜냐면 숫자를 표현하는 타입이 저거뿐인줄 알았으니까... 근데 놀랍게도 이 Number 타입도 한계가 있다. 찾..

Dev/JavaScript 2023.07.25

[JavaScript] Symbol

이번엔 Symbol에 대한 이야기를 할건데, 이게 진짜 난 도저히 엇다써야할지 감이 안 잡혀서 이해가 좀 힘들었다. 그냥 아무리 생각해도 ES6로 넘어오면서 언어 자체에 들어가있는 built-in 기능들을 위한 타입이지 않나? 정도 밖엔 감을 못잡았는데, 대충 정리해보면 그래도 JS 개발자가 조금씩 사용할 수 있는 것들이 존재하긴한다. 또한, 우리가 당연하게 사용하고 있던 것들 역시 Symbol로 정의 되어있기 때문에 알고 있으면 JS에 대한 깊은 이해에도 도움이 될 것으로 생각한다. 1. Symbol이란? Symbol은 ES6부터 JavaScript에 추가된 타입으로, 좀 특이한 녀석이다. 사용의 목적은 Property들의 충돌을 방지하기 위해 고유한 Property를 만드는 용도로 사용된다. 이런 식..

Dev/JavaScript 2023.07.17

[JavaScript] iterable / iterator

오늘은 iterable(이터러블), iterator(이터레이터)에 대한 이야기를 한번 해볼건데, 배열이나, Map과 같은 순회가능한 객체들을 다룬다면 이 개념에 대한 이해를 가지고 있는 편이 좋다. 대부분 학원에서는 for / while문을 사용하면 요소하나하나 꺼내쓸 수 있다. 이렇게만 가르쳐주게 되는데, 이게 그냥 초반 입문 시기나 개발을 취미로 하는 입장에서는 전혀 문제될게 없으나 좀 더 전문적인 영역으로 진출하고자 하는 인재들에게는 이 개념의 존재를 알고 있는게 차후 Object에서 Custom Iterator를 적용한다던가 같은 응용이 가능하기 때문에 기왕이면 학습해두길 권하고 싶다. 1. Iterable Protocol & Iterator Protocol 왜 또 Protocol같은 거슬리는 워..

Dev/JavaScript 2023.07.17

[JavaScript] Wrapper Object

이번에 살펴볼 이야기는 Wrapper Object인데, 이건 솔직히 내용이 많지 않을 것 같다. 근데 굳이 설명하는 이유는 알고 있으면 나중에 나올 얘기들에도 어쨌든 바로 떠올릴 수 있기 때문인거라, 짧게 정리하고 넘어가도록 하겠다. Wrapper Object (래퍼 객체) Wrapper 객체가 뭔지 설명하기 전에, 원시타입에 대한 이야기를 할건데, 기본적으로 Object.prototype을 상속하고 있는 모든 객체들은 생성자를 통한 객체 생성을 할 수가 있다. 근데 원시타입은 Object가 없는데 어떻게 생성자를 통한 객체 생성이 가능한지 의문이 들거다. 예를 들면 아래와 같은 코드들임. const str = new String(); const num = new Number(); const bool =..

Dev/JavaScript 2023.07.13

[JavaScript] ProtoType (2)

저번에 정리하다가 만 ProtoType에 대한 정리를 오늘 마칠 셈인데, 아무래도 분량이 꽤나 되다보니 어느정도 축약을 할 내용이다. 사실상 대부분의 내용이 논리적으로 당연한 내용들이라고 볼 수 있기 때문에, 꼭 필요하다 싶은 개념정도만 정리해두고 나중에 필요하면 내용을 추가하는 방식이 될 것 같다. ProtoType Chain 앞선 ProtoType(1) 게시물의 링크를 걸어두겠다. 2023.07.05 - [Dev/JavaScript] - [JavaScript] ProtoType (1) [JavaScript] ProtoType (1) 대망의 ProtoType이다. 대부분 학원 출신 개발자들은 Java를 통해 개발에 입문을 하는 케이스가 많다보니, 아무래도 Class 기반의 객체를 익숙하게 여길텐데, 놀..

Dev/JavaScript 2023.07.13

[PROJECT] 첫 번째 프로젝트의 고생 원인을 찾아냈다.

그냥 첫프로젝트가 힘들었구나. 라고 생각하며 플젝을 마무리한게 어언 6개월 정도가 흘러갔는데, 얼마 전에 상당히 충격적인 것을 접했다. 지금 내가 하고 있는 프로젝트가 최종목표가 정해져있고, 한스텝 당 7,8개월 씩 투자하는 방식으로 한스텝 씩 넘겨가면서 지속적인 리팩토링, 그리고 점진적인 고도화 개발을 진행하는 거라 계속 이 프로젝트에 머무르게 됐는데, 다음 스텝을 준비하며 회의를 하던 중, 직전에 있던 마이크로 서비스 리더 분이 내가 개발한 파트 관련 document를 다 쥐고 있으셨음에도 안주셨다는 사실을 깨달았다. 자꾸 클라이언트들은 줄거 다줬다고 하고, 우리는 받은게 없어요! 라며 플젝 내내 투닥거렸는데 사실 범인은 내부에 있었던거임.. 처음에 왔을 때 꼴랑 소스코드만 전달 받고 우리파트 백엔드..

[JavaScript] ProtoType (1)

대망의 ProtoType이다. 대부분 학원 출신 개발자들은 Java를 통해 개발에 입문을 하는 케이스가 많다보니, 아무래도 Class 기반의 객체를 익숙하게 여길텐데, 놀랍게도 이 방식대로 자바스크립트에 접근했다가는 머리통이 아픈 순간이 찾아온다. '아니 뭔소리냐? 자바스크립트도 class라는 문법이 있는데, class기반이 아니라니?' 라고 할 수도 있는데, 그건 ES6 시점에서 문법이 추가된거고, 또한 저 class역시 자바에서 말하는 class와는 다르다. 자 그럼 이 prototype이라는게 뭔지 한번 시작해보도록 하자. 1. ProtoType? 자바스크립트의 요소들은 대부분 객체다. Object 뿐만 아니라 String, Array, Number.. 등등 모두 객체인데, 기존의 자바에서 알고 있..

Dev/JavaScript 2023.07.05

[JavaScript] this

이어서 바로 this 얘기를 할건데 왜 이렇게 급하게 쓰냐면 앞에 글에서는 객체지향 어쩌고 얘길 했지만, 그 객체지향 프로그래밍할 때의 this랑 이 자바스크립트에서 얘기하는 this랑 진짜 지랄맞게 다르다. 자바같은 언어에서 this를 사용하는걸 보면 진짜 명확하게 언제나 객체 자기 자신을 지칭하는 의미로만 사용하고 있는데 자바스크립트는 얘가 어떤 함수 내에 들어있다가 호출 되는지 그 방법에 따라 다르다.. 어이가 없다.. 그래서 이제 나 같은 애들이 this 좀 쓸 줄 안다고 깔짝 대다가 삽질 엄청나게 하는걸 볼 수 있는데, 이거 제대로 생각하면서 쓰면 괜찮으니까 일단 한번 알아보자. 자바스크립트 함수를 호출하는 방법에 따라 달라지는 this 자바스크립트 함수는 호출하는 방법이 네가지가 있다. 1. ..

Dev/JavaScript 2023.06.29
728x90