728x90 반응형 분류 전체보기167 [Bun 시리즈] #3 Bun + React 조합으로 서버사이드 렌더링 구현하기 백엔드 개발자라면서요? 근데 왜 프론트 영역 공부하세요? Bun http 통신에 대해 알아보다가 우연히 라는 게시물을 보게됐다. (님아 그 강을 넘어가지 마시요...) 우선 Bun은 런타임이고 React는 라이브러리이기 때문에 Bun으로 React를 이용해서 프론트를 구축할 수 있다! 즉, 내가 찾은 글은 프론트 개발자 분들에게 좋을 글이었다. 나의 경우 프론트와 백이랑 같이 하는거라고 착각한거였다 🥹 ... (Bun을 순간적으로 백 프레임워크라고 생각함) (왜 React가 프레임워크가 아니라 라이브러리인지에 대해서는 따로 정리하겠다 - 런타임 vs 프레임워크 vs 라이브러리) 아무튼 나의 착각 덕분에 프론트 영역을 많이 공부하게 돼서 잘 정리해 봤다. 서버사이드 렌더링이란 따라하기에 앞서 서버사이드 렌.. 2023. 11. 6. [Bun 시리즈] #2 Bun은 왜 빠를까? JSC vs V8 Bun은 뭔 짓을 했길래 빠를까? 🤔 Bun에 감동하자마자 든 생각이 👆였다. 그래서 이거저거 찾아보다가 Bun 공식 페이지에 AI로 물어보는게 있어서 사용해봤다. 만두가 귀엽다. Bun AI가 알려준이유는 2가지다. 1. JSC 엔진 사용 2. 내장된 파일 변환 파일러 두번째 내장된 파일 변환에 대해서는 1편 TypeScript에 대한 NodeJS와 BunJS 차이에서 다뤘다. 그래서 이번엔 첫번째 JSC 엔진 사용에 대해 알아보자. JavaScript 엔진 JSC는 JavaScriptCore 엔진이다. JavaScript 엔진 중 하나인데 우선 JavaScript 엔진이 무엇인지 알아보자. 한마디로 정리하면 JavaScript 언어로 짜인 코드를 해석하고 실행하는 *인터프리터다. 핵심 기능은 파싱, .. 2023. 11. 4. [dayjs] JavaScript Date 객체는 불변성을 지켜주기 않는다 + dayjs의 필요성 JavaScript는 날짜 표현을 해줄 수 있는 Date 객체를 제공해준다. 따로 라이브러리를 사용하지 않더라도 손 쉽게 날짜을 얻을 수 있기 때문에 사용을 자주해줬다. 불변성 문제 발생 하지만 불편한 점이 발견됐다. 바로 불변성이다. const date = new Date(); // 2023-11-01T02:06:14.974Z date.setFullYear(2002); console.log(date); set 함수를 쓴 date를 콘솔로 찍으면 어떻게 될까? 당연히 2002-11-01T02:06:14.974Z로 바뀐다. 인제 date는 원래 값인 2023-11-01T02:06:14.974Z을 잃게 된다. 예를들어 우리가 date와 set 함수를 사용해 나온 date를 비교해주고 싶다면? 당연히 둘 다 .. 2023. 11. 1. [Bun 시리즈] #1 Bun 공식문서에서 알려주는 Quickstart 따라해보기 NodeJS를 두고 지금 BunJS에 눈돌아갔니? 맞다. 어느날 우연히 본 영상 하나로 난 Bun으로 사이드프로젝트를 만들어야겠다 생각했다. https://youtu.be/a8uPDppckQk?si=OkesGXLDoiwBG1cR 코딩애플님의 'Bun 서버가 4배 빠르다는건 진짜인가(vs Node.js)'의 영상이었다. 이걸 보면 Bun에 관심이 갈 수 밖에 없다 👍 한 번씩 서버를 킬 때 느려터졌네 하는 순간들이 있었는데... 드디어 NodeJS를 대처할 수 있는 JS 런타임 및 패키지 관리자가 생겨서 너무 좋다 😆 (Bun은 최근에서야 1.0 버전을 출시하면서 그동안 많은 제약들을 벗어났다는 평을 받고 있다.) 맛보기로 공식문서가 제공하는 튜토리얼 따라하기 https://bun.sh/docs/quick.. 2023. 10. 22. [Kafka 시리즈] #2 Apache Kafka 공식 튜토리얼 따라하기 with KRaft 튜토리얼 따라하는게 국룰이죠 Apache Kafka에서도 쉽게 사용해볼 수 있는 튜토리얼을 제공해준다. https://kafka.apache.org/quickstart Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 튜토리얼을 따라하면 머리 속에 둥둥 떠나니던 개념들과 용어들을 금방 익힐 수 있어서 좋다 👍 그러니 꼭 튜토리얼 해보시길. 1. 카프카 다운로드 https://www.apache.org/dyn/closer.cgi?path=/kafka/3.6.0/kafka_2.13-3.6.0.tgz 2023. 10. 12. [Kafka 시리즈] #1 Apache Kafka라고 들어보셨나요? 전 진짜 들어만 봤어요 (+ Zookeeper vs KRaft) Apache Kafka 그거 대기업에서 다 쓰던데 카프카라는 이름은 개발자를 준비하면서 많이 들어온 단어 중 하나였다. IT 대기업을 대표하는 네이버, 카카오 컨퍼런스에서 심심치 않게 나왔고 배민, 토스에서도 봤던 기억이 있었다. 당시 카프카를 접한 나는 MSA랑 같은 느낌을 받았다. 알지만 개인 프로젝트에서 할 수 없는 미지의 영역. MSA도 회사에 들어와서 할 수 있었던 나는 현재 카프카까지 담당하는 처지가 됐다 😇 (좋은데... 좋은거 맞지? 여러분들은 백엔드 많은 곳으로 가십쇼...) 그래서 Apache Kafka가 뭔데요? 한줄로 말하면 대규모 데이터를 동시에 이동시킬 쓰는 분산형 데이터 스트리밍 플랫폼이다. 예? 뭔소리인지 모르겠다면 당신은 제 글을 계속 읽은 기회를 얻었습니다(?) 바로 이해.. 2023. 10. 12. 사용자 권한 설정(=접근 제어)에도 전략이 있다 - ACL vs RBAC vs ABAC 권한 설정 그거 어떻게 하는건데 드디어 회사 서비스에 사용자들을 받을 준비를 하게 되었다. 입사하고 1년 6개월은 이미 지났는데 인제서야 유저 관리를 하다니 🙃 그만큼 큰 서비스를 개발하고 있다고 생각한다. 유저가 서비스에 추가되다 보니 새롭게 떠오른 이슈가 있었다. 그건 바로 사용자 권한 설정! 개발자들에게 가장 익숙한 Github로 예시를 들자면 프로젝트를 같이 할 멤버를 추가해 권한을 주는것이다. 위 캡쳐를 보면 알겠지만 프로젝트를 먼저 생성한 사람은 Owner로 되어 있다. Owner의 경우 아래와 같은 권한이 생긴다. 1. 프로젝트 설정 변경 2. 프로젝트 접근 권한 관리 3. 코드 관리(푸시, 머지 등) 4. 이슈 및 프로젝트 관리 . . . 이처럼 Github에서는 Owner는 최상위 권한을.. 2023. 10. 4. MSA 서비스 시리즈 1탄 : 서버간 오류 어떻게 해야할까 🤔 MSA 알고 이 글을 읽는거겠죠..? 아주 간단하게 설명하면 여러개의 컴퓨터를 사용하는거다. 예를 들어 네이버를 뇌피셜로 설명해보자. 우리가 자주 사용하는 검색창은 A 컴퓨터에서, 페이는 B 컴퓨터에서, 메일은 C 컴퓨터에서 실행된다. 컴퓨터의 수는 무수히 많을 수 있다. (사스가 네이버라면 어쩌면 세자리를 수일수도 😙) 컴퓨터는 무슨 기준으로 나누나요?! 라고 물어볼 수도 있다. 현재 1년 6개월 차 밖에 되지 않은 햇병아리 백엔드 개발가인 내가 감히 생각해보면... 그건 회사마다 이끄는 사람마다 다르다. 실은 MSA를 하냐 아니면 Monolithic를 하냐부터 생각도 말도 많아진다. 그래도 진짜 그래도 나만의 서비스 선택 기준을 말하자면 아래와 같다. 1. 구상한 서비스가 작다 -> 3번으로 이동 2.. 2023. 9. 15. Error response from daemon: failed to create task for container: failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused 그만 도망치자 로그를 만지니 별별 오류를 다 만나고 있는 요즘... 사실 지금까지 미루고 있었던 오류가 있었다. Error response from daemon: failed to create task for container: failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused docker-compose로 fluentd와 다른 컨테이너들을 함께 키면 fluentd가 로깅하는 컨테이너들만 켜지지 않는 상황이다. 오류 코드를 보면 현재 fluentd가 실행되지 않았다면서 멈춘 것이다. docker 데스크탑을 보면 fluentd는 켜져있다. 그런데 저 주황색으로 된 로깅이 필요한 컨테이너들은 Created.. 2023. 9. 1. 이전 1 2 3 4 5 6 7 ··· 19 다음 728x90 반응형