전체 글 6

회고 템플릿

회고의 사전적 의미 회고의 사전적 의미는 "지나간 일을 돌이켜 생각함" 등을 의미한다. 말 그대로 내가 한 것을 다시 뒤돌아보고 생각하는 것이다. 회고는 왜 작성할까? 회고는 개인 단위로부터 프로젝트, 팀 단위로까지도 다양하게 작성되는데 쉽게 생각하면 오답 노트를 작성하는 것과 비슷하다. 회고를 작성하는 것이 인기를 얻고 많은 사람들이 작성하는 이유는 애자일 방법론이 인기를 끌면서 시작이 되었다고 한다. 애자일 방법론에서 짧은 주기로 계속되는 개발 과정 안에서 성공 요인이나 문제점을 되돌아 볼 수 있게 해주고, 항상 문제를 인지하고 빠르게 해결할 수 있도록 체계를 갖추는 것이다. 회고를 작성하는 여러 템플릿 회고를 작성하는데 많은 사람들이 사용하는 템플릿이다. KPT KPT는 Keep, Problem, ..

카테고리 없음 2022.12.16

ORM

이번에 프로젝트를 진행하면서 TypeORM 이라는 프레임워크를 처음 사용해보게 되었는데, ORM 이라는 것이 무엇인지 잘 알지 못한 상태로 프로젝트를 진행하고 있다. 이 포스팅에서는 ORM이 무엇인지에 대해 알아보고자 한다. ORM(Object-relational mapping) 객체와 데이터베이스 데이터를 매핑하는 것을 말한다. ORM이 생겨난 이유 하지만 이러한 ORM이 없어도 쿼리문을 보내면서 기존까지 잘 사용해왔는데 왜 이런 툴이 생겨났을까? 우리는 어떤 애플리케이션을 만들게 되면 보통 객체에 데이터를 담고 보관을 하게 된다. 이렇게 생성한 객체를 영구적으로 저장하기 위해 파일이나 데이터베이스에 입력한다는 것은 객체와 그와 연결된 객체들을 데이터베이스의 테이블에 저장 한다는 것을 의미하게 된다. ..

카테고리 없음 2022.11.28

애자일 (Agile)

애자일이란 무엇일까? 프로그래밍 개발 관련 글들을 읽다보면 심심찮게 애자일이라는 단어를 보게된다. 프로그래밍에서 애자일이라는 단어가 가지는 의미가 무엇인지 알아보자. 애자일 소프트웨어 개발 방법론 애자일은 기민한이라는 뜻을 가지고 있다. 애자일은 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식이다. 즉, 일정한 주기를 가지고 기능을 계속하여 만들고, 추가하여 그때 필요한 것을 수정, 추가하여 소프트웨어를 개발해가는 방식이다. 애자일 개발 방법론에서는 기능의 구현을 목표로 하는 짧은 주기를 가지는데 거대한 아키텍처를 설계하지 않고 주기(이터레이션 혹은 스프린트)에서 달성할 수 있는 만큼의 설계를 추구한다. 이러한 개발 방법론이 왜 생겨났을까? ..

카테고리 없음 2022.11.27

Recycler View 중첩

Recycler View 구글 공식 문서에서는 Recycler View를 아래와 같이 설명하고 있다. RecyclerView를 사용하면 대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 RecyclerView 라이브러리가 필요할 때 요소를 동적으로 생성합니다. 이름에서 알 수 있듯이 RecyclerView는 이러한 개별 요소를 재활용합니다. 항목이 스크롤되어 화면에서 벗어나더라도 RecyclerView는 뷰를 제거하지 않습니다. 대신 RecyclerView는 화면에서 스크롤된 새 항목의 뷰를 재사용합니다. 이렇게 뷰를 재사용하면 앱의 응답성을 개선하고 전력 소모를 줄이기 때문에 성능이 개선됩니다. Recycler View 구현 일단 Recycler..

카테고리 없음 2022.10.04

허상 포인터 (Dangling Pointer), 와일드 포인터(Wild Pointer)

허상 포인터, 와일드 포인터 허상 포인터, 와일드 포인터는 컴퓨터 프로그래밍에서 유효한 객체를 가르키고 있지 않는 포인터를 말한다. 허상 포인터 허상 포인터는 객체 파괴시에 발생하는데, 즉 객체에 대한 참조가 포인터 값에 대한 수정 없이 삭제되거나 할당 해제돼서 포인터가 계속 할당 해제된 메모리를 가르키는 때 발생한다. 시스템은 할당 해제된 메모리를 다른 프로세스에게 재할당하겠지만, 기존 프로그램이 허상 포인터를 역참조하면 메모리는 현재 전혀 다른 데이터를 갖고 있을 것이므로 예측할 수 없는 행동이 발생하게 된다. 특히 프로그램이 허상 포인터가 가리키는 메모리에 쓰기를 하면, 관련되지 않은 데이터의 조용한 오염이 발생하게 되고, 이것은 찾기가 매우 힘들어진다. 참고로 리눅스, 유닉스의 경우에는 세그멘테이..

카테고리 없음 2022.09.28

MySQL 설치 및 ER_NOT_SUPPORTED_AUTH_MODE 해결

MySQL 설치 개인적으로 brew와 같은 패키지 매니저를 사용하는 것을 선호해서 brew를 이용하여 설치했다. 물론 바이너리 파일로도 설치할 수 있다. brew install mysql brew를 이용하여 설치시 위 한 문장으로 편하게 설치할 수 있다. ER_NOT_SUPPORTED_AUTH_MODE (errno: 1251) Node.js와 MySQL 연결시에 ER_NOT_SUPPORTED_AUTH_MODE / errno: 1251 오류가 발생했던 문제가 있었는데, MySQL 서버 접속 후 아래 명령어로 해결할 수 있었다. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '{password}';

카테고리 없음 2022.09.28