반응형

알아두면좋은내용 32

백엔드 개발자 로드맵(공통)

1. 백엔드 언어 택1 2. 프레임워크 택1 3. 데이터베이스 택1 4. jwt, 토큰, Oauth 5. 캐싱 - redis, memcached 6. 메시지큐 - 카프카, rabbitMQ 7. 버전 컨트롤 - git 8. 배포 - AWS, GCP , Firebase, Heroku 근데 사실 언어는 크게 상관없는것 같다. 완전 비탈길을 내려가는 언어가 아닌 이상 어떤 언어든 배워서 써먹을 수 있으면 그만이고 프레임워크도 마찬가지라고 생각한다. 그리고 위의 내용들보다 더 중요한건 영어다. 영어가 가장 중요하다. 구할 수 있는 양질의 자료들의 99.9퍼센트가 영어로 되있다고 생각한다. 영어가 진짜 중요하다. 영어에 문제가 없다면... 노트북 한대만 있으면 된다.

intellij에서 삭제했던 파일 혹은 코드 복구하는 방법

인텔리제이에 있는 흥미로운 기능을 발견했다. 이전에 삭제했던 파일이나 코드를 복구할 수 있는 기능이다. 예를 들어 아래와 같은 resources 폴더에서 log4j2.xml 을 삭제했는데 다시 필요한 경우가 있다고 가정하자. 깃에도 없고(?) 뭐 아무튼 아무튼 증발해버렸다면? 위의 resources 폴더에 마우스 우클릭을 한다. 그러면 위와 같이 Local History라는 메뉴가 뜰 것이다. 해당 Local History를 클릭하면 아래와 같은 화면이 나오면서 변경된 사항을 확인할 수도 있고 이전에 있었던 코드를 긁어올 수도 있다. 덕분에 살았다... 사실 진짜 실수로 지워서 복구할 필요가 있었다. 근데 그냥 CTRL + Z 누르면 되려나? 나중에 테스트해봅시다.

프로젝트속에서 발견한 것

요즘 백엔드 프로젝트를 진행하면서 꽤나 코딩에 열중하며 지내고 있다. 정말 많은 것들을 배운 시간이라는 생각이 들었다. 거의 마무리가 되었고(?) 이제 최종적으로 어느정도 테스트를 거치고 ec2에 배포하면 끝이다. 물론 이후에도 수정해야할 사항들이 많다. 다만 최소한의 핵심기능들이 돌아가게끔이라도 만들어놓고 이후에 추가적으로 코드를 리팩토링하고 추가 요구사항들을 추가할 일이 남아있다. 사실 완성본이라기 보다는 프로토타입에 가깝다. 후순위로 미뤄둔 기능들은 아직 구현도 하지 않았기 때문이다. 애초에 팀의 목표 자체가 빠른 출시였기 때문에 사실 다른 무엇보다도 빠르게 개발해서 일단 결과물을 만들어낸다는 점에 우선순위를 두었다. 이렇게 코딩에 열중한게 정말 오랜만이라는 생각이 들었다. 그러면서 문득 내가 지속..

powershell과 cmd의 차이

환경변수 세팅을 할 일이 있어서 cmd로 설정하는데 자꾸만 $env 가 먹히질 않아서 좀더 살펴보니 powershell에서 하라는 안내를 읽지 못한 탓이었다. 그런데 아무리봐도 powershell이나 cmd 나 너무 비슷하고 명령어도 똑같이 작동하는데 둘이 다른건가...? 라고 생각했는데 알고보니 다른거였다. 즉 cmd보다 powershell이 훨씬 더 많은 명령어를 동작시킨다. 왜냐면 cmd가 개발되기 전에는 powershell이 없었고 powershell은 그 이후에 만들어진 신규 프롬프트이기 때문이다. 그래서 보통 악성 프로그램의 경우에 powershell 을 노리고 접근하는 경우가 더 많다고 한다. 할 수 있는게 더 많으니까... 그러니 응용 프로그램이 powershell의 권한을 요청한다면 한번..

개발 과정에서 발생하는 오류의 80퍼센트는 오타가 아닐까?

오전에 잠시 프로젝트 코드를 손볼일이 있어서 리팩토링을 하는 중이었다. 하던 와중에 일부 코드에 많은 변경을 하게 되었는데 이후에 자꾸만 에러가 나서 이것저것 찾아보려고 했던 참이었다. 그런데 아무리 생각해도 에러가 나는 것이 이해가 가지 않아서 다시 꼼꼼히 살펴보니 오타를 발견했다. 어째 가만보면 혼자서 묵묵히 코딩하면서 발생하는 오류의 80퍼센트는 오타이지 않을까 싶다. 물론 완성된 결과물로 내놓고 난뒤에 발생하는 오류에서는 아니겠지만 그게 아니라 혼자서 만들어가는 과정 중에 맞닥뜨리는 오류를 말할때라면 정말 맞는 말인것 같다. 예전에 이런 식으로 오타가 있을 거라는 생각을 하지 못하고 하루종일 빙빙 돌고 돌아서 말그대로 엄청난 삽질을 했던 경험도 여러번 있었다.(진짜 말그대로 지옥이었다.) 조금은 ..

좋은 블로그 소개 (메튜장 - 실리콘벨리 프로그래머)

https://matthew.kr/ 실리콘벨리 프로그래머 메튜장 개발로그 | Matthew Devlog 실리콘벨리, 스타트업, 유라임, 대용량 분산처리, 웹서비스, 데이터 시각화 matthew.kr 메튜라는 분인데 머신러닝을 공부중이신 소프트웨어 엔지니어 분이라고 한다. 글쓰신게 정말 재밌다. 정신없이 읽었다. 계속 찾아서 읽어보면 좋을 듯싶다.

성취감... 하하

된다... 드디어... 친구들에게 이번 주말까지는 완성해서 올려놓겠다고 호언장담을 해놓은 터라... 아침 일찍 일어나서 AWS사용법 호다닥 배워서 서버에 올리고 데이터베이스 연동하고 SSH사용법도 후다닥 익혀서 사용해보고... 근데 이제 작동한다... 하하... 뭔가 뿌듯하면서도 부족한것같기도 한데 좋아해야될 것 같기도 한데 아직 더 만져봐야할 것 같고... 결론은 기분이 좋다.. ㅎㅎ 좀더 해봅시다...

GPGPU는 어디서 나온 말일까?

GPGPU는 아래와 같은 의미이다. "GPGPU(General-Purpose computing on Graphics Processing Units, GPU 상의 범용 계산)는 일반적으로 컴퓨터 그래픽스를 위한 계산만 맡았던 그래픽 처리 장치(GPU)를, 전통적으로 중앙 처리 장치(CPU)가 맡았던 응용 프로그램들의 계산에 사용하는 기술이다. 이를 가능하게 한 것은 프로그램 가능한 층과 고정도 연산을 그래픽 파이프라인에 연결하는 것으로, 이를 통하여 소프트웨어 개발자들이 그래픽이 아닌 데이터에 스트림 프로세싱을 사용할 수 있게 된다." 출처 : 위키백과 우선 위키백과에는 위와같이 나와있다. 즉 그저 gpu상에서 일반계산이라는 뜻으로 GPGPU라는 이름으로 부르고 있다. 요즘 딥러닝관련해서 간략히 소개해주는..

데스크톱 창 관리자 GPU점유율 치솟을때 해결방법

몇달 전부터 노트북을 사용하는데, 갑자기 순간적으로 버벅이는 현상이 발견되었다. 그냥 사용중인 프로세스가 많아서 그러겠거니 라고 생각했는데, 별다른 동작을 하고 있지 않을때도 갑자기 GPU가 치솟을때가 있었다. 그래서 검색해보니 window10의 문제라고 한다. 해결법이 아주 자세하게 나와있는 링크가 있어서 아주 많은 도움을 받았다. 아래 블로그에 제시된 해결방법 중 사용한 방법을 소개하자면 다음과 같다. https://answers.microsoft.com/ko-kr/windows/forum/all/%EA%B2%8C%EC%9E%84-%EB%98%90%EB%8A%94/a40ee4fc-13e2-4ae3-9d4c-1a366e3f2a77 게임 또는 데스크톱 창 관리자 의 그래픽(GPU) 점유율이 너무 높습니다..

어디서 많이 본듯한 FOO의 기원은?

SQL에서 테이블을 생성해주는데, 리터럴로만 딱 하나 만들어주는 예제를 공부하다가 FOO 로 테이블 이름을 지정해주는 예제를 보았다. 그런데 뭔가 느낌이 FOO라는게 어디서 많이 본듯했다. 그래서 검색해보니 아래의 블로그가 나왔고, 답을 얻었다. www.hooni.net/xe/study/3734 프로그래밍에서 foo, bar 함수의 유래 - 후니넷 프로그래밍 예제를 보면서 함수를 사용할 때 함수 이름에서 foo(), bar() 를 자주 접하게 된다. 사실 의미와 유래는 크게 중요하지 않지만 뭐든 알고 있으면 나쁠게 있나 ㅋㄷ; 위키피디아 설명에 www.hooni.net 아주 잘 설명해주셨다. Front observation officer로 정찰병이라는 의미를 담고 있다고 한다. 목적을 달성하기 위한 정보..

http://www.soen.kr/ 학습사이트

자바스크립트 canvas 관련 검색을 하다가 재밌는 사이트를 하나 발견했다. www.soen.kr/ SoEn:소프트웨어 공학 연구소 www.soen.kr 소프트웨어 공학 연구소라는 사이트인데, 정말 정리가 잘 되어있는 사이트다. 특히 c/c++ 관련한 내용이 문법부터 시작해서 고급내용까지 너무 잘 정리되어 있어서 놀랐다. 이외에도 javascript의 canvas에 대해서도 아주 잘 정리되어 있다. 가끔 이렇게 너무 잘 정리해놓은 사이트를 보면 굳이 책을 사야하나 싶을 때도 있다.

키보드 문자 읽는법

문자 영 문 한 글 또 다른 영문표기 Space (스페이스) 공백, 공란 blank, ghost& ~ Tilde (틸드) 물결(표) ` Grave (그레이브) 강세표 accent, back quote ! Exclamation point (익스클레메이션 포인트) 느낌표 exclamation mark, wow, hey @ At Sign (앳사인 또는 앳) 골뱅이 at, each, rose # Crosshatch (크로스해치) 우물표시 pound, number, sharp $ Dollar sign (달러 사인) cash, currency symbol % Percent sign (퍼센트 사인) 백분표 double-oh-seven, grapes ^ Circumflex (서큠플렉스) 삿갓, 모자, 윗꺾쇠 carro..

concrete class?

concrete class 라고 써놓고는 한글로 부르는 말이 너무나도 많다. 구현 클래스, 구상 클래스, 구체 클래스 ... 근데 사실 별반 차이가 없는 것 같다. 추상클래스가 아닌 클래스를 concrete class 라고 부르기만한다면, 구현되지 않은 추상화된 operation이 없는 클래스라면 모두 concrete class 라고 불러도 되니까 사실 글자만 다를 뿐 별반 차이는 없는 것 같다. 그렇지만, 특정 경우에 따라서 각 단어마다 어색함이 붙긴한다.

서드파티란?

프로그래밍에서의 서드파티란 프로그래밍을 도와주는 plug_in 이나 library 등을 만드는 회사를 말한다. 개인 개발자나 프로젝트 팀, 혹은 업체등에서 개발하는 라이브러리 즉 제 3자 라이브러리 . 제작사에서 만든것이 아니라 다른 업체에서 만든 해당 툴 지원 라이브러리 제조사와 사용자 이외 외부의 생산자를 가리키는 뜻으로 쓰인다. - 위키 편하고 효율적인 개발을 위해, 플러그인이나 라이브러리 또는 프레임워크등을 사용하게 된다. 예로 프로그래밍 개발과 개발자 사이에 플러그인,라이브러리,프레임워크를 서드파티로 볼 수 있다. ... 이처럼 제 3자로써 중간다리 역할을 하는 것을 서드파티라고 합니다.

함수와 메서드의 차이

사실 똑같은 말인줄로 알고 있었다. 그러다 어느 날 함수와 메서드의 차이점도 모르는 프로그래머는 프로그래머도 아니다. 라는 어느 블로그의 글귀를 보고 난 뒤에야 이 두개가 다르다는 것을 알게 되었다.... 함수는 독립적으로 존재하며, 작동하고 나서 사용자가 원하는 결과를 반환한다. 메서드는 클래스에 종속되어 존재하고, 해당 클래스에 대한 인스턴스가 생성되어야 사용할 수 있다. 그러니 독립적으로 존재한다? -> 함수, 클래스에 종속적이다.-> 메서드 이렇게 이해하자.

반응형