![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ocsAn/btqXJV1Sqmf/IWus8s0PIADeX1nlZA69HK/img.jpg)
컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있다. 인터페이스 분류 특징 구현 클래스 Collection List -순서를 유지하고 저장 -중복 저장 가능 ArrayList, Vector, LinkedList Set -순서를 유지하지 않고 저장 -중복 저장 안 됨 HashSet, TreeSet Map -키와 값의 쌍으로 저장 -키는 중복 저장 안 됨 HashMap, Hashtable, TreeMap, Properties List 컬렉션 ArrayList : 인덱스 검색이나, 맨 마지막에 객체를 추가하는 경우에는 ArrayList가 더 좋은 성능을 발휘한다. Vector : ArrayList와 다른 점은 Vector는 동기화된(Synchronized) 메소드로 구성되어 있기 때문에 ..
깃허브에서 기본 패스워드 인증이 2021년 8월 13일까지만 가능하니 personal access token을 이용하라는 메일이 왔다. github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ Token authentication requirements for Git operations - The GitHub Blog Beginning August 13th, 2021, we will no longer accept account passwords when authenticating Git operations on GitHub.com and will instead require token-based authentication (..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/u15ea/btqWLYSvFwN/FGH2oxQnVWVtGbR0jI3WV0/img.png)
스프링 시큐리티에서는 여러 가지의 사용자 스토어 구성 방법을 제공한다. 스프링 시큐리티 사용자 스토어 인메모리(in-memory) 사용자 스토어 JDBC 기반 사용자 스토어 LDAP 기반 사용사 스토어 커스텀 사용자 명세 서비스 하지만 스프링 시큐리티 기본 설정들을 그대로 이용하기에는 부족한 것들이 많기 때문에 커스터마이징을 하는게 더 좋다. 사용자 인증의 커스터마이징 스프링 설정 클래스를 만들고 @EnableWebSecurity 어노테이션을 추가하고 WebSecurityConfigurerAdapter 클래스를 상속 PasswordEncoder를 Bean 객체에 추가하고 AuthenticationManagerBuilder 객체를 매개변수로 하는 configure 메소드를 오버 라이드 한다. 사용자 정의 ..
오늘은 자바 람다식에 대해 공부를 했다. 내가 읽고 공부한 책은 이것이 자바다 신용권의 Java 프로그래밍 정복이라는 책이며 오늘 공부하면서 배운 내용을 정리 하려고 한다. 람다식이란? 자바는 함수적 프로그래밍을 위해 자바 8부터 람다식을 지원하기 시작했다. 람다식은 익명 함수(anonymous function)를 생성하기 위한 식으로 객체 지향 언어보다는 함수 지향 언어에 가깝다. 람다식의 형태는 매개 변수를 가진 코드 블록이지만, 런타임 시에는 익명 구현 객체를 생성한다. 람다식 기본 문법 // 람다식은 일반적으로 매개변수 타입을 언급하지 않는다. (a) -> {System.out.println(a);} // 매개변수가 하나고 실행문도 하나 a -> System.out.println(a) // 리턴값..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Mm7JM/btqV8GrgwZH/mByA7E2P1pPPoziVG0d63k/img.png)
오늘은 자바 스레드 공부에 대한 필요성을 느껴서 자바 책을 다시 보는 시간을 가졌다. 지원했던 회사에 코딩 테스트 문제로 스레드 관련 문제가 나왔었는데 정말 손도 못 대고 떨어졌다. 그만큼 기본이 안되어있다는 뜻! 좀 더 열심히 하지 않으면 안 되겠다고 느꼈다. 스레드로 6개의 로또번호를 비동기로 동시에 중복 없이 만들고 오름차순으로 출력하는 프로그램을 만드는 문제였다. class Main { // 로또번호 개수 상수로 설정 private static final int LOTTO_NUMBERS = 6; public static void main(String[] args) throws InterruptedException { // 스레드들이 공용으로 사용 할 객체 List lottoNumberList = ..
오늘 타임리프 관련해서 생긴 문제로 계속 구글링을 하다가 정말로 엄청나게 공부가 많이 됐다. html form태그의 POST 메소드 전송은 HTTP 헤더의 Content-Type 값이 기본적으로 application/x-www-form-urlencoded로 서버에 전송된다는 사실을 알게 됐다.현재 만들고있는 kkaemiGG 사이트의 컨트롤러를 다음과 같이 만들어서 문제가 발생했었다. @RequiredArgsConstructor @RestController public class PostsApiController { private final PostsService postsService; @PostMapping("/api/v1/posts") public Long save(@RequestBody PostsS..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dckk7h/btqVRwJqSdZ/P5UCKkcRkIlJEvIzrU4kKk/img.png)
오늘은 진짜 어이없는 문제로 시간을 너무 많이 소비해서 기분이 별로 안좋은 날이다... 국비학원에서 eclipse IDE로 Spring legacy 프로젝트를 배울 때 파일의 경로변경, 이름변경, 삭제를 하면 빌드가 안되는 문제가 있었다... 단순히 IDE문제인줄 알았는데 IntelliJ에서도 똑같은 문제가 발생됐다. 분명히 삭제돼서 없어진 파일인데 자꾸 없다고 빌드가 안되니 미치겠는데 의외로 구글링 검색도 잘 안되더라... 그러다가 어느 한 유튜브 동영상을 보게 됐는데 문제가 정말 직빵으로 해결됐다. 정말로 속이 뻥 뚫림... 옛날 버전 인텔리제이인거 같았지만 문제를 해결하는데는 충분했다.
- Total
- Today
- Yesterday
- Jackson
- 데이터베이스
- EC2
- 도커
- optional
- IDE
- IntelliJ
- S3
- Thymeleaf
- 충돌에러
- Gson
- framework
- 인텔리제이
- homebrew
- Spring
- gem
- 타임리프
- bootstrap
- git
- java
- rbenv
- 유효성 검사
- JSON
- Docker
- interface
- Github
- Set
- 스트림
- Stream
- 이클립스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |