블로그

프로그래밍
2021.04.08.

forEach 함수는 async 함수를 기다려주지 않는다

최근 Mongoose를 사용하는 프로젝트를 진행하면서 forEach 함수는 비동기(async) 함수를 기다려주지 않는다는 걸 알게 되었다. forEach 함수의 콜백이 비동기 함수일 때 경험한 문제 문제가 생긴 코드는 아래와 같다. 이 코드는 wantedGenres 배열의 각각의 값에 대해 MongoDB에서 일치하는 오브젝트를 찾아 genres 배열에 넣고자 하는 코드이다. 예상하기에는, forEach의 콜백 함수에서 genres에 모두 삽입이 완료된 후 결과가 출력될 것으로 보였다. 그러나 실제 실행 결과에서는, 최종 결과가 먼저 출력된 후 삽입이 일어났다.

  • JS
  • 비동기
개발/React
2021.01.30.

React에서 Quill 입력시 입력 오류 해결

개인 프로젝트로서 개발중에 위지윅 에디터가 필요했다. 여러 에디터들을 비교해보니 Quill 에디터가 괜찮아 보였고, Next.js로 만든 페이지 위에서 사용하고자 하였다. 그래서 찾다보니 Quill 에디터를 React에 적용하는 코드까지 올려주신 감사한 글이 있었고, 이를 활용하여 정상적으로 에디터를 띄울 수 있었다. 그런데, 위 사진과 같이 영문과 한글 모두 첫 글자를 입력하게 되면 커서가 맨 앞으로 가버리는 문제가 있었다.

  • React
  • Quill
  • 문제 해결
프로그래밍/C#
2020.02.09.

public 필드 vs 자동 구현 프로퍼티 비교 분석

이 글은 C#에서 public 필드(Field)와 자동 구현 프로퍼티(Auto-Implemented Property) 중 무엇을 사용해야 하는가 고민에서 시작하여, 필드와 자동 구현 프로퍼티의 차이점, 성능에 관해 실험해본 내용을 다룬다.

  • C#
  • 프로퍼티
토이프로젝트
2020.02.04.

#2 라즈베리파이 웹 서버 운영하기 - 고정 IP 설정, 포트포워딩

이번 글에서는 라즈베리파이 단말기의 내부 IP를 고정하고, 외부 IP의 특정 포트가 라즈베리파이의 내부 IP로 연결되도록 포트포워딩을 하는 방법을 다룬다. 이를 통해 외부에서 라즈베리파이로 접속할 수 있도록 한다.

  • 라즈베리파이
토이프로젝트
2020.01.21.

#1 라즈베리파이 웹 서버 운영하기 - 우분투 설치, SSH 설정

이 글에서는 라즈베리파이에서 Node.js와 Mongo DB를 사용하여 웹페이지를 제공하는 웹 서버를 만든 경험을 되새기면서, 알게 된 지식을 공유하고자 한다. 독자의 관련 지식이 없다고 생각하고 설명해볼 테니, 라즈베리파이로 본인의 웹페이지를 만들어보려는 사람에게 도움 되었으면 한다.

  • 라즈베리파이
토이프로젝트
2020.01.05.

프로그래밍으로 새해 인사말 보내기

며칠 늦긴 했지만, 2020년 새해가 밝았다. 새해가 되면 많은 사람들이 새해 인사말을 보낸다. 그래서 그런지 카카오톡도 1월 1일 새벽에 2시간 정도 멈췄다고 한다. 나도 마찬가지로 여러 개의 새해 인사말을 보냈다. 새해 인사말을 보내다 보니 컴퓨터로 인사말을 보내는 작업을 자동화해보자 생각했다. 금방 결과물을 볼 수 있을 걸로 보여 작은 토이 프로젝트 삼아 해보면 재밌을 것 같았다.

  • 토이프로젝트