본문 바로가기

WEB/Java

(13)
소켓 소켓은 네트워크에서 동작하는 프로그램의 종착점ip주소와 포트번호로 이루어져 있음서버와 클라이언트가 양방향 통신을 할 수 있게 해주는 소프트웨어 장치양방향 통신을 위해 클라이언트와 서버 둘다 소켓을 생성하여 연결해줘야 함일반적인 웹 환경은 클라이언트의 요청을 받으면 응답 후 바로 연결을 종료하는 비연결 동기 소켓 방식이다 웹소켓은 클라이언트의 요청에 응답한 후에도 연결을 그대로 유지하는 연결 지향 방식 웹소켓은 http가 아닌 ws 프로토콜을 사용주요 애너테이션@ServerEndpoint@OnOpen@OnMessage@OnClose@OnError
ServletRequest, ServletResponse, HttpServletRequest, HttpServletResponse HttpServletRequest, HttpServletResponse는 각각 ServletRequest, ServletResponse에 Http 관련 기능을 추가한 하위 타입이다.session 내장 객체나 http 전송방식 같은 http 개념을 활용하려면  형변환 해줘야 한다.
람다식 람다식자바는 람다식을 익명 구현 객체로 변환한다익명 구현 객체란 이름이 없는 인터페이스 구현 객체를 말한다익명구현 객체를 람다식으로 표현하려면 인터페이스는 단 하나의 추상 메소드만 가진다인터페이스가 함수형 인터페이스임을 보장하기 위해서는 @FunctionalInterface 어노테이션을 사용한다(선택사항)메소드 참조메소드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수 제거 정적 메소드를 참조할 경우클래스::메소드 인스턴스 메소드인경우참조변수:: 메소드 매개변수의 메소드인 경우클래스:: 메소드 생성자인 경우클래스 :: new
역직렬화 후 추가 가공 기존 JSON 데이터 구조와 원하는 데이터 구조 기존 Json의 items[ item1,item2, ... , item5] 구조가 Thymeleaf로 바인딩할 때 마음에 들지 않아서 날짜 기준으로 그룹화하기로 했다기존 구조원하는 구조"item" :{[{             "astroEvent": "화성 - 해왕성 최대근접(0°14′)",             "astroTime": "06:00",             "astroTitle": "",             "locdate": 20150120,             "seq": 1           }, {             "astroEvent": "합삭",             "astroTime": "22:15",        ..
Bcrypt와 비밀번호 암호화 Bcrypt를 이용해 password 암호화하는 법  Bcrypt란 강력한 암호 해시 함수로 비밀번호 저장과 관련된 보안에 사용하는 라이브러리주요 기능으로 Key Stretching, Salt가 있음*key stretchinng이란 만들어진 해시 값을 반복 연산하여 브루트포스 공격을 어렵게 만드는 방법*Salt란 암호화 하는 값에 추가 입력으로 사용되는 랜덤 데이터  주요 메서드gensalt()솔트값 생성 함수hashpw(비밀번호, 솔트값)비밀번호 해시화 함수checkpw(비밀번호, 해시화된 비밀번호)비밀번호 검증 함kdf(비밀번호, 솔트값, 도출할 키의 길이, 해시 계산 반복횟수)비밀번호 바탕의 안전한 암호화 키를 도출  이용예시PasswordBcryptimport org.mindrot.jbcrypt...
람다식 람다식 lambda expression * Java8에 추가된 기능 * 메서드를 간략한 식으로 표현 * 익명 함수라고도 불림 함수형 인터페이스 * 람다식 형태로 익명 클래스가 만들어질 수 있는 인터페이스 * 조건: 추상 메소드가 하나만 있어야함 * 람다식과 1:1 대응이 되어야 하기 때문 * @FunctionalInterface 달아줘야햠 함수형 인터페이스 예시 @FunctionalInterface public interface Toaster{ void toast(); } @FunctionalInterface public interface Param { int func(int i); } 람다식 예시 public class Test { public static void main(String[] args) ..
indexOf() 자바의 indexOf()는 특정문자의 위치를 찾아준다 없는 문자면 -1을 반환한다 사용법 String word="자바 indexOf() 자바함수"; System.out.println(word.indexOf("자")); System.out.println(word.indexOf("자",5)); System.out.println(word.indexOf("굥")); System.out.println(word.indexOf(1)); 결과 0 13 -1 -1
예외처리 하나씩 습득할때마다 추가 예정 IllegalStateException - 객체 상태가 메서드 호출에 적절하지 않을때
Optioinal Optional NPE가 발생하지 않도록 Null 값을 감싸는 것
인터페이스 https://limkydev.tistory.com/197 [JAVA] 자바 인터페이스란?(Interface)_이 글 하나로 박살내자 1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으 limkydev.tistory.com 보고 공부하기 .. 잠깐 읽어봤는데 설명이 기ㅣ깔남 ---------------------------------------------- 기능에 관련된걸 구현하는 듯 하다