본문 바로가기

분류 전체보기258

[책]혼자 공부하는 컴퓨터구조 + 운영체제 * 한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. * 이 책을 선택한 이유 나는 경영학과 출신으로 국비학원에서 6개월간 교육을 받고 웹 개발자로 취직하여 3년 차에 접어든다. 전공자들은 대체로 1, 2학년 때 컴퓨터 구조나 운영체제에 대해 필수로 학습한다고 들었다. 남들이 하도 필수 과목이다, 개발자라면 반드시 알아야하는 개념이다라는 말을 많이 해서 학점은행제로 컴퓨터 구조와 운영체제 과목을 이수했지만, 학점 은행제 특성상 재밌는 수업과는 거리가 멀어 흥미를 느끼지 못했다. 그 결과, 내 머릿 속에 남은 개념은 zero에 가까운 상태였다. 하지만 가슴 한켠엔 언젠간 공부해봐야지..라는 생각만 갖고 있던 차에 이 책을 만났다. * 이 책의 구성 핵심 키워드나 말풍선, 좀 더 알아보기, 핵심포인.. 2022. 12. 29.
그린랩스 DevDive 2022 2022년 11월 8일 그린랩스에서 개최한 컨퍼런스 DevDive 2022에 참가했다. 베프가 이런 컨퍼런스가 있다며 알려주었는데 예상 외로 많은 인원이 신청을 했는지 나만 당첨되어서 혼자 참가하게 됐다. 행사의 주제는 함수형 개발자로 성장하기 세션은 하스켈로 백엔드 시스템 만든 이야기, Scala와 ZIO로 쉽고 안전한 동시성 프로그래밍, 모노레포 희망편(Feat.Polylith), read-eval-print-loop 의 네개로 구성되어 있었다. 참가 신청을 할때도 모두 처음 보는 생소한 용어들이라 당황했지만, 이참에 알아보면 좋겠다고 생각해서 참가를 확정했다. 18시부터 진행되는 행사여서 회사는 2시간 휴가를 쓰고 이동. 친절한 안내 문자도 왔다. 처음 방문하는 곳이어서 여기가 맞나? 싶었지만 금방.. 2022. 12. 2.
Windows Service 개발 / Windows 서비스 앱 만들기 / 윈도우 서비스 실행 / eventLog 갑작스럽게 서비스 개발을 하게 되었다. 현 회사에서는 항상 1) 유지보수 2)간단한 수정 3)개발. 이 순서로 진행 되었기 때문에 기존 코드에 대해 분석할 시간을 어느정도 확보 한 뒤 개발에 들어갈 수 있었으나 이번엔 요건 분석 + 기존 로직 분석이 1일, 개발 2일로 총 3일이 주어졌다. 갑자기 해본적도 (실은 써본적도 거의 없는) 없는 서비스 개발을 맡게 되어 당황스러웠지만 달리 맡을 사람이 없었기 때문에 내가 맡게 되었다. 그나마 다행인 점은, 기존에 참고할 프로젝트 코드가 있고, 매우 유사한 로직도 다른 프로젝트에서 참고 할 수 있다는 점. 국내엔 윈도우 유저가 압도적으로 많지만 윈도우즈의 '서비스' 라는 게 있다는걸 얼마나 알고 있을까..? 나도 네트워크 관리사 2급 시험을 보면서 이런게 있다 .. 2022. 11. 23.
유난한 도전 경계를 부수는 사람들, 토스팀 이야기 기억 하고 싶은 부분 메모! 당신이 진정으로 되고자 하는 것이 무엇인지 마음은 이미 알고 있을 것입니다. 그 외에는 모두 부차적인 것입니다. 외제차가 드림카라는 다른 사람의 얘기를 들은 이승건 대표는 `덜컥 겁이 났단다. 꿈의 크기가 겨우 비싼 외제차 정도인 사람에 머물게 될까봐 두려웠다.` 라고 생각했다. 내 현실은 외제차는 커녕 국산 소형차조차 꿈도 못 꾸는데 꿈의 크기가 외제차인것조차 작게 느낀 이승건 대표가 야망이 얼마나 큰 사람인가에 대해 생각하게 되었다. 사람들의 삶을 더 낫게 변화시킨다라는 자부심이 그를 부지런히 움직이게 하는 동력이었다.다른 사람의 삶을 사느라 시간을 허비하지 마세요. (중략) 가장 중요한 것은, 여러분의 마음과 직관을 따르는 용기를 가지는 것입니다. 스티브 잡스의 졸업식 .. 2022. 11. 21.
[Git]04 - amend / cherry-pick / reset / revert / stash 챕터 안내 Ch05. 실무 사례와 함께 Git 다루기 실습을 위한 사전 준비: 새로운 원격저장소 만들기 amend: 수정 못한 파일이 있어요, 방금 만든 커밋에 추가하고 싶어요 cherry-pick : 저 커밋하나만 떼서 지금 브랜치에 붙이고 싶어요 reset : 옛날 커밋으로 브랜치를 되돌리고 싶어요 revert : 이 커밋의 변경사항을 되돌리고 싶어요 stash : 변경사항을 다른곳에 저장하고 싶어요, 커밋은 안만들래요 개념 정리 amend: 수정 못한 파일이 있어요, 방금 만든 커밋에 추가하고 싶어요 마지막 커밋을 수정amend한다는 의미 : 내가 지금 스테이지에 올린 변경사항이 기존 커밋에 추가 되면서 기존 커밋이 덮어 씌워진다. 현재 커밋을 수정하고 싶은 경우 커밋 메세지를 바꾸고 싶은 경우 이.. 2022. 11. 1.
[Git]03 - upstream / PR / fork / rebase / merge 전략 챕터 안내 Ch04. 둘 이상의 원격저장소로 협업하기 원본저장소를 복사해서 너구리의 원격저장소를 만든다(fork) 원본저장소에 풀 리퀘스트 보내기 묵은 커밋을 새 커밋으로 이력 조작하기(rebase) 개념 정리 upstream 원본저장소를 지칭하는 관용적 닉네임 평행세계를 만드는 브랜치, 평행우주를 만드는 포크 기본적으로 원격저장소에 커밋을 직접 푸시할 수 있는 사람은 소유자뿐이다. 다른 사람이 푸시 하려면 협력자로 등록해야한다. 원격저장소의 소유자는 많은 개발자들에게 의견을 받고 오픈소스를 개선하고싶은 니즈가 있다. 개발자는 오픈소스에 참여하고 기여하고 싶어한다. 하지만 원본저장소에 직접 푸시하는것에 대한 부담이 있다. 이럴때 대안이 될 수 있는 방법이 풀 리퀘스트 Pull Request 이다. 원본저.. 2022. 11. 1.
[Git]02 - 협업 / Branch / HEAD / Conflict / Pull Request 개념 정리 브랜치 특정 기준에서 줄기를 나누어 작업할 수 있는 기능 체크아웃 브랜치를 이동하는 명령어. 새 브랜치를 체크아웃 체크박스를 선택하면 브랜치를 만듦과 동시에 그 브랜치로 이동하게 된다. 체크를 해제하고 브랜치를 생성하면 HEAD는 여전히 master를 가리킨다. 병합merge 두 버전의 합집합을 구하는 것. 여러 사람이 동시에 버전 관리를 해야한다면 ? 서로의 작업물에 의존하지 않고 내가 원할 때 코드를 올리고, 또 내가 원할 때 협업자의 코드와 합칠 수 있다. 특정 기준에서 줄기를 나누어 작업할 수 있는 기능을 브랜치라고 한다. 새로운 가지로 커밋을 만들려면 반드시 브랜치를 먼저 만들어야한다. 여러 작업자가 한 커밋을 기준으로 커밋을 만드려고 한다면 오류가 난다. 먼저 커밋한 사람은 정상적으.. 2022. 6. 28.
[Git]01 - 기본개념 / 시작하기 / 커밋 / 원격저장소 개념 정리 버전관리 작업을 진행할 때 원하는 시점(버전)으로 이동할 수 있다 버전관리 툴 버전관리를 도와주는 툴. Git과 Github등이 있다. GUI 그래픽 유저 인터페이스. 마우스로 클릭해서 사용하는 방식 CLI 커맨드 라인 인터페이스. 명령어를 입력하는 방식 Git Bash CLI방식으로 Git을 사용할 수 있는 환경 체크아웃한다 checkout 으로 원하는 지점으로 파일을 되돌릴 수 있다. 타임머신과 같다. 로컬저장소 git으로 버전관리하는 내 컴퓨터 안의 폴더를 의미 원격저장소 github에서 협업하는 공간(폴더)를 의미 레포지토리 원격저장소 푸시 로컬저장소의 커밋을 원격저장소에 올리는 것 풀 원격저장소의 커밋을 로컬저장소에 내려받는것 첫번째 커밋 만들기 Git 시작하기 git init .gi.. 2022. 6. 2.
실용주의 프로그래머 Assignment #15 - 9장. 실용주의 프로젝트 오늘 TIL 3줄 요약 버전관리, 테스트, 자동화 실용주의 기법 요약 실용주의 시작 도구 TIL (Today I Learned) 날짜 2022-04-05 오늘 읽은 범위 9장. 실용주의 프로젝트 책에서 기억하고 싶은 내용을 써보세요. 안정적인 소프트웨어를 위한 마법 삼총사인 버전관리, 테스트, 자동화 프로그래머는 고양이 같은 면이 잇다. 호기심 많고 제멋대로이며, 고집이 세고, 독립적인 데다, 가끔은 인터넷에서 숭배를 받기도 한다. 팀 전체에 실용주의 기법들을 어떻게 적용 할 수 있는지 간략한 요약 깨진 창문을 없애라 - 사소한 결점을 아무도 고치지 않고 놔두어서는 안되고, 제품의 품질에 책임을 져야한다. 삶은 개구리 - 개구리는 서서히 변화하는 환경을 감지하지 못하고 결국 삶아진다. 팀은 개인보다 더 .. 2022. 4. 6.
실용주의 프로그래머 Assignment #14 - 미션(3) 연습문제 33 다음 문장들이 진정한 요구사항인가? 가능하다면 진정한 요구사항이 아닌것을 좀 더 유용하게 고쳐보라 응답시간은 500ms이하여야한다. 요구사항이 맞다고 생각한다. 코드 자체의 효율성도 중요하겠지만 응답 시간을 향상 시키기 위해서는 서버나 데이터베이스의 성능 또한 중요하다고 생각된다. -> 해답 : 요구사항처럼 보인다. 환경 대문에 애플리케이션에 제약을 추가할 수 있다. 모달 창의 바탕색은 회색이다. 요구사항이 맞다고 생각한다. -> 해답 : 이 문장만으로는 진짜 요구사항이 아니다. 무엇이 필요한지 알기 위해서 "왜?"라는 질문을 할 필요가 있다. 애플리케이션은 프론트엔드 프로세스 몇개와 백엔드 서버로 구성된다 요구사항이 아니라고 생각한다. 몇개의 프론트엔드와 백엔드 서버로 구현할지는 고객의 .. 2022. 4. 4.
실용주의 프로그래머 Assignment #13 - 8장. 프로젝트 전에 오늘 TIL 3줄 요약 요구사항 사용자와 함께 일하라 짝 프로그래밍과 몹 프로그래밍 TIL (Today I Learned) 날짜 2022-04-03 오늘 읽은 범위 8장 프로젝트 전에 책에서 기억하고 싶은 내용을 써보세요. 신입 개발자들이 자주 범하는 실수는 이런 요청 사항을 받았을 때 바로 해결책을 구현해 버리는 것이다. 하지만 의뢰인이 미처 고려해보지 않은 문제도 있을 것이다. 좋은 개발자라면 협상 능력을 키울 수 있는 상황이기도 하다. 요구사항은 피드백을 반복하며 알게된다. 말로 표현하기 어려울 때도 있다. 목업이나 프로토타입을 만들어서 의뢰인에게 직접 다루어 볼 수 있도록 한다. 만든 모형이나 프로토 타입이 이리저리 바꾸기 쉬워서 의뢰인과 대화하는 도중에도 계속 바꿀 수 있다면 이상적이다. 실용주.. 2022. 4. 3.
실용주의 프로그래머 Assignment #12 - 7장. 코딩하는 동안 오늘 TIL 3줄 요약 프로토타이핑 의도적으로 프로그래밍하기 우연에 맡기지 않기 TIL (Today I Learned) 날짜 2022.04.02 오늘 읽은 범위 7장 책에서 기억하고 싶은 내용을 써보세요. 가면증후군 : 자신이 가진 능력이 과대평가 받았고 자신은 자격이 없는 사람이라고 생각하며 불안해하는 것 코드가 잘 안 써질때가 있다. 그럴때는 일단 멈추고, 뇌가 정리 할 수 있는 약간의 시간과 공간을 확보하라. 산책을 하거나 점심을 먹거나 수다를 떨거나.. 이 방법이 잘 통하지 않는다면 코드에 대한 그림을 그리거나, 동료에게 설명을 해보라. 사람이 없다면 고무오리라도 괜찮다. 그래도 어렵다면 프로토타이핑으로 만들어라. 코드를 우연에 맡기지말아라. 왜 잘 돌아가는지 몰라서는 안된다 인터넷 검색으로 찾은.. 2022. 4. 3.
실용주의 프로그래머 Assignment #10 - 6장. 동시성 오늘 TIL 3줄 요약 동시성과 병렬성 공유 상태 없는 동시성을 위하여 액터를 사용하라. 칠판 시스템 TIL (Today I Learned) 날짜 2022.03.29 오늘 읽은 범위 6장. 동시성 책에서 기억하고 싶은 내용을 써보세요. 동시성(Concurrency): 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것 병렬성(Parallelism): 실제로 동시에 실행되는것 모든 일에는 동시성이 있다. 여러분의 애플리케이션이 실제 세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 동시성이나 병렬성을 지원하는 코드를 쓰는 건 왜 어려울까? 한가지 이유는 우리가 프로그래밍을 순차적 시스템으로 배워서다. 순차적으로 사용할 땐 비교적 안전하지만, 동시에 두가지 일이 일어.. 2022. 3. 29.
반응형