일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 플러터 개발
- 프로그래머스
- 플러터 공부
- 코테공부
- 카프카
- nestjs
- 자바공부
- 기술면접공부
- 스프링부트공부
- 자료구조공부
- Kafka
- querydsl
- Flutter
- 기술공부
- JPA스터디
- 스프링
- JPA
- nestjs공부
- 알고리즘공부
- nestjs스터디
- 스프링부트
- K8S
- 스프링공부
- Axon framework
- JPA예제
- 코테준비
- 스프링 공부
- JPA공부
- JPA 공부
- DDD
- Today
- Total
목록분류 전체보기 (715)
DevBoi
BFS, DFS 는 알고리즘 유형에서 많이 나오는 유형이다. 우선 탐색 관련 된 내용이다. 스택 = pop,push로 선입 후추이다. 박스쌓기 처럼, 최상단 출력, peek() 큐 = 선입선출 , 줄서기, 대기열 같이, offer, poll 사용해서 사용 DFS : 깊이 우선 탐색, 스택 OR 재귀함수를 탐색 시작 노드 스택에 삽입, 인접 노드 스택에 넣고 개념을 익히기에 좋은 문제라고 생각한다. 우선, 해당 부분을 이해 및 풀을려면 어떤식으로 돌아가야하는지 알아야한다. 1은 false , 0은 true로 이해하면 된다. 자, 그러면 코딩을 해보자 import java.util.*; public class HelloCodiva { public static int n, m; public static int..
그리디는, 가장 최적의 해를 찾는 알고리즘이다. 우선 가장 쉬운 예제로 한번 테스트해보자 특정 금액 1260 원을 받았을때, 동전 거스름돈의 최소 개수를 구하는 로직이다. 그리드 관련 알고리즘은, 가장 큰 범위의 탐색 및 로직을 먹이는 것이다. 그다음 그리드 문제 처음에, %4가 0 일떄를 체크해서, 가장 나누기를 우선적으로 수행하면 된다. 해당 완전탐색으로, 풀어버리면된다. 저런문제가 나오면 완전탐색을 하라고 하는거니까.. 그냥 완전 탐색하면된다. import java.util.*; import java.lang.*; class main2 { public static void main(String[] args) { //스캐너 Scanner sc = new Scanner(System.in); //시간 입..
우선 스프링부트 관련 테이블을 생성했다. 제일 기본적으로 쓸것같은, user, userrole,role이렇게 했다. Spring security 관련되서 인증, 사용자 관련되서 테이블을 생성했다. 제일 쓸것같은 테이블로, 컬럼을 대충 생성했고, 필요한건 추후에 수정 및 생성 예정이다. 거의 기본 세팅이긴하지만... 추후에 좀 파봐야겠다.... 스프링 공식 예제 기반으로 다듬고, 커스터마이징을 해야겠다는 생각이들었다. 다음에 스프링 시큐리티 관련 자세히 소스별 포스팅을 해야겠다
Redis라는 것이 무엇일까. 쓰고는 있는데 정확히 어떤 것들이 좋은지, 나쁜지 이걸 진짜 알아야된다. 특정 기술을 쓸때, 이 기술에 대한 장단점을 모르고 쓰다보면 그리고 그 쓰임이 쌓이다 보면, 굉장히 성능에 대한 저하들이 생겨나게된다. 우선 redis 는 remote dictiionary server이다. 이름처럼 캐시이고, 많은 장점들이 있다. 1. 처리속도가 빠르다. 2. 리스트, 배열 형식의 데이터 처리에 특화 3. 메모리 활용하면서, 영속적인 데이터 보존 가능 (메모리를 사용하면 속도는 빠르지만, 영속적인 데이터 보존이 불가했었는데, 이러한 것들을 전부 커버업한다/) 4. 여러대의 서버 구성 하둡이나 빅데이터 처리 기 같이 master-slave 형태의 구성으로 한다. 또한 emecached ..
JPA에 대해서 많이들 언급하고있다 이직을 하거나, 공부를 하거나 등등 다양하게 스프링 관련 개발을 하게 되면 듣게 되는 용어이다. JPA대충감은 오지만, 확실히 모르면 확실히 알고가자 1. JPA 란 무엇일까 JPA란 흔히 , SQL과, 자바단을 묶어주는 , 객체 관계 매핑의 가장 표준적인 기술이다. 우리가 JAVA에서 객체를 넘겨주고, sql에서는 이 전달 받은 객체를 받아서, 매핑 해서 파라미터를 활용하여 insert나 select를 하게 된다. 2. JPA는 그래서 뭐임? 어케 쓰는거임?? JPA는 개발자가 사용하는 라이브러리가 아니다. 이렇게 애플리케이션 단과 JDBC 사이에 있기 떄문에, DB와 통신할때 객체를 매핑해주는 api라고 이해하면된다. 3. 그러면 JPA를 왜 사용해야할까???뭐가 ..
1. 제네렉은, 특정 클래스나 함수의 불필요한 타입변형을 막아준다. 대부분 파라미터나, return에 대해서, 특정 타입에 대한 선언을 해주는데, 특정 타입에 대한 정의를 하면 불편한, 공통의 소스들에 대해서는, 이런 제네릭 사용방법이 아주 핵심이다. 바로 쉬운 예를 하나 들어본다. Student라는 클래스이고, 이 하위에 함수를 ShowType으로 하고, 해당 Student 클래스를 생성할때, 해당 파라미터로 생성자를 만든다. 이떄, showtype을 하면, 이떄 생성한 파라미터에 대한 classtype을 보여주게 만들었다. 이렇게 하면, integer든,string이던, 한가지 소스에 student 를 선언할수있다. 2. 와일드 카드 showPrint 메소드를 보자, 해당 메소드에서는 와일드 카드를 ..
자료구조에 대한 걸 공부해야겠다는 필요성을 느꼈다. 왜냐하면, 너무 쓰던 자료구조만 쓴다. 예를 들면, ArrayList 말고 다른 자료구조를 쓰면, 더 효율적인데, ArrayList나 Map같이 그냥 쓰던것만 쓰거나.....등등 무튼 그래서, 하루에 한가지 자료구조를 파야겠다고 생각했고, 오늘이 그 첫번째, HashSet이다. 우선 선언 및 기본 print 간단하게, Hashset에 A라는걸 add하고,print 한다. add방식은 arrayList와 동일하다, index 로 탐색해야하는 것도 같다. 다만, 다른점은 !! 중복에 대한 자동 체크를 해준다는 것이다. 바로 이해되는 예제를 구현해봤다. add로 A를 두번 add해도 자동으로, A는 한번밖에 담기지 않는다. 찾아보니 hashset은 다음과 같..
스프링에서 Log로 보면 제일 많이 보이는 DispatcherServlet 이 존재한다. 해당 서블릿은 뭐하는 녀석일까???? 1. FrontController 해당 스프링에서 제일 앞단에서 받는 컨트롤러이다. 사용자가 지정해놓은 컨트롤러 보다 먼저받아서, Controller로 뿌려준다. 이 계층으로 응답을 받고 처리를 진행하는데, 쉽게 말해서 dispatcher servlet 이 받고, filter intercepter controller라고 생각하면 된다. 필터는 보안이나, 인코딩에 대한 것이라서, 내부 Servlet 전에 막아준다. 그다음에는 intercepter 인데, Controller 수행전, 수행후 특정 패턴 등에 적용이 가능하다. DispatcherServlet 은 Controller 의 ..
저번에 pom.xml에 Maven 형식으로 starter-security 만 추가하니까 모든 페이지에서 admin lock이 걸리고, 인증 페이지로 redirect 되는걸 알수있었다. 하여, 패턴적용하여, 어떤 페이지에서는 인증을 푸는 방법을 구현하였다. 우선 permitAll()을 하고, 특정 페이지에서 하나씩 어떻게 풀어나가는지 포스팅 및 정리 공부를 할 예정이다. 우선 com.date.blog 하위 패키지에 security 패키지를 추가, SecurityConfig 라는 class파일을 생성하였다. 하여 해당 소스 처럼, 해당 Config 파일은 WebsecurityConfigurerAdapter를 상속받아서, configure을 적용한다. web을 파라미터로 받는 경우에는 내부 프로젝트이 소스 접..
제네릭... 제네릭이 뭘까...?? 사실 개발을 조금 해봤으면 모를리 없다. 그래도. 가끔 헷갈리면서 잘못쓰는 경우를 대비해서 정리 및 작성 기초부터 잘알아야 어떨때 어떤걸 쓰는게 맞는지 알테니 고고 1. 제네릭 제네릭이란, 하나의 값으로 여러가지 다른 데이터 타입들을 가질수 있도록 하는 방법이다. List test = new ArrayList(); 이런식으로 선언을 하는데, 제네릭 클래스는 위와 같이 String에 대한 고정이 아니라 사용자의 입력에 따라서 유동적으로 값을 받을수 있도록 하는 것이다. 장점 : Typemismatch 에러 방지, 관리 편리, 코드 재사용성 높아짐 type Element Key Value Number 암묵적인 규칙이다. 쉽게말해 Public class TestClass{}..