자바에는 여러 로깅 프레임워크가 존재합니다. SLF4 J : java진영 로깅 api들의 추상체 파사트 패턴 및 추상화를 통해 기능 제공 logback, log4 j... : 구현체 log4j는 이미 개발이 중단되었으며 사람들은 logback, log4j2를 사용 권장을 합니다.. 구글에서 검색을 하면 logback이 약 100만 개 log4j2가 50만 개 결과가 나옵니다. 정보량을 생각해서 logback을 선택하겠습니다. 사용을 위해서는 sfl4 j logback-core logback-classic 3개의 라이브러리가 필요합니다. Logger logger = LoggerFactory.getLogger(temp2.Main.class); import org.slf4j.Logger; import org...
쿼리는 거의 신경을 안 써서 프로젝트를 진행하는데 쿼리 쪽에서 시간을 엄청 많이 잡아먹었다. 일단 저 문구는 group by 절에서 다루지 않은 값을 select으로 뽑으려고 하면 나온다 mysql 버전 5.7전에는 group by절에 올리지 않아도 select에 잘 나왔다고 한다. a테이블과 b테이블이 연관 테이블이고 a테이블의 pk기준으로 b테이블의 값들을 뽑으려고 했다. a테이블의 1개 데이터의 pk를 참조하는 값이 b테이블에 4 개행이 있으면 이중 제일 최근 값 하나만 가지고 오려고 했으나 쉽지 않았다. 서브 쿼리 안에 넣으니 메인 쿼리에서는 서브 쿼리에서 참조할 수 없다. 그래서 외부 group by에 서브 쿼리 칼럼들을 올리니 예상과 다른 답이 나왔다. set @@GLOBAL.sql_mode=..
head와 tail에 -1이 계속 유지됩니다. 끝마디를 제외하고 인덱스가 0이 아닌 1부터 시작합니다. class MyLinkedList { Node head; Node tail; int count; public MyLinkedList() { head = new Node(-1); tail = new Node(-1); head.next = tail; tail.prev = head; count = 0; } public int get(int index) { Node temp = head; if(count >= index) { for(int k = 0; k < index; k ++){ if(temp != null) temp = temp.next; else return -1; } } return temp.val;..
☘️ 사용자의 password를 db에 그대로 넣으면 안 된다. (현행법상 막았다고 한다.) 상식적으로도 외부에서 접근이 되었는데 암호가 평문으로 모두 입력되어있으면 그대로 보일 것이다. 그리고 많은 이용자들이 비슷한 암호로 여러 서비스에 가입했을 것이니 피해는 엄청날 것이다. SHA 패스워드의 암호화에 이용된다고 한다. 키를 사용하지 않고 같은 입력에 대하여 같은 출력이 나온다고 한다. (본래는 무결성체크에 이용) SHA256 무슨 문자열을 입력해도 같은 길이의 문자열이 나오게 되어있다.(32바이트) 그리고 입력값이 조금만 바뀌어도 출력 값이 매우 많이 바뀌게 되므로 입력값에 대하여 유추하기가 어렵다. 입력값에 대하여 같은 출력값이 나오게 되지만 아주 조그마한 확률로 다른값이 나올 수 있다. 아래 사이..
정확하지 않습니다. 🐲 mapper 1.namespace를 직접 입력하여 사용 2.mapperInterface를 통해 사용 namespace interface 장점 간단하게 사용 mapper를 열어보지않아도 알아볼수 있다. 단점 오타로 인해 에러로 빠질수 있다. mapper를 직접 열어서 찾아봐야함. namespace에 비해 상대적 더 설정할게 많다. 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. sqlSessionFactory 이제 이 팩토리로 sqlSession을 만들어 쿼리를 날려 사용하면 된다. ex) builder -> factory -> sqlSession -> 쿼리 실행 sqlSession은 스프링에서 singletone으로 사용되고 사용할 때 open ..
💻@SpringBootTest 컨테이너의 모든빈을 사용한다고 한다. 💻@EnableConfigurationProperties @Configuration으로 사용하는 빈만 사용 한다고 한다. 💻@RunWith Junit의 러너를 사용하지않고지정된 러너를 사용한다고 한다. runner? 각각의 테스트클래스의 구조에 맞게 테스트 메소드를 실행하고 결과를 보여준다고 함. 💻@webMvcTest @Controller, @ControllerAdvice, @JsonComponent Filter, WebMvcConfiguer, HandlerMethodArgumentResolver 만사용 💻 @DataJpaTest jpa관련설정만 로드
🍄 1개의 메서드 = 1개의 일 서로에게 요청만 하기 속성과 행위가 우선 메시지 중심
👷 자바에서의 데이터는 스트림을 통해 입출력 해야한다. 그리고 단방향이라는 특징이 있다. 🤡 스트림은 통로일뿐 👷 java.io package 👷 단위 : byte, char 👺 abstractClass input, output stream 으로 byte, data, char등 구현체를 만들어 상황에 맞게 사용한다. byte[] values = {2,1, 30,2,12,34,56,3}; ByteArrayInputStream stream = new ByteArrayInputStream(values); int data; while((data = stream.read()) != -1) { System.out.println(data); } stream.close(); ByteArrayInputStream 인자로..
- Total
- Today
- Yesterday
- 백준 제로
- 개발자채용
- jvm
- 다대일
- JDK
- 프로그래머
- 백준
- java8
- 관계설정
- jre11
- 스택
- ㅃ
- Spring
- 알고리즘
- mappedby
- springboot
- jre8
- boot 일대다
- 스타트업
- 자바
- JPA
- 백준 제로 자바
- 백엔드
- 문제
- jre
- 자사서비스
- JDK8
- boot
- 코딩테스트
- jdk11
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |