분류 전체보기
코딩하는 이유
코딩하는 이유
2023.10.30학교 수업에서 미래의 나를 그리는 과제내주었다. 오랜만에 이런 고민을 다시 해본다. 왜 내가 코딩을 시작했는지, 코딩이 재밌는지, 평생 코딩을 할건지 이런 고민을 가끔하고는 한다. 코딩 입문 때를 떠올려보면, 다른 사람이 쓸만한 애플리케이션을 처음으로 만든 것은 고등학교 3학년 때이다. 당시 나는 아무것도 모르는 상태로 컴공을 지원하기 싫었다. 그때는 막연히 컴공 = 개발자인줄 (전혀 아니였지만) 알았고 무작정 앱 개발을 시작했다. 이때 나는 자바의 다형성도 무슨 의미인지 몰랐다. 자바의 신이라는 책과 안드로이드 책 한 권을 들고 매일 뒤적거렸고 구현할 때는 인터넷 검색과 문서를 계속 읽었지만 제대로 이해하기는 어려웠다. 하지만 계속 밤마다 삽질 이어갔고 겨우 반채팅 앱을 개발해서 반 친구들에게 짠!하고..
Flutter3.0 Firebase 연동하기
Flutter3.0 Firebase 연동하기
2023.10.051. Firebase CLI를 설치한다다음의 페이지에서 설치할 수 있다. CLI 설치 가이드: https://firebase.google.com/docs/cli?hl=ko#setup_update_cli 설치한 다음 로그인까지 해주자.firebase login2. Firebase Project를 하나 생성한다firebase projects:create groot-fcm-test나는 groot-fcm-test라는 이름으로 프로젝트를 만들었다. 전세계에서 유일한 명칭이어야 해서 특이하게 설정해야 한다. 이제 Firebase Console에 접속해보면 방금 생성한 프로젝트가 보일 것이다. 콘솔 링크: https://console.firebase.google.com/ 3. 작업할 Flutter 프로젝트를 생성하자..
[서평] 그림으로 배우는 리눅스 구조
[서평] 그림으로 배우는 리눅스 구조
2023.09.24한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 개발을 하다 보면 리눅스 커널에 관해 알아야 할 때가 옵니다. 저는 제 프로젝트를 배포하고 운용하면서 이런 필요성을 느꼈었습니다. 갑자기 시스템이 느려졌을 때 운영체제 배운 것으로 추측을 해보지만 확인할 수 없다면 답답할 수밖에 없습니다. 간단하게 검색한 명령어로 원인을 찾아 해결해 보지만 가끔은 찝찝하곤 합니다. 이 책을 읽으면서 예전에 학교에서 공부한 운영체제 지식이랑 리눅스 커널에 관해 연결지으며 많은 부분을 알아갈 수 있었습니다. 이 책을 읽으며 프로그램을 운용하고 모니터링하며 배웠던 많은 부분을 정리해갈 수 있었습니다. 이 책은 실전에 도움될 수 있도록 구성되어 있습니다. 풍부한 그림도 장점이지만 고/파이썬을 기반으로 된 코드로 실습을 ..
[서평] 이토록 쉬운 리액트로 배우는 소켓 프로그래밍
[서평] 이토록 쉬운 리액트로 배우는 소켓 프로그래밍
2023.09.18루비페이퍼 출판사로부터 책을 제공받아 작성된 서평입니다. 책 소개 간단한 백엔드 코드와 함께하는 프런트엔드를 개발자를 위한 웹소켓 프로그래밍 책입니다. 웹에서 소켓 통신을 하기 위한 기본적인 개념을 다루며 socket.io (버전 4) 라이브러리를 이용해서 실시간 웹 서비스를 만드는 내용 위주로 구성되어 있습니다. 후기 이전에 WebRTC 실시간 통신 프로젝트의 (NestJS를 이용한) 소켓 서버를 짜며 고생했던 경험이 있습니다.. 당시 저는 백엔드라서 Postman으로 socket.io 서버를 테스트했습니다. 새로운 채널이 추가될 때마다 채널 순서나 실시간 상태가 꼬여서, 프론트 분들이 리액트에서 괴로워하는 모습을 자주 봤었는데 그걸 제가 경험해 볼 수 있었습니다. 당시 이 책이 있었다면 정말 좋았을 ..
[서평] 모의 해킹으로 알아보는 리눅스 서버 해킹과 보안
[서평] 모의 해킹으로 알아보는 리눅스 서버 해킹과 보안
2023.08.29길벗 로 선정되어서 책을 제공받아 작성된 서평입니다.책 소개실제로 실습을 위한 환경을 구축하고 모의 해킹을 해보며 배우는 리눅스 보안!리눅스 보안 뿐만이 아니라 리눅스에서 기본적으로 돌아가는 웹 서버, 데이터베이스에 관해서도 실습할 수 있습니다. 책의 앞 부분에 초보자를 위해서 리눅스 명령어를 자세하게 소개합니다. 그리고 다소 어려울 수 있는 환경 구축에 많이 신경 썼습니다. 그래서 리눅스 명령어에 크게 익숙하지 않더라도 괜찮습니다. 웹을 공부하는 입장에서 실제로 구축하고 공격해보는 과정에서 배우는 것이 많았습니다. 전공 때 배운 DNS 서버를 떠올리며 AWS Route53으로 추상적인 버튼만 누르면서 레코드를 설정해봤지 실제 DNS Zone 파일 설정해보는 것은 새로운 경험이었습니다. 한 발자국 나아가..
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
2023.08.16AWS Free Tier가 만료되기 직전이 되자 그동안 편하게 쓰고 있던 Free Tier RDS나 Elastic Load Balancer의 가격이 무섭게 느껴지기 시작했습니다. Free Tier의 무료 서비스로 쓰고 있던 것을 대체하며 서비스를 유지하기 위해 최대한 Low 스펙 인스턴스 안에 욱여넣는 경험을 공유합니다. AWS Free Tier가 만료되며 최근 Modoco 서비스를 위해 쓰던 AWS 요금이 예상했던 것보다 많이 들어서 급하게 PR 하나를 날렸습니다. ➡️ https://github.com/SWM-FIRE/modoco-backend/pull/56 new feature: https without loadbalancer👍 by IamGroooooot · Pull Request #56 · SW..
2023년도 상반기 인턴십 후기!
2023년도 상반기 인턴십 후기!
2023.07.04인턴십을 수행하며... 여기에 나온 기술적인 모든 내용은 기업으로부터 허락받고 올립니다. 동기 인턴십 이전에는 열정으로 학생들끼리 뭉쳐서하는 여러 프로젝트를 경험해봤습니다. 아무래도 학생으로 뭉친 프로젝트는 자원이 더 한정적이고 서로 바라는 것이 달라서 산으로 가고는 했습니다. 의사결정할 때도 이런 아주 한정된 비용에 맞춰서 이루어지고는 했습니다. 그러면서 많은 의문과 해결하지 못한 문제점들이 생겼고 실제 기업 업무를 경험해보고 싶어졌습니다. 그리고 쿠버네티스, 컨테이너, IaC 등을 개인 흥미로 공부했는데 이것으로 직접 서비스를 만들어보고도 싶었습니다. 책과 말보다는 제 경험을 쌓고 싶은 마음도 컸습니다. 그래서 이번에 인턴십을 DevOps 및 백엔드 개발로 지원하게 되었습니다. 한 일 저는 이번 인턴..
(2023년 5월) 개발, CS 공부, 자격증 정보 공유
(2023년 5월) 개발, CS 공부, 자격증 정보 공유
2023.05.27코로나가 시작될 때 여러모로 비대면 강의도 혼란스럽고 학습에 고생하는 분을 몇명 봤어서 제가 공부할 때 본 자료를 추려서 공유해본 적이 있습니다. 그때 생각보다 반응이 좋았아서 학교 에브리타임 커뮤니티에 1년에 한번 정도 정보 공유를 하고는 합니다. 제가 본 자료를 정리하면 되는 것이라 별로 노력도 많이 들지 않고 그래서 가끔 시간이 나면 공유하곤 합니다. 내용은 주로 1년 동안 제가 직접 개발 공부를 하면서 알게 된 혹은 다른 사람이 추천한 자료들의 모음입니다. 매년 공부에 관한 목적이 바뀌니 생각도 자료도 조금씩 변합니다. 이번 글은 요즘 관심사인 자격증에 관한 팁이 추가되었습니다. ㅎㅎ 블로그에도 에타에 올린 내용을 그대로 공유해봅니다. (작성중) 별것 아닐 수 있지만 몇 가지 정보를 공유하려 왔습..
GitKraken으로 Git 입문하기
GitKraken으로 Git 입문하기
2023.05.06"GitKraken으로 Git 입문하기"라는 주제로 게임제작동아리인 CIEN에서 Git 특강을 진행했습니다. Git은 써봤지만 좀 더 적극적으로 Git으로 프로젝트를 해보고 싶은 분 몇 분 대상으로 해봤습니다. 이번 특강은 천천히 진도를 나가면서 질문을 많이 받았습니다. Git을 사용하면서 의문이 든 점 카톡 공유에 비해 더 나은 점이 무엇인지? 프로젝트를 날린 경험 Conflict는 언제 일어나는지? 왜 파일이 사라지는지 gitignore는 무엇인지? 정규식은 무엇인지? 유니티로 작업할 때 Scene이 계속 충돌나는 경우 등 이렇게 구두로 서로 어려웠거나 프로젝트를 진행하다가 git 협업에 실패한 경험 등을 공유하면서 많은 얘기가 오갔습니다. 예전(2019년도)에는 Source Tree로 입문 강의를 ..
[서평] 쉽게 시작하는 쿠버네티스
[서평] 쉽게 시작하는 쿠버네티스
2023.04.09길벗 로 선정되어서 책을 제공받아 작성된 서평입니다. 쿠버네티스를 편하게 실습하며 익힐 수 있는 책! 이 책은 처음부터 간략하게 쿠버네티스를 이해하기 위한 개념을 설명하면서 시작합니다. 네트워크나 볼륨 부분에 도표도 많습니다. 여러 부분에서 초보자에 대한 많은 배려가 느껴집니다. 책의 장점 직관적인 설명 번역서가 아니기도 하고 책의 설명이 전체적으로 직관적이고 자연스럽게 흘러가서 쉽게 실습을 따라갈 수 있었습니다. 풍부한 그림(도표) 책에서는 어렵거나 복잡해할 수 있는 개념(통신, volume, deployment, ...)을 이해하기 쉽게 그림과 함께 설명해 줍니다. 저는 쿠버네티스 문서를 읽으면서 매니페스트 파일을 몇 번 만들어서 배포한 경험이 있습니다. 이때 헷갈렸던 것이 하다 보니 node ip,..
[서평] 이것이 리눅스다 with Rocky Linux 9 (3판)
[서평] 이것이 리눅스다 with Rocky Linux 9 (3판)
2023.03.26한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 실습을 따라가면서 리눅스 운영 실전 팁을 얻을 수 있는 책! 저는 다른 사람의 환경 설정과 여러 글을 기반으로 검색하면서 리눅스 환경에서 운영을 해봤기에 리눅스에 관한 기본기를 챙길 수 있는 좋은 기회였습니다. 제가 느낀 책의 특징은 다음과 같습니다. 친절한 실습 환경 구축 가이드 앞부분에는 VMWare를 이용한 실습 환경 구축에 대한 설명이 자세하게 담겨있습니다. VMWare로 네트워크를 환경을 구축하고 스냅샷을 따고 그럽니다. 처음하시는 분도 따라하실 수 있도록 스크린샷과 설명이 자세하게 적혀 있어서 쉽게 리눅스를 설치하고 환경을 구축할 수 있습니다. 이런것에 익숙해지면 나중에 따로 리눅스 기반으로 네트워크 공부를 할 때도 편해질 수 있습니다..
모던 JavaScript 튜토리얼 파트 1 :: 8장 - "프로토타입과 프로토타입 상속", 9장 - "클래스" 정적 메서드까지 정리
모던 JavaScript 튜토리얼 파트 1 :: 8장 - "프로토타입과 프로토타입 상속", 9장 - "클래스" 정적 메서드까지 정리
2023.02.01정리 시간이 없어서 텍스트로 내용을 정리하지는 못했습니다. 스터디 때 코어 자바스크립트 내용을 참고해서 쓴 자료를 올립니다. excalidraw에서 진행했습니다. https://excalidraw.com/#json=UPKDLXv3hxLCB5lt9MDKv,2NQftxJsB_qiK6Z2CnP3pw 1. 프로토타입 상속 프로토타입 상속 ko.javascript.info 2. 함수의 prototype 프로퍼티 함수의 prototype 프로퍼티 ko.javascript.info 3. 내장 객체의 프로토타입 내장 객체의 프로토타입 ko.javascript.info 4. 프로토타입 메서드와 __proto__가 없는 객체 프로토타입 메서드와 __proto__가 없는 객체 ko.javascript.info 프로퍼티를 이..