본문 바로가기

전체 글

(150)
[mac] 특정 포트를 사용중인 프로세스 확인, 종료하기 ## 1. 포트 번호 확인 sudo lsof -i : 15240 ## 2. 프로세스 종료 sudo kill -9 (PID) ## 2번 예 sudo kill -9 15240 * kill -9 PID에서 -9의 의미 해당 명령을 커널 레벨에서 보낸다는 뜻. (->무시될 수 없는 명령이므로 무조건 수행한다) 9가 없을 경우 15가 기본 값으로 전송되며, 이는 정상적으로 종료함을 뜻한다 * 레퍼런스 https://new93helloworld.tistory.com/138 [꿀팁] mac - 특정 포트를 사용중인 프로세스 확인/종료 mac - 특정 포트를 사용중인 프로세스 확인/종료 node 작업을 프로젝트를 넘나들면서 하다보니 이유는 모르겠지만 터미널이 꺼졌는데도 불구하고 port상태는 listen인 경우가 있었..
DB 인덱스 기초지식 * 사내 위키에 정리했던 발표 자료를 블로그로 옮겨왔습니다. * 발표일: 2020.07.21 인덱스란 (기본 동작 원리) 인덱스를 비유하자면.. 책의 목차! e.g. 100000페이지 책에서 'DEADLOCK'을 찾으려 한다. 어떻게 찾을까요? -> 특정 카테고리에 속해있을 것. 해당 카테고리 찾자 인덱스의 목적 인덱스 없이 테이블 풀스캔시 비용이 커집니다. -> WHERE 구문과 일치하는 열을 빨리 찾기 -> 모든 데이터 조사 필요 없이 중간에서 검색 위치를 빠르게 잡아 내기 인덱스, 어떻게 빠르게 동작하나요? 인덱스 탐색 원리 중 하나: B 트리! (Balanced Tree) 중간 값을 기준으로 좌우 작은 값, 큰 값으로 나뉩니다. 인덱스 사용 언제가 적합할까? - 데이터 양이 많고 검색이 변경 (U..
gradle의 세팅, project structure을 왜 안 따라갈까. cannot find symbol List.of 발생. 이유를 찾아보니 sourceCompatibility를 따라간다고 한다. 하지만 나는 build setting에서 intelliJ를 기본 환경으로 세팅했는데.. 왜 gradle을 따라가는지 찾아봐야겠다..흑흑
[이유 찾는중]Form validation시 white label로 가는 에러 해결 Errors가 마지막 parameter로 들어오면 white labels로 간다. 왜지...
객체를 정렬할 때-> comparable을 사용하자. (작성필요) https://www.daleseo.com/java-comparable-comparator/
[10장] 새로운 MVC 프레임워크 구현을 통한 점진적 개선 # 요구사항 1) 새로운 기능이 추가될 때마다 매번 컨트롤러를 추가하는 것이 아니라 메소드를 추가하자. 2) URL 매핑시 HTTP 메소드 (GET, POST, PUT, DELETE)도 매핑에 활용하자. -> URL은 같지만 다른 메소드로 매핑하고 싶다. # 리플렉션(Reflection)이란? 영어단어 Reflect: 사물의 속성을 나타내다. 자바에서 리플렉션은 런타임에 클래스의 정보를 조회하는 것이다. 자바 고유의 기술이며 다른 언어에서는 찾아볼 수 없다. (혹시라도 생겼다면 댓글로 알려주세요!) 사용하는 곳: 프레임워크 개발(예. 스프링), 하이버네이트 궁금한점 : 웹 개발에서는 언제 쓸까? -> 어노테이션이 동작하는 원리가 reflection이라고 한다. 개발자가 직접 리플렉션 개념을 건드릴 일은 ..
5. 형식 1. 고차 함수에서 저차 함수 순으로 나열. 2. 새로운 개념이 등장할 때 빈행 넣기 3. 변수 3.1 로컬 변수: 사용하는 위치에 최대한 가깝게 선언 3.2 인스턴스 변수: 클래스의 맨 처음에 선언 4. 유사한 개념끼리 모으기 예. assertTrue assertFalse 5. 가로형식 최대 120자를 넘지 말자. 6. 들여쓰기 지키기 쿼리를 짜거나, 함수를 작성할 때 들여쓰기 꼭 지키자. 7. 팀 내 규칙 생성 자바 코드 컨벤션 외에도 개발 팀별로 작성 규칙을 명시할 필요가 있다. 예. 네이밍 규칙, 괄호의 위치, 들여쓰기 등 -> 아름다운 코드는 한 사람이 작성한 것처럼 일관성이 있어야 한다.
4장. 주석 주석은 잘못된 정보를 전달할지도 모른다. 코드는 리팩토링, 기능 추가를 통해 끊임 없이 변한다. 주석이 설명하는 기능이 삭제/수정될 수도 있다. 기능 설명이 필요한 메소드는 클래스로 분리하여 쪼개자. 의미가 모호한 메소드/변수명은 길더라도 자세하게 바꾸자. /* 오늘 결석한 학생들을 구하는 함수는 아래와 같이 자세한 이름으로 개선할 수 있다 */ // bad students.get() // 오늘 결석한 학생들 // good students.getTodaysAbsentStudents 좋은 주석 1. 저작권 표시 -> 회사명, 라이센스 등 -> 반복된다면 하나의 별도 파일로 관리하는 것이 더 낫다. 2. 외부 라이브러리를 사용하는 과정에서 의도를 명확히 밝혀야할 경우 3. TODO 주석 -> 그렇다고 해서,..