본문으로 건너뛰기

stack — 최근 글

최근
Java EcoTILSpring Framework

스프링 부트에서 RESTful

두 요청의 mapping이 주소가 같으나 RequestMethod가 GET과 POST로 구분 되는것을 알 수 있다. HTML은 POST와 GET방식만 지원하고 PUT, DELETE는 지원하지 않는다. 스프링에서 POST와 GET방식을 이용해 나머지 두가지를 사용할 수 있는 기능을 지원하는데 HiddenHttpMethodFilter가 있다. 스프링 2.1이상에서는 자동으로 필터가 등록된다. HiddenHttpMethodFilter는 _method속성의 파라미터가 존재할 경우 그 값을 요청 방식으로 사용한다. 스프링 부트 2.2부터 기
Java EcoTILSpring Framework

commons-io로 구현하는 Multipart

### 관리 차원에서 후속편 안내 이 글 역시 이 블로그에서 꾸준히 인기가 좋아 commons-io가 아닌 스프링 multipart를 사용한 파일 업로드 기능을 다시 정리해서 올려봤다. 업로드와 다운로드 두편으로 나눠서 올라가고 우선 업로드편 링크를 남긴다. 👉 스프링 부트 Multipart 업로드편 첨부파일의 유효성 검사 파일 전송의 진행률 표시 예외처리 사용자 편의성의 드래그 앤 드롭 기능 → 동일한 이름을 가진 파일이 업로드 될 경우 사용 중인 운영체제에 따라서 저장 되지 않거나 파일명이 바뀌거나 덮어쓰기가 될 수 있다. 이
FundamentalTILDesign pattern

Singleton pattern

싱글톤 패턴은 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. Connection pool, thread pool, device configuration 객체 등과 같은 경우 인스턴스를 여러개 만들게 되면 불필요한 자원을 사용하게 되고, connection pool의 예를 들면 계속 커넥션을 맺고 끊는 작업이 반복되거나 요청이 많아지면 DBMS에 부담이 많이 가게 되는 문제가 발생한다. (마치 php같아진다) 싱글톤 패턴으로 객체를 생성하면 두개의 인스턴스가 존재할 수 없게 된다. 이를 구현하려면 생성자에 제약을 걸어야 하고 단일
Java EcoTILJava programming

Collection framework; Collection interface

프로그램을 개발 할 때 사용하는 자료를 관리하는 방법론이 자료구조다. 자료구조는 프로그램 실행 중 메모리에 자료를 유지, 관리 하기 위해 사용한다. Java에서는 필요한 자료구조를 미리 구현하여 java.util 패키지에 제공하고 있고, 이것을 컬렉션 프레임워크 라고 한다. 컬렉션 예제에 사용할 DAO 코드 memberId와 memberName로 이루어진 getter/setter를 가지는 간단한 DAO다. boolean add(E e) : Collection에 객체를 추가한다. void clear() : Collection의 모든
FundamentalTILDesign pattern

Strategy pattern

전략패턴이라고도 불리는 스트래티지 패턴은 가튼 문제를 해결하는 여러 코드가 클래스별로 캡슐화 되어있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 코드로 해결할 수 이쎅 하는 디자인 패턴이다. 우선 다음 구조의 클래스가 있다고 보자 아래는 Guitar를 상속(extends) 받는 두 클래스다. 아래는 간단한 기타 플레이어에 대한 테스트다. 아래는 실행결과다 별로 중요한 이야기는 아니지만 스트랫이라고 모두 '디리링'이 아니고 슈퍼트스트랫이라고 '좌좌좡' 소리가 나는게 아니다 모든것은 다 이펙터와 앰프의 채널 상태가
Java EcoTILJava programming

Java; Generics Type

프로그램에서 변수를 선언할 때 모든 변수는 자료형이 있다. 메소드에서 인자를 사용할 때도 자료형을 갖고 있따. 변수나 메소드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다면 프로그램이 훨씬 유연할 것이다. 어떤 갑싱 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍 하는 것을 Generic programming 이라고 한다 Generic 프로그램은 reference 자료형에 대한 검증을 컴파일러가 해 안정적이다. Collection 역시 generic으로 구현되어있다 (ex ArrayList<Stri
EngineeringTILCloud Infrastructure

Docker 시작하기

Windows 10과 맥에서 docker를 설치하고 WSL과 통합하여 기본적인 컨테이너를 올려보는 기회. 현 시점에서 WSL2+Ubuntu는 기본 사양이므로 넘어가도록 하겠다. 필요하면 이 링크 참고. 바쁜 사람들을 위한 짧은 코드 (powershell에서 실행해야된다) WSL 설치 후 MS스토어에서 Ubuntu를 받으면 된다. 대부분 Ubuntu를 많이 쓴다. 추후 wsl을 사용하기 위해 Windows Terminal도 설치하면 좋다. 여기서는 생략. 이제 윈도우에 도커를 설치 하자. 맥은 여기 설치 후 확인은 docker 명령어
BlogTILThink

2021 1/4 중간점검 part3

자바 다시 보기 로드맵 짜기 디자인 패턴 책 비교 C 다시보기 로드맵 짜기 → Do it 자바 프로그래밍 (우테코 할 때 보던거 마저 보기) [ ] Class Object String Wrapper [ ] ⭐️ Generics [ ] Collection → 아는 내용이니 간략하게만 지나가겠음 List ArrayList LinkedList Set HashSet TreeSet Map HashMap TreeMap [ ] 내부클래스 익명 내부 클래스 [ ] ⭐️ Lambda Functional programming Lambda