본문 바로가기

전체 글

(35)
Set / Map / Iterator 이번엔 컬렉션 프레임워크 중에서 Set , Map, HashMap에 대해 알아보겠습니다. 1. Set순서를 보장하지 않는다. -> 인덱스로 객체를 가져오는 get()메서드가 없다.중복 저장이 불가하다.Set을 상속받아 구현한 HashSet, TreeSet 등이 있다.Set set = new HashSet();set.add("A");set.add("B");set.add("A");for(String item : set){ System.out.print(item); // AB}set.contains("A"); // trueset.size(); // 2set.isEmpty(); // falseset.remove("A"); // [B]set.clear(); // [] * TreeSet은 내부적으로 이진 검색 ..
HTTP 특징 HTTP를 Spring에 넣는게 약간 고민되긴 하지만 어쨋든 알아야 하니까.. ㅎ.. Hyper Text Transfer Protocol - 텍스트를 전송하기 위한 프로토콜 = 약속, 규칙 1. 무상태 Stateless 각 요청을 별개의 요청으로 취급하므로 클라이언트의 이전 요청 상태를 기억하지 않습니다.상태 정보를 유지하려면 쿠키, 세션, 토큰 등을 이용해야 합니다.2. 클라이언트 - 서버 모델HTTP 클라이언트가 요청을 보내고, 서버가 요청을 처리하여 응답을 반환하는 구조를 가집니다.클라이언트와 서버는 독립적으로 동작합니다.3. 확장성HTTP는 헤더 필드를 통해 확장이 가능합니다. 표준 헤더 외에도 사용자 정의 헤더를 추가하여 필요한 정보를 주고받을 수 있습니다. 4. 유연한 데이터 형식HTML, X..
JSTL / EL / Scope JSP- HTML과 Java코드를 혼합하여 동적인 웹 페이지를 생성하는데 사용되는게 JSP잖아요? 서블릿을 더 쉽게 사용할 수 있는 버전이라고 보면 됩니다. 요약하면 HTML을 작성하는데 최적화된 템플릿 언어입니다. 1. JSTL - JSP에서 사용할 수 있는 태그 라이브러리로 일반적인 프로그래밍 작업을 쉽게할 수 있게 합니다. JSP에서 코드의 가독성을 높일 수 있죠.  일단 JSP에서 JSTL을 사용하려면 라이브러리를 추가하고 선언해야 합니다. 이런 식으로요. 제가 썼던 코어 태그와 포맷 태그를 예시로 설명할게요. 1-1. core 태그조건문, 반복문, URL 처리, 문자열 처리 등을 제공합니다. , , , , , 등// 조건문 사용 Hello, ${param.name} // 반복문 사용 ..
[Oracle] 기초 (MySQL과의 소소한 차이) MySQL과 Oracle은 비슷한데 다른 부분이 몇군데 있죵.  Oracle에 대해 알아봅시다. MySQL 기초 정리 해놔서 똑같은건 뺄거고 헷갈리거나 다른것만 추가할게요. 1. 사용자 계정 생성 및 권한 부여 과정 처음에 SYS 또는 SYSTEM과 같은 관리자 계정으로 새로운 사용자 계정을 생성합니다.CREATE UWER username IDENTIFIED BY passweord; 사용자에게 필요한 권한을 부여합니다. CONNECT - 사용자가 DB에 접속할 수 있게 합니다. DB 세션을 시작할 수 있습니다.RESOURCE - DB 내에서 특정 리소스를 생성할 수 있는 권한입니다. 주로 객체 생성과 관련된 작업을 합니다.                     - 테이블 생성, 인덱스 생성, 트리거 생성,..
익명 클래스 / 람다식 / 메소드 참조 람다식을 알기 전에 익명 클래스부터 짚고 넘어가자. (처음 부분은 정리가 뒤죽 박죽이니 1번부터 보셔도 됩니다.) 익명 클래스는 이름이 없는 클래스로 보통 한 번만 사용되는 클래스를 정의할 때 사용됩니다. 이름이 없다는 건 클래스 정의에 이름이 붙지 않았다는 의미입니다. 익명클래스는 주로 인터페이스나 추상 클래스를 구현할 때 사용 된다고 하는데 예시를 보죠.class MyRunnable implements Runnable { @Override public void run() { for (int i = 0; i  이게 기존에 우리가 클래스를 선언해서 사용하던 방식입니다. 이걸 익명 클래스로 작성해 볼게요.public class Main { public static void ma..
형 변환 / valueOf() / stream Java 형 변환. 뭐야 왜 안돼. 할 때가 많지 않나요? 이참에 그냥 이해 빡 하고 다 짚고 넘어가 봅시다.  뭐 명시적 형변환, 묵시적 형변환, 자동 형변환, 강제 형변환, 업 캐스팅, 다운 캐스팅은.... 많으니까..ㅎㅅㅎ 설명하는 건 자주 쓰이는 쉬운 문법일 뿐이고, 다양한 방법은 더 많습니다. 1. int -> Stringint num = 123;String str = String.valueOf(num); // String.valueOf()String str = Integer.toString(num); // Integer.toString() * 참고로 toString은 null이 입력되면 예외가 발생하지만 valueOf()는 "null"이 반환됩니다. 2. String -> intString s..
String / StringBuilder / StringBuffer Java에서 문자열을 사용할 때 String만 주야장천 썼었는데 StringBuilder와 StringBuffer에 대해서도 정리해야겠다. String은 불변 객체라 했었다. 물론 바꾸는 척 하는 방법은 얼마든지 있었다. + 연산과 concat() 메서드가 주로 쓰이지. 근데 문자열 연산에 주로 쓰이는게 StringBuilder와 StringBuffer이다.  왜? String에서 + 연산으로 문자열을 합치면 기존게 변하는 게 아니라 새로운 인스턴스가 생겨서 메모리 낭비가 된다. StringBuilder / StringBuffer 둘 다 가변 객체이다. String과 달리 동일한 객체 내에서 수정이 일어나 연산 속도가 매우 빠르다. appen()를 이용해서 문자열을 합친다.StringBuilder sb ..
Spring 이론 - 클라이언트와 서버 Tomcat / Servlet / JSP spring 이론을 처음 공부했을 때 너무 대충 공부했던 거 같다. 다시 차근차근 기초부터 다져보자.  제 목표는 진짜 저같은 바보도 이해하기 쉽게 작성하는게 목표에요.. 까먹었을 때 또 봐야하잖아요?ㅠ Client - 서비스를 요청하는 애플리케이션 (내 정보 보여줘)Server - 서비스를 제공하는 애플리케이션 (니 정보 어딨더라.. 찾아볼게.. 예따 니 정보) WebServer - 브라우저를 통해 받을 수 있는 모든 서비스 제공 (문서, 이미지, 동영상 다 볼 수 있잖아요?) 1. 서버의 port 혹시 url에서 https://000.000.0000:8080 보신 적 있나요? :8080이 포트 번호입니다.  한 대의 pc(서버)에는 여러 서버 프로그램들이 존재할 수 있어요. 예를 들어 메일 서버와 파..