개발을 막 배우기 시작했을 때 정보처리 국가 공인 시험을 준비하면서, 나선형 개발 프로세스, 애자일이라고 불리우는 개발 프로세스를 처음 알게 됐었다. 개발자로서 첫 취업을 준비하면서는, 당시 우아한형제들이었던것으로 기억하는데, 추천 도서 목록이 주어졌던 것으로 기억한다. 그 외에 많은 개발쪽의 구루라고 하는 사람(주로 페이스북 인플루언서)들이 추천하는 많은 책들이 애자일에 관한 내용을 다루고 있었던 것으로 기억한다. 그렇게 소프트웨어 업계에서 일하는 방식이 일반적으로 그렇다라는 것을 알게 됐었다. 애자일의 본질부터 이야기하고 가자면, 짧게 반복되는 주기마다 가치를 더하는 것이 애자일의 핵심이자, (앞으로 이 블로그에서 애자일과 스크럼에 이야기 하게 된다면) 이것이 하고 싶은 이야기의 전부이다. 개발 프로..
요즘 좋은 스크린샷 프로그램이나 스크린캐스트 프로그램들이 많이 나와있지만, 순정 기능을 익혀 두는 것은 생산성 향상에 많은 도움이 됩니다. 그런 의미에서, 맥OS 의 기본 스크린샷과 Preview 기능을 활용하여 스크린샷을 찍고, 스크린샷에 별도의 표시(Annotation)를 하는 방법을 알아봅니다. 맥OS 스크린샷 단축키Cmd + 3: 전체화면 스크린샷 찍기Cmd + 4: 선택영역 스크린샷 찍기Cmd + 5: 동영상 찍기(스크린캐스트) & 스크린샷 옵션스크린샷으로 협업능력 끌어올리기기본 설정맥OS 의 스크린샷 기능과 Preview 의 Annotation 기능을 조합하면 손쉽게 스크린샷에 표시를 할 수 있습니다. 먼저 스크린샷을 찍은 뒤 어떤 기능을 할지 정할 수 있는데요. 거기서 Preview 를 먼저..
현대의 프로그램은 많고 복잡한 의존 관계를 가지고 있습니다. 만약 의존하고 있던 프로그램의 버전이 업데이트 되면서 문제가 생기면 대응을 해야하는데, 의존하는 라이브러리가 수십개에다가, 모든 라이브러리가 잦은 업데이트를 한다면, 개발은 커녕 업데이트에 대응하느라 시간을 모두 써야 할 것입니다. 이럴 때, 대상 라이브러리의 버전을 지정하여 효율적으로 관리해줄 수 있게 도와주는 버전 관리 방식 중 대표적인 방법이 '유의미 버전' 으로 번역되는 semantic versioning(줄여서 semver) 입니다. https://semver.org/lang/ko/ 이 글에서는 유의적 버전이 어떻게 작동하는지 스토리텔링 방식으로 풀어보며, 각 버전 변경의 대표적인 사례를 함께 살펴 보고자 합니다. 이 글을 한 번 읽어..
PDF 파일의 크기가 큰 파일의 크기(약 200~300MB)를 줄여보려고 Acrobat Reader 와 각종 웹 PDF 리사이징 기능을 지원하는 서비스들을 이용해보았습니다만, 모두 일정 시간이 지나면 타임아웃 에러를 던지거나, 무한 대기 상태에 빠져버리곤 하는데요. 만약 다른 서비스에서 pdf 사이즈를 줄이다가 실패하셨다면 시도해보시길 바랍니다. pd2pdf 라는 커맨드라인 유틸리티를 활용해서 pdf 파일의 크기를 줄이는 방법을 알아봅니다.ps2pdf 로 pdf 파일 크기 줄이기ps2pdf -dPDFSETTINGS=/ebook original.pdf compressed.pdf ps2pdf 가 설치되어 있는 상태에서 해당 폴더로 이동하여 위 스크립트를 실행합니다. original.pdf 에 줄이고자 하는..
백엔드 개발자로 일하면서 구독하고 있는 메일링 서비스들을 정리해보았습니다. 7년간 다양한 메일링 서비스를 구독도 하고 구독취소도 해오면서 개인적으로 정제된 메일링 서비스들을 나열해봅니다. 2단계(구독 필수, 구독 선택)로 나누어 리스트를 제안드립니다. 이 글은 2024년 11월 16일에 작성되었으며, 주기적으로 저의 실제 구독 현황에 따라 리스트를 업데이트합니다.💎 구독 필수뉴스레터 컨텐츠의 품질이 우수geeknews weeklyhttps://news.hada.io/weekly 에서 구독할 수 있습니다. 대한민국의 해커뉴스를 표방하여 만들어진 서비스입니다. 구독을 하면 매주 월요일에 지난 주의 news.hada.io 커뮤니티의 핫토픽을 리스트로 받아볼 수 있습니다. 특히 2~3개 정도의 메인 토픽과 ..
나와 함께했던 IDE들초등학생 시절 다니던 컴퓨터학원에서 정보처리기능사 시험을 준비하면서 간단한 프로그래밍을 배웠었다. 당시에는 정보처리기능사 시험을 Visual Basic 이라는 언어를 활용해서 치렀었기 때문에, 자격증을 따려면 Visual Studio 로 코딩을 배웠어야 했다. 중학교 시절에는 RPG 만들기라는 프로그램으로 게임을 만들어보기도 했었다. 불리언, 분기, 변수, 반복 등의 개념이 있어서 지금의 스크래치와 어찌보면 그 결을 같이 한다고 볼 수도 있겠다 싶다. 대학 시절에도 전산물리 과목을 수행하기 위해 포트란이라는 고대언어를 사용하기도 했었는데, IDE 는 Visual Studio 였다. 그러다가 생활코딩 웹애플리케이션 만들기 수업을 듣기 시작하면서, 본격적으로 프로그래밍의 세계에 뛰어들게..
CORS 에러는 웹 개발에 입문하는 많은 사람들에게 좌절을 안겨주는 유명한 오류입니다. CORS 에러는 웹을 이루는 다양한 요소를 먼저 이해하고 나면, 어렵지 않게 이해할 수 있습니다. 하지만 그 요소가 무척이나 많은데요. 필요한 개념들을 다양한 실습과 함께 모두 뜯어보고 이해해봅시다. [CORS 가 어려운 이유]는 시리즈로 구성됩니다. 아래 목차를 확인해주세요. CORS 가 어려운 이유CORS 에러 마주하기HTTP 요청과 응답의 구조CORS 에러 발생 주체와 시점Origin과 Same-origin PolicyCORS의 정의 톺아보기 (현재 글) ✅ "CORS? 그거 에러 아니야?" 하셨다면 한 번 읽어보시길 바랍니다.✅ CORS 에러 해결을 단순히 cors 라이브러리의 가이드를 단순히 따라 해결해오셨다..
CORS 에러는 웹 개발에 입문하는 많은 사람들에게 좌절을 안겨주는 유명한 오류입니다. CORS 에러는 웹을 이루는 다양한 요소를 먼저 이해하고 나면, 어렵지 않게 이해할 수 있습니다. 하지만 그 요소가 무척이나 많은데요. 필요한 개념들을 다양한 실습과 함께 모두 뜯어보고 이해해봅시다. [CORS 가 어려운 이유]는 시리즈로 구성됩니다. 아래 목차를 확인해주세요. CORS 가 어려운 이유CORS 에러 마주하기HTTP 요청과 응답의 구조CORS 에러 발생 주체와 시점Origin과 Same-origin Policy (현재 글) ✅ 출처(origin)의 의미를 알고싶다면 한 번 읽어보세요.✅ 교차출처(Cross-origin)의 의미와 동일출처(Same-origin)의 의미를 알고싶다면 한 번읽어보세요.✅ 웹..
CORS 에러는 웹 개발에 입문하는 많은 사람들에게 좌절을 안겨주는 유명한 오류입니다. CORS 에러는 웹을 이루는 다양한 요소를 먼저 이해하고 나면, 어렵지 않게 이해할 수 있습니다. 하지만 그 요소가 무척이나 많은데요. 필요한 개념들을 다양한 실습과 함께 모두 뜯어보고 이해해봅시다. [CORS 가 어려운 이유]는 시리즈로 구성됩니다. 아래 목차를 확인해주세요. CORS 가 어려운 이유CORS 에러 마주하기 HTTP 요청과 응답의 구조CORS 에러 발생 주체와 시점 (현재 글) ✅ CORS 에러는 누가 발생시킨건지 궁금하다면 이 글을 한 번 읽어보세요.✅ CORS 에러를 발생시킨 주체가 '웹브라우저'임을 직접 확인해봅니다. CORS 에러는 어디서 발생한 에러일까요? 서버가 에러를 응답한걸까요? 정답부..
CORS 에러는 웹 개발에 입문하는 많은 사람들에게 좌절을 안겨주는 유명한 오류입니다. CORS 에러는 웹을 이루는 다양한 요소를 먼저 이해하고 나면, 어렵지 않게 이해할 수 있습니다. 하지만 그 요소가 무척이나 많은데요. 필요한 개념들을 다양한 실습과 함께 모두 뜯어보고 이해해봅시다. [CORS 가 어려운 이유]는 시리즈로 구성됩니다. 아래 목차를 확인해주세요. CORS 가 어려운 이유CORS 에러 마주하기 (현재 글)HTTP 요청과 응답의 구조 ✅ HTTP 요청메시지의 구조 또는 응답메시지의 구조를 알고싶다면 한 번 읽어보세요.✅ 실제 HTTP 요청을 보내보고, 요청메시지의 모습과 응답메시지의 모습을 직접 눈으로 확인해봅니다. 웹브라우저(client)는 서버에 요청(request)하고, 요청을 받은 ..
CORS 에러는 웹 개발에 입문하는 많은 사람들에게 좌절을 안겨주는 유명한 오류입니다. CORS 에러는 웹을 이루는 다양한 요소를 먼저 이해하고 나면, 어렵지 않게 이해할 수 있습니다. 하지만 그 요소가 무척이나 많은데요. 필요한 개념들을 다양한 실습과 함께 모두 뜯어보고 이해해봅시다. [CORS가 어려운 이유]는 시리즈로 구성됩니다. 아래 목차를 확인해주세요. CORS가 어려운 이유CORS 에러 마주하기 (현재 글) ✅ CORS 에러를 한 번도 본 적이 없다면 읽어보세요.✅ CORS 에러를 별도의 세팅 없이 브라우저만으로 재현해봅니다. CORS 에러를 처음 들어보셨다면, 일단 CORS 에러를 만나보도록 합니다. google.com 에서 개발자도구를 열어 youtube.com 을 fetch 해봅니다.CO..
세상에 가득한 거짓을 심화시키지 않기'알잘딱깔센'으로 대표되는 대한민국의 의사소통 문화는 high-context 문화, guess 문화라고도 합니다. 서로의 대화의 바탕에 공유되는 거대한 배경(high-context)이 있고, 대화 속에서 상대방의 눈치를 살펴 적당히 추측(guess)하여 의도를 파악합니다. 반면 서양 문화는 low-context, ask 문화라고 부른다고 합니다. 공유되는 배경이 적고(low-context), 상대방의 의도가 무엇인지 아직 모호하다면 부족한 부분을 질문(ask)을 통해 채웁니다. 두 사람이 대화를 합니다. 서로 '알 것 같은' 느낌이 들어, '충분히 알았다는 느낌'이 들어 대화를 그만 둡니다. 시간이 흘러 다시 마주하게 된 두 사람은 기분이 좋지가 않습니다. '제가 그렇..