Engineering WIKI
-
Socket 통신 (Http 통신과의 차이점)Engineering WIKI/Docs 2021. 1. 17. 17:10
소켓 이란? 소켓 → 프로토콜, ip주소, 포트넘버로 정의 됨. 떨어져 있는 두 호스트를 연결해주는 도구로써 인터페이스 역할. 데이터를 주고 받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어 진다. 소켓의 역할에 따라 클라이언트 소켓, 서버소켓으로 구분된다. 소켓 통신의 흐름 서버 클라이언트 소켓의 연결 요청을 대기하고, 연결요청이 오면 클라이언트 소켓을 생성하여 통신이 가능하게 한다. socket()함수를 이용하여 소켓 생성 bind()함수로 ip와 port 번호 설정 listen()함수로 클라이언트의 접근 요청에 수신 대기열을 만들어 몇 개의 클라이언트를 대기 시킬지 결정. accept()함수를 사용하여 클라이언트와의 연결을 기다림. 클라이언트 실제로 데이터 송수신이 일어나는 것은 클라이언트 ..
-
[Java] 랜덤번호 이용한 인증번호 기능 생성Engineering WIKI/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] 소요시간 측정방법Engineering WIKI/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 TipEngineering WIKI/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..
-
[Java] 소켓 통신이란? [자바 코드 포함]Engineering WIKI/Java 2020. 12. 6. 07:33
소켓 이란? 소켓 → 프로토콜, ip주소, 포트넘버로 정의 됨. 떨어져 있는 두 호스트를 연결해주는 도구로써 인터페이스 역할. 데이터를 주고 받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어 진다. 소켓의 역할에 따라 클라이언트 소켓, 서버소켓으로 구분된다. 소켓 통신의 흐름 서버 클라이언트 소켓의 연결 요청을 대기하고, 연결요청이 오면 클라이언트 소켓을 생성하여 통신이 가능하게 한다. socket()함수를 이용하여 소켓 생성 bind()함수로 ip와 port 번호 설정 listen()함수로 클라이언트의 접근 요청에 수신 대기열을 만들어 몇 개의 클라이언트를 대기 시킬지 결정. accept()함수를 사용하여 클라이언트와의 연결을 기다림. 클라이언트 실제로 데이터 송수신이 일어나는 것은 클라이언트 ..
-
[Oracle] 시퀀스 정리Engineering WIKI/Database 2020. 11. 30. 18:38
시퀀스 생성 CREATE SEQUENCE '시퀀스이름 (대문자)' START WITH 1 INCREMENT BY 1 MAXVALUE 999999 CYCLE NOCACHE; 오라클 현재 시퀀스 값 확인 SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME = '시퀀스명(대문자)'; 오라클 시퀀스 테이블 확인 SELECT sequence_name FROM user_sequences;
-
[Spring] 컨트롤러, Model, ModelAndView 사용법Engineering WIKI/Spring 2020. 11. 29. 22:16
client가 요청을 하면, @Controller에 진입한다. 컨트롤러는 요청에 대한 작업을 수행하고, 뷰쪽으로 데이터를 전달한다. 컨트롤러 클래스 제작 순서 @Controller를 이용해서 클래스를 생성한다. @RequestMapping을 이용해, view의 요청 경로 지정한다. 요청 처리 메소드(로직) 구현한다. 뷰 이름 리턴한다. @Controller // 컨트롤러 지정 public class HomeController { // 뷰의 요청 경로 지정 @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { // 로직 수행 logger.info("Welcome home!..