전체 글
-
Vscode 단축키개발 모음집/IDE Shortcut Keys 2021. 1. 17. 17:44
VSC 유용한 단축키 정리 (Feat. 노마드코더) 마우스가 가는 곳 마다 커서 만들기 ⌥ + ⇧ + Mouse Drag or Alt + ⇧ + Mouse Drag 선택된 영역에 커서 만들기 ⌥ + ⇧ + i or Alt + ⇧ + i 코드 블록 한방에 코멘트 처리하기 ⌘ + / or Ctrl + / 코드 복사해서 위/아래로 움직이기 ⌥ + ⇧ + ↑ / ↓ or Alt + ⇧ + ↑ / ↓ 코드 위/아래로 움직이기 ⌥ + ↑ / ↓ or Alt + ↑ / ↓ 클릭하는 곳마다 커서 생성 ⌥ + Click or Alt + Click (제 윈도우 환경에서는 Ctrl + click 으로 되네요) 반복되는 단어 한방에 수정 ⌘ + D or Ctrl + D Bonus 파일 맨 위-아래로 한번에 이동하기 Top /..
-
Eclipse 단축키개발 모음집/IDE Shortcut Keys 2021. 1. 17. 17:34
Editing Edit List Ctrl + D : 줄 삭제 Ctrl + Alt + 위/아래 : 줄 복사 Ctrl + Shift + Enter : 현재 줄에 새줄 추가 Shift + Enter : 다음줄에 새줄 추가 Ctrl + Right : 다음문자로 이동 (Ctrl + Left : 이전 문자로 이동 ) Ctrl + Shift + / : 주석처리 (Ctrl + Shit + \ 주석 풀기) Ctrl + / : 라인별로 주석처리 Ctrl + Shift + O : import 정리 Ctrl + L : 원하는 라인으로 이동 Alt + Shift + 방향키 : 블록선택하기 Ctrl + J : 점증적 검색 - Ctrl + J 입력후 원하는 단어 입력하면 이클립스 하단바에 찍히고 바로 검색 가능 Ctrl + K :..
-
객체지향 (LID)개발 모음집/Docs 2021. 1. 17. 17:24
2023.05.27 - [Engineering WIKI/Docs] - SOLID 5가지 설계 원칙 2021.01.17 - [Engineering WIKI/Docs] - 객체지향 (LID) Liskov Substitution Principle (리스코프 치환 원칙) 자식 클래스는 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다. 자식 클래스가 부모 클래스의 기본 의미를 해치지 않는지! 부모클래스와 자식클래스 사이의 행위에는 일관성이 있어야 한다. (부모 클래스의 인스턴스 대신 자식 클래스의 인스터스를 사용해도 문제가 없어야 한다는 것을 의미한다.) 상속 관계에서는 일반화 관계(IS - A)가 성립해야 한다. 일반화 관계에 있다는 것은 일관성이 있다는 것이다. 따라서 리스코프 치환 원칙은 일반화 관계에..
-
객체지향 (S: SRP / O : OCP)개발 모음집/Docs 2021. 1. 17. 17:19
2023.05.27 - [Engineering WIKI/Docs] - SOLID 5가지 설계 원칙 2021.01.17 - [Engineering WIKI/Docs] - 객체지향 (LID) S → SRP (단일 책임 원칙) 한 클래스는 하나의 책임만 가져야 한다. → Single Responsebility Principle 책임이란? 객체가 할 수 있는 것과 해야 하는 것으로 나뉜다. 즉, 객체는 자신이 할 수 있는 것과 해야하는 것만 수행 할 수 있도록 설계되어야 한다는 법칙. SRP를 지켜야 하는 이유? 고전적 설계개념인 응집도와 결합도 응집도 → 한 프로그램 요소가 얼마나 뭉쳐있는가를 나타내는 척도. 결합도 → 프로그램 구성 요소들 사이가 얼마나 의존적인지를 나타내는 척도. SRP가 필요한 코드 pu..
-
Socket 통신 (Http 통신과의 차이점)개발 모음집/Docs 2021. 1. 17. 17:10
소켓 이란? 소켓 → 프로토콜, ip주소, 포트넘버로 정의 됨. 떨어져 있는 두 호스트를 연결해주는 도구로써 인터페이스 역할. 데이터를 주고 받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어 진다. 소켓의 역할에 따라 클라이언트 소켓, 서버소켓으로 구분된다. 소켓 통신의 흐름 서버 클라이언트 소켓의 연결 요청을 대기하고, 연결요청이 오면 클라이언트 소켓을 생성하여 통신이 가능하게 한다. socket()함수를 이용하여 소켓 생성 bind()함수로 ip와 port 번호 설정 listen()함수로 클라이언트의 접근 요청에 수신 대기열을 만들어 몇 개의 클라이언트를 대기 시킬지 결정. accept()함수를 사용하여 클라이언트와의 연결을 기다림. 클라이언트 실제로 데이터 송수신이 일어나는 것은 클라이언트 ..
-
[Java] 랜덤번호 이용한 인증번호 기능 생성개발 모음집/Java 2020. 12. 23. 04:43
회원가입에 필요한 숫자 OR 문자 인증번호와 임시 비밀번호를 생성하여 제공하기 위해 간단한 함수를 만들어 보았습니다. 만든 기능은 총 3가지입니다. 1. 숫자 인증번호 생성 2. 문자+숫자 인증번호 생성 3. 임시 비밀번호(문자+숫자+특수문자 포함) 생성 전반적으로 임의의 랜덤한 값을 생성하기 위해 Random Class를 사용하였고, 중복 방지를 위해 생성자에 System.currentTimeMillis()를 넣었습니다. 1. 숫자 인증번호 생성 기본적으로 숫자 인증 번호를 6자리로 생성하였고, setter을 통해서 자리수 변경이 가능합니다. 인증번호 자리수를 제곱하여 range를 구하고 자리수의 -1을 하여 10을 다시 제곱하여 trim값으로 설정하였습니다. import java.util.Random..
-
[Python] 소요시간 측정방법개발 모음집/Python 2020. 12. 9. 19:28
import datetime start_time = datetime.datetime.now() # ( 측정을 하고자 하는 코드 ) end_time = datetime.datetime.now() elapsed_time = end_time - start_time 여기서 얻은 elapsed_time을 활용하여 millesecond 단위, microsecond 단위, second 단위로 결과 값을 얻을 수 있다. microsecond 단위 micro_elapsed_time = elapsed_time.microseconds millisecond 단위 ( 1 millisecond == 1000 microsecond ) ms_elapsed_time = elapsed_time.microseconds / 1000 sec..
-
[Python] Coding Test Tip개발 모음집/Python 2020. 12. 9. 19:25
N개 Array 생성 → 다이나믹 프로그래밍이나 개수 제한 문제 풀 경우 n = 100 memo = [0] * n 2진수, 8진수, 10진수, 16진수 문제 'a'를 10진수로 변환 해주는 예제 i = 'a' print(int(i, 16)) → 10 10진수 8을 8진수로 변환 해주는 예제 print(oct(8)) → 0o10 10진수를 16진수로 formatting print('{0:X}'.format(11)) → B Formatting 8을 입력하면 08로 나오게 하는 포메팅 print('{0:02d}'.format(8)) →08 소수점 2번째 자리까지 나오는 포메팅 print('{0:.2f}'.format(9)) → 9.00 Split해서 list에 넣기 i = input() # i = '7 4 2..