본문 바로가기
728x90
반응형

Back Side47

[Babel] TypeScript 코드를 JavaScript로 바꾸기 위해 떠난 여정기 시작은 말이지.. TypeScript로 작성한 코드를 JavaScript로 바꾸고 싶을 때는 어떻게 해야할까? 나의 경우 TypeScript로 작성한 코드를 Parse 해야하는 작업을 해야했다. 하지만 메타성 정보가 아닌 실제 동작하는 코드가 runtime에서는 JavaScript이여야 한다는 피드백을 들었다. 그렇게 TypeScript to JavaScript가 되는 여정이 시작되었다..! 혹시 Babel 구성 조차 하지 않았다면 맨 아래 "+ Babel 구성이 되어 있지 않다면"만 참고하길 바란다. Babel을 사용하자 Jest에서 테스트코드를 돌리기 위해 Babel을 처음 써봤었다. 하지만 아직도 Babel은 나한테 낯선 존재로 코드 바꾸기를 들어갈 때 Babel을 고려하지 못했다. 감이 잡하지 않.. 2022. 11. 18.
[MongoDB] 대량의 데이터 처리 프로그래밍 모델 (1) 맵리듀스 map-reduce 맵리듀스(map-reduce)란 맵리듀스는 많은 컴퓨터에서 대량의 데이터를 처리하기 위한 프로그래밍 모델로, 구글에 의해 널리 알려졌다. 몽고DB와 카우치 DB를 포함한 일부 NoSQL 데이터 저장소는 제한된 형태의 맵리듀스를 지원한다. 이 매커니즘은 많은 문서를 대상으로 읽기 전용 질의를 수행할 때 사용한다. '데이터 중심 애플리케이션 설계'을 읽던 위와 같은 구절을 만났다. MongoDB를 개발하는 내내 쓰면서 아직도 내가 모르는 기능이 있다는게 신기하다. 맵리듀스는 여러 함수형 프로그래밍 언어에 있는 map과 reduce 함수를 기반으로 한다. map() 함수는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다. reduce() 함수는 배열의 각 요소에 대.. 2022. 11. 8.
XML에 대한 모든 것 - 개념, JSON과의 비교 등 XML이란 '데이터 중심 애플리케이션 설계'를 읽던 중 아래와 같은 구절을 만났다. 문서는 보통 JSON, XML로 부호화된 단일 연속 문자열이나 JSON 또는 XML의 이진 변현으로 저장된다. MongoDB를 쓰면서 JSON 형태로 데이터가 저장된다는 것을 알고 있었다. 하지만 XML은 처음 들어보는 단어였다. 그렇다면 XML이라는 것은 무엇일까? Izzy Siamese 6 yes no Izz138bod Colin Wilcox XML 코드를 처음 본 순간 HTML 파일의 태그와 비슷하다고 생각했다. 데이터 정의하는 규칙을 제공하는 마크업 언어이기 때문에 HTML이 생각나는 것은 당연한 것이다. 매우 규칙적이고 예측이 가능한 구조를 가지고 있다는 특징을 가지고 있다. 또한 새로운 태그를 만들어 추가하여 .. 2022. 11. 7.
"Edge case를 발견하는데도 도움이 될 수 있다"의 Edge case란? 원티드 프리온보딩 백엔드 챌린지에서 시스템 설계 문제에 대한 접근 법으로 최초 설계안을 제시하기 라는 부분이 있었다. 근데 여기에서 시스템의 구체적 사용 사례를 살펴보면 Edge case를 발견하는데 도움이 된다고 멘토님이 말씀하셨다. 여기에서 Edge case가 무엇인지 몰라 정리하고자 한다. Edge case에 대한 설명을 찾아보니 아래와 같은 설명을 읽었다. 알고리즘이 처리하는 데이터의 값이 알고리즘 특성에 따른 일정한 범위를 넘을 경우 발생하는 문제를 가리킨다. 바로 무슨 말인지 이해가 되지 않았다 😅 좀 더 찾아본 결과 극단적인 버그이지만 해결할 수 있는 상황이라고 이해하게 되었다. 개발자와 기획자는 사용자들이 자신의 설계한 방식대로 서비스를 이용할 것이라 생각한다. 하지만 그것은 매우 위험한 .. 2022. 10. 11.
[MongoDB] Robo3T Failed to load documents 해결 방법 - Studio 3T 설치 그동안 잘 Robo3T를 사용하였는데 오늘부터 위와 같은 오류들이 생기기 시작했다. 알아보니 Robo3T v1.4의 문제 중 하나였다. 해결 방법은 v1.4.2을 다운로드 받는 것인데 알고보니 Robo3T는 개발 작업을 중단했으며 지원 중지되어 다운로드 받을 수 없다. 공식문서를 찾아보니 Robo3T 대신 Studio 3T를 다운로드 받는 것은 권장하고 있다. 다운로드하는 방법은 아주 간단하다. https://robomongo.org/ Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo) Read by Dmitry Schetnikovich robomongo.org 위 링크를 클릭한 후 Download Studio 3T Free Today를 눌러주면 .. 2022. 8. 30.
[강의] React 초보자의 완강 후기 - 노마드코더 ReactJS로 영화 웹 서비스 만들기 왜 노마드코더 'ReactJS로 영화 웹 서비스 만들기'를 들었나요? React 공부를 위해 프론트엔드 팀원분께 여쭤보니 공식문서와 이 강의를 추천해주셨습니다. 먼저 공식문서를 봤는데 저와 맞지 않아서 넘어가고 강의를 보기 시작했습니다. 진행률이 56%인데 더 들어야 하는거 아닌가요? 처음 커리큘럼을 보는데 끝도 없이 긴 강의 수에 놀랐습니다. 그만큼 공부할게 많다고 생각했는데 알고보니 2021년에 업데이트를 하셔서 나머지 44%는 업데이트 전 강의였습니다. 딱 7강까지 들으시면 되기 때문에 짧게는 하루만에 넉넉하게는 일주일 잡고 들으시면 좋을 것 같네요. 완강하신 지금 이 강의를 추천하시나요? 네, 추천 드립니다 👍 프론트엔드 개발 공부 로드맵을 만든다면 첫 시작을 이 강의로 할 것 같습니다. 저는 백.. 2022. 8. 18.
노트 필기앱 옵시디안 Obsidian 사용법 (1) - 설치 7월 27일에 열린 우아한테크 세미나에서 옵시디안이라는 노트 필기앱을 알게 되었습니다. 우아한테크 세미나에 대해 궁금하신 분들은 제가 정리한 포스팅을 보시길 바랍니다 😎 https://bcoding-lab.tistory.com/309 [세미나] 7월 우아한테크 개발자 글쓰기- 개발자도 글을 써야한다고요?! 7월 27일 수요일에 우아한테크 개발자 글쓰기 세미나를 했습니다. 글쓰기에 관심이 많았기 때문에 꼭 시청해야겠다고 생각했습니다. 유튜브로 실시간 송출되고 바로 다시 보기를 할 수 있기 때 bcoding-lab.tistory.com 1) 설치 https://obsidian.md/ Obsidian Obsidian: A knowledge base that works on local Markdown files.. 2022. 7. 29.
[MongoDB] syncIndexes() 이용해서 변경한 index 자동 적용시키기 예를 들어, name과 category에 index를 적용시켜줬습니다. 하지만 category는 필요 없어져서 삭제시켜준 후 다시 서버를 돌린다고 하면 어떻게 될까요? 예상대로라면 name만 index 적용이 되어야 합니다. 예상과 달리 name, category 모두 index 적용이 되어있었습니다. 방법을 몰라 robo3T에 직접 들어가서 매번 Index를 삭제하고 다시 서버를 돌렸죠. 이 행위가 매우 귀찮고 mongoDB에서 알아서 Index 자동 적용시켜주면 안되나 생각했습니다. 그러던 중 syncIndexes의 존재를 알게 되었습니다 ❗️ 찾아보니 5.2.0 버전 이전에는 mongoose에서 지원을 해주지 않았다고 합니다. 하지만 5.2.0 이후부터는 synclndexes()를 프로덕션 데이터베.. 2022. 7. 28.
[MongoDB] Transaction 트랜잭션 개념부터 실습까지 (3) - NodeJS에 사용하기 1편 Transaction 트랜잭션 개념부터 실습까지 https://bcoding-lab.tistory.com/293?category=868268 [MongoDB] Transaction 트랜잭션 개념부터 실습까지 (1) - Transaction numbers are only allowed on a replica set member Transaction이란 예를 들어, 위 그림과 같이 4개의 데이터를 지운다고 과정을 하도록 하겠습니다. 순차적으로 작업을 하던 중 C에서 에러로 인해 데이터 삭제가 불가능한 상태가 되었습니다. C,D는 bcoding-lab.tistory.com 2편 Transaction 트랜잭션 개념부터 실습까지 https://bcoding-lab.tistory.com/298?category.. 2022. 7. 13.
728x90
반응형