목록전체 글 (59)
altair의 프로젝트 일기

개요 방학 동안 SQL에 대해 공부했다. 그동안 데이터 관리에 많은 관심이 있었지만 데이터베이스에 관해서는 깊이있게 공부하지 못했다. 그래서 일단 데이터베이스를 사용하는 방법인 SQL을 배우고 익히기 위해 프로젝트에 이를 적용해보기로 했다. 처음으로 K-MOOC에서 SQL 강의를 들었다. 강좌 | MOOC_DKUK0032 | K-MOOC www.kmooc.kr SQL의 대략적인 사용법은 강의에서 배웠지만 코드에서 데이터베이스를 사용하지 못하면 의미 없는 것이라 생각했다. 처음에는 JPA나 Hibernate 같은 추상화된 레이어를 써볼까 했지만, 데이터베이스와 SQL을 처음으로 쓰는 프로젝트이므로 일단 SQL을 내 손으로 직접 추상화하고 그 과정에서 느끼는 불편함을 나중에 다른 프레임워크들로 개선하려 했다..

먼저 구 테스트 코드를 분석해보자. 이 두 함수는 매 테스트의 처음과 끝에 실행된다. 테스트를 위해 원본 폴더, 목적지 폴더를 각각 생성하고 맨 마지막에 그 두 폴더를 삭제한다. 샘플 파일들이 담긴 폴더에서 필요한 파일을 원본 폴더에 복사한 후 테스트하는 구조로 만들어져 있다. 위 예시 테스트를 보자. jpg 이미지 하나를 압축하는 기능을 테스트하고 있다. 다른 모든 테스트들에게서 나타나는 공통적인 문제를 모두 포함한다. 파일 경로가 직접적으로 코드에 포함된다. 샘플 파일과 그 경로에 대한 종속성이 대단히 높다. 테스트할 파일 형식이 코드에 포함된다. 샘플 파일의 형식에 대한 종속성 또한 높다. 테스트 결과 중 일부를 출력한다. 유닛 테스트는 실패 또는 성공 두 상태만 존재하는 것이 좋다. 무엇보다 압축..

개요 딱 작년 이맘 때 라즈베리파이 피코로 온습도계를 만들었던 적이 있다. 라즈베리파이 피코로 온습도계 만들기 1. 배경 또 지겨운 여름이 시작되었다. 추우면 이불 속으로 들어가 숨기라도 하겠지만 이렇게 더운 날에는 피할 방도가 없다. 강렬한 태양신의 눈에는 누구도 벗어날 수 없는 모양이다. 녹은 아 altair823.tistory.com 여름 내내 아주 요긴하게 썼지만 겨울이 되자 딱히 흥미가 없어졌다. 겨울에는 온습도 자체가 그렇게 중요하지 않았던 것 같다. 날이 추우면 입으면 그만이니까. 그러나 다시 여름이 오고야 말았고, 오랫동안 안쓰던 온습도계에 전원을 연결했다. 그런데 이럴수가, 화면에 아무 숫자도 안 나오는 것이다. 케이스 밖에서는 할 수 있는 일이 없었기에 뚜껑을 깠다. 센서의 VCC 케이..

개요 예전에 ImageCompressor2 프로그램을 개발한 적이 있다. 본래는 내가 가장 중요한 사용자였고 일단 내 상황에 맞춰 라이브러리를 만들었다. 코드에서 나는 냄새들도 일단 덮어놓고 작동하기만 하는 부분도 많았다. 그런데 작년 어느 날, github 리포지토리에 풀 리퀘스트가 올라왔다. 불필요한 데이터 복사를 수정하는 코드였다. Avoid unnecessary copies in Compressor::resize. by adamreichold · Pull Request #4 · altair823/image_compressor (github.com) Avoid unnecessary copies in Compressor::resize. by adamreichold · Pull Request #4 · ..

서버 1 - 삼성 노트북 저번 글에서도 말했다시피 집에 두 라즈베리파이를 실행 중이었다. 하나는 깃랩 서버로, 하나는 나스로 말이다. 그러던 중 이모가 다른 곳으로 이사를 가시면서 오래된 노트북을 주셨다. 모델명은 NT300E5X-AD5S로 12년 8월에 출시되었다. i5-3570에 8GB 램, 256GB SSD를 탑재했다. 그 시절 노트북 치고 굉장히 큰 램과 저장공간을 갖고 있는 걸로 봐서 한 번 업그레이드가 이루어진 것 같았다. 유감스럽게도 디스플레이가 4초마다 한 번씩 2초간 멈추는 문제가 있었다. 그래서 이 참에 이 노트북을 서버로 만들기로 했다. 분해 256GB SSD를 제거한 모습이다. SATA 포드는 케이블로 보드에 연결되어 있다. 며칠 간 이 메인보드에 128기가 SSD만 꼽고 컴퓨팅 서..

개요 대학교에서 강의를 듣다보면 강의 자료들이 쌓이기 마련이다. 강의 PPT부터 필기, 과제, 프로젝트 파일들까지, 생각보다 많은 파일들이 모인다. 가지고 다니는 기기가 하나라면 그저 한 폴더에 몰아넣고 정리만하면 된다. 하지만 나는 사용하는 기기가 여러 개고 강의 자료도 많다. 거기다 과제 파일들까지 모두 손수 관리하기엔 너무 버거웠다. 나스에 넣고 여러 기기에서 나스에 접속해 다운로드 받는 식으로 관리했었는데, 귀찮아서 까먹고 수정해버려 파일이 충돌하거나 아이패드 같이 접속할 수 없는 기기에서 파일을 열어야 하는 경우가 있었다. 이번 글에선 내가 강의 자료들을 여러 기기에서 동기화하고 최신 버전을 유지하는 방법을 소개하고자 한다. 과거 코로나가 세상을 휩쓸기 전, 그리고 더 옛날 입대하기 전에는 서피..