가비지 컬렉터란 무엇인가? 우리가 일을 할 때는 노트북, 책, 필기 도구등을 올려놓을 공간(책상)이 필요하다. 마찬가지로 컴퓨터도 일을 할 때 처리할 정보들을 올려놓을 공간이 필요하다. 책상이 넓으면 넓을 수록 더욱 다양한 일을 할 수 있다. (우리가 다다익램(램은 많으면 많을 수록 좋다)이라고 외치는 이유다.) 하지만 우리가 공부, 또 다른 공부, 또 다른 공부를 계속 하다 보면 새로운 책이 쌓이고 쌓여서 책상이 가득차게 되고 도무지 일을 할 수 없는 상태가 될 것이다. 그래서 가끔씩 책상을 치워줄 필요가 있다. 내가 어지른 책상은 내가 치우는게 당연하지만 나는 공부를 하느라 바쁘다고 가정하자. 그러다가 어지러운 책상을 보고 답답한 우리 엄마가 책상을 대신 치워줬다. 가비지 컬렉터는 이런 역할을 대신 ..
평소에 인텔리제이 계열 IDE(인텔리제이, 파이참, 안드로이드 스튜디오)를 많이 쓰는 편인데 갑자기 인텔리제이 계열 IDE를 시작하면 밑에 에러가 뜨면서 열리지가 않았다. 멘붕 그 자체... Internal error. Please report to http://jb.gg/ide/critical-startup-errors java.net.BindException: Address already in use: bind at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(Net.java:461) at java.base/sun.nio.ch.Net.bind(Net.java:453) at java.base/sun.nio...
최근에 웹 서버를 구현하고 있는데 종종 DB Schema도 바뀌고 우분투를 다루는데도 익숙치 않아서 자주 서버를 갈아 엎어서 기껏 만들어놓았던 더미 데이터들이 날라가서 너무 마음이 아파서 어떻게 할까 고민하다가 한 번 집어넣은 데이터를 엑셀 파일로 뽑아냈다가 이후에 DB Schema를 갈아 엎을 때 마다 엑셀 파일을 활용해서 넣어주면 좋겠다 싶었습니다. 그래서 찾아 본 결과 1. MySql Table에서 csv 파일로 Export SELECT * FROM Tablename INTO OUTFILE '[저장경로]/result.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' 그러나 뜻하지 않은 에러에 직면했으니.. The MySQL..
한국어에도 경상도 사투리, 전라도 사투리가 있듯이, 프로그래밍 언어도 회사마다 그 회사의 사투리(컨벤션)이 있을 것이다. 나중에 회사에 들어가면 그 회사의 컨벤션에 따르면 되겠지만, 문득 든 생각이 나는 나만의 컨벤션이 없다는 것을 느꼈다. 그냥 마구잡이로 그 때 그 때 좋다고 생각하는 식으로 프로그래밍을 하고 있을 뿐이다. 그래서 앞으로는 특정 컨벤션을 스스로 정하고 지키면서 코딩을 해보기로 했다. 그래야 나중에 새로운 컨벤션을 만나더라도 지킬 수 있는 요령이 생길테니! 아직은 스프링에 좋은 컨벤션을 잘 알지 못하여 아래 블로그에서 컨벤션을 기준으로 나만의 규칙으로 수정해나갈 예정이다! 나만의 코딩컨벤션 작성하기(Spring, Java, Naming, 구조, 코드 작성법 등) 현재(2020. 04) 나..
커밋 메시지 컨벤션...Why? 사실 지금껏 혼자서 프로젝트를 진행해오는 일이 많아서 깃 커밋 메시지를 나만 알아보면 되므로 중구난방으로 적는 일이 많았다. 그러던 중 최근에 팀 프로젝트를 진행하면서 남이 알아보기 쉽게끔 신경써서 커밋 메시지를 작성해야할 일이 생겼다. 그런데 팀 플젝이 아니더라도 몇 개월 뒤에 내가 쓴 커밋 메시지를 보게 되면 이 당시의 내가 무슨 생각으로 커밋 메시지를 작성했는지 알 수가 없다....(나를 위해서 라도 커밋 메시지를 신경써서 적도록 하자.) 정리하자면, 크게 3가지 이유로 좋은 커밋 메시지를 작성해야 할 것이다. 더 좋은 커밋 로그 가독성 더 나은 협업과 리뷰 프로세스 더 쉬운 코드 유지 보수 커밋 메시지 구조 (Commit Message Structure) 커밋 메시..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cqnpTM/btqKXjHnrP3/oWpv0YEkPKouL6m7ThiWO0/img.png)
주의!) 본 글은 이 글의 작성자가 공부한 내용을 정리하기 위해 마음대로 써재낀 글이므로 이 글의 내용을 맹신했다가는 큰일 날 수도 있습니다. 1. 자바스크립트 엔진이란? 말 그대로 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터를 의미한다. 표준적인 인터프리터로 구현될 수도 있고, 혹은 자바스크립트 코드를 바이트 코드로 컴파일하는 JIT 컴파일러가 구현할 수도 있다. 여러 목적으로 사용될 수 있지만 일반적으로는 웹 브라우저를 위해 사용된다. 가장 유명한 자바스크립트 엔진은 구글의 V8 엔진이다. 오픈소스로 구글에서 개발했고 C++로 작성되었으며, 구글 크롬과 Node.js에서 사용되고 가장 유명하다. 2. 자바스크립트 엔진은 어떻게 동작하는가? 자바스크립트는 싱글 스레드 언어로 한번에 하나의 태스..