일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 웹팩
- CDN
- express
- 정규표현식
- 성능최적화
- Recoil
- sequelize
- styled-component
- 회고
- docker
- 반응형웹
- go
- typescript
- javascript animation
- cicd
- Redux
- react
- component
- Modal
- graphql
- socket.io
- route
- 웹크롤링
- scrapping
- AWS
- 포트포워딩
- npx
- Today
- Total
목록감상문 (26)
프로그래밍 공부하기
스터디: https://github.com/lghihl/CleanCode-Archetecture 작년에 클린코드 스터디를 진행했었다. 블로그에도 몇 가지 인상 깊었던 부분을 기록해보고자 한다. 코드란 요구사항을 상세히 표현하는 수단이며, 프로그래밍은 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이다. 코드의 추상화 수준이 높아지면서 프로그래머가 작성하는 코드 수가 줄어들 수는 있겠지만 코드 자체가 사라지지는 않을 것이다. 좋은 코드란 어떤 것일까? 사람마다 생각하는 기준이 다를 수 있지만 책에서 몇 가지 기준을 유명인의 말을 인용하여 제시하고 있다. 좋은 코드 조건 읽기 쉽다. 다른 사람이 고치기 쉽다. 추측이 아닌 사실에 기반한다. 시스템 내 모든 설계 아이디어를 표현한다. 의미있는 이름을 쓴..
요즘 메타버스, 블록체인, NFT 등 알듯 말듯한 단어들이 들리고 있다. 심지어 이런 단어들이 세상을 지배할 것이라 한다. 앞으로는 대체 어떤 세상이 오는 걸까? 특히 메타버스라는 것은 대체 무엇일까? 메타버스에 대한 정의를 찾아보면 굉장히 다양하다. 현실 세계의 확장, 게임의 새로운 형태, 3D, VR 등등 사람마다 정의가 다르다. 책에 의하면 이러한 정의가 사실 거의 맞는 말이라 한다. 왜냐하면 메타버스는 굉장히 여러 개념이 포함되어있기 때문에, 마치 여러 맹인이 코끼리를 더듬어 설명하듯, 메타버스의 한 부분만 보고 이야기하는 것과 같다. 메타버스는 크게 사람-환경 축과, 증강(데이터->현실)-시뮬레이션(현실->인터넷세상) 축으로 이루어져 있다. 이 중 증강 현실은 환경에 데이터를 겹쳐 보이게 증강..
많은 사람들이 객체 지향 언어를 배우고, 자신의 프로그램을 객체 지향적으로 구성하기 위해 노력한다. 오늘날의 개발자라면 객체 지향이라는 단어를 알고 있는 것이 당연하다. 나 역시 객체지향이라는 단어를 많이 들었고, 내가 단어를 사용하기도 하였다. 그런데, 이 책을 읽고 객체지향에 대해 잘못생각하고 있는 부분들이 있다는 점을 깨닫게 되었다. 객체 지향의 대표적 오해는 객체지향이 현실 세계의 모방이라는 것이다. 예를 들어, 이상한 나라에 앨리스와 물병이라는 두 요소가 있다. 앨리스가 물병 안의 물을 먹는 행동을 취한다면, 물병 안의 물의 양이 줄어들 것이다. 반면, 객체 지향 나라의 앨리스와 물병에서 앨리스가 같은 행동을 한다면, 앨리스가 물병에게 물의 양을 줄이라는 요청을 보내고, 물병은 자신의 판단에 의..
Web 발전사 Web 1.0 : 초창기 인터넷 환경 구글, 야후, msn, 넷이스케이프, 등 PC 기반 + 읽기 위주의 컨텐츠(상호작용이 거의 X) 플랫폼이 제공하는 인프라를 사용자가 정해진 방법으로 사용한다. Web 2.0 : 현재 SNS 중심의 참여형 플랫폼 위주의 인터넷 환경 AWS, twitter, facebook, chrome, dropbox, airbnb, 유튜브 스마트폰의 등장 언제 어디서나, 인터넷이 가능하면 서비스에 참가 가능 Cloud Driven 정해진 회사의 서버가 아니더라도, 동일한 서비스를 받을 수 있다. 읽기 + 쓰기가 가능한 컨텐츠(상호작용 다수) 유저가 적극적으로 환경 안에 게시물을 작성하는 등의 참여 사람들의 참여를 유도, 광고로 수익 창출 Web 3.0 : 참여자들이 함..
The state of JavaScript & FE, 2021 Edition (2021년 FE 동향, 한방에 끝내기) NAVER Engineering | 박재성 - The state of JavaScript & FE, 2021 Edition (2021년 FE 동향, 한방에 끝내기) tv.naver.com JavaScript ECMAScript 2021 명세 Promise.any : 여러 개의 Promise 모음 중, 첫 번째로 fulfilled되고 resolved 된 Promise 반환 WeakRefs : 약한 참조를 갖는 객체를 저장. 참조되지 않으나, GC에 포함되지 않는 상황 예방 Numeric Separators : 긴 숫자 값의 가독성을 위해 _로 구분자 사용 1_000_000_000 ECMAS..
SW 산업과 개발자 Software is eating the world : 모든 산업의 혁신이 SW에서 일어나고 있는 세상 SW 개발자에 대한 수요 SW 업계는 개발자만 있으면 뭐든 만들어낼 수 있다. 그 외의 업종에서도 디지털 인프라 구축, 자율주행 등 SW 전문가가 필요한 시대가 되었다. 현재 SW 개발자는 많은 분야에서 큰 이익을 창출해내고 있다. SW 전문화 프론트 엔드, 백엔드, 오픈소스, 보안, 기술교육 등 다양한 분야로 세분화되었다. 개발자 공급의 어려움 개발을 배우는 것은 쉽지 않고, 중도에 포기하는 사람들도 많다. 기업이 원하는 개발자의 소양 단순 코딩 > 최신 트렌드와 상황에 맞는 코딩 > 적절한 기술선택 > 문제를 찾고 기술로 해결 결론 SW는 많은 이익을 창출하고 많은 분야에서 필요..
GC : Heap 영역에서 사용하지 않는 객체를 삭제하는 프로세스 Heap: Object 타입의 객체들 Heap의 구조 Young Generation : 새로운 객체들이 할당되는 영역 Eden Suvivor 0, 1 Survivor 0, 1 둘 중 하나의 영역은 비어있어야 한다. Old Generagtion : 오랫동안 수거되지 않고 살아남은 객체들이 존재하는 영영 meta space : GC 시에 필요한 클래스와 메서드의 요약정보가 있는 영역 GC의 수거대상 판별 GC의 루트로부터 참조하고 있는 객체들을 하나씩 탐색해나간다. GC의 Root : Stack 영역 데이터, Method 영역의 Static 데이터, JNI에 의해 생성된 객체 어떤 객체에 유효한 참조가 존재한다면 Reachable, 그렇지 않..
CORS 오류는 백엔드와 프론트엔드를 연동하려할 때 흔하게 볼 수 있는 오류이다. 이 오류가 왜 발생하는지, 어떻게 해결할 수 있는지 알아보자. SOP(Same Origin Policy) : 다른 출처의 리소스를 사용하는 것에 제한을 두는 보안 방식 Protocol-Host-Port가 같다면 같은 출처이다. IE는 Port가 달라도 같은 출처로 취급한다. Host는 String Value로 비교된다. http://localhost !== http://127.0.0.1 다른 출처 http://localhost/api/cors === http://localhost 동일 출처 SOP를 쓰는 이유 자신의 출처와 다른 곳에서 온 요청이 오면 안전한 요청인지 장담할 수 없기 때문에 CORS(Cross Origin ..
개발을 하다보면 코드를 수정하고 리팩토링하는 일을 자연스럽게 겪게 된다. 코드를 리팩토링하는 기준은 다양하겠지만 그 중 대표적인 것은 의존성이다. 의존성에 따라 하나의 코드를 고쳤을 때 다른 코드도 점검하고 수정해야하는 일이 발생할 수 있기 때문이다. 이러한 의존성을 점검하고, 설계를 진화시키는 방법을 알아보자. 1. 설계와 의존성 설계에서 사용하는 역할, 책임이란 말은 '의존성을 어떻게 관리할 것인가' 와 일맥 상통한다. 따라서 의존성을 관리하는 방법에 따라 설계는 변화한다. 설계란 코드를 어떻게 배치할 것인가를 의미한다. 같이 변경되어야할 확률이 높은 코드는 함께 뭉쳐놓고, 그렇지 않은 코드는 분리한다. 뭉쳐놓는다는 것은 같은 함수-클래스-패키지-프로젝트에 코드를 함께 넣는다는 것이다. 의존성은 변경..
11. 빠르게 성장하는 슈퍼루키로 거듭나기 NAVER Engineering | 네이버,NAVER,네이버테크콘서트,NAVER TECHCONCERT,Front-end,개발,개발자생활 발표자: 정영록 (NAVER) * 개요 비전공자로 개발을 시작해 인턴을 거쳐 신입 개발자가 되었습니다. 초심자에게 tv.naver.com 최근 좋은 기회를 얻어 다음주부터 2개월간 인턴으로 출근(재택근무)하게 되었다. 인턴이 되어 가장 좋은 점은 기술적인 어려움에 봉착했을 때 나와 비슷한 일을 겪었을 선배 개발자가 생긴다는 점이다! 이런 좋은 환경의 기회를 놓치지 않고 최대한 성장하기 위해 '빠르게 성장하는 슈퍼루키로 거듭나기'라는 영상을 보게되었다. * 프론트엔드 개발자로 성장하기 [슈퍼루키로 거듭나기위한 3요소] 1. 환경 ..