일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 단위테스트
- 자바
- CS면접
- springboot
- cs지식
- 채팅구현
- JPA
- 스프링시큐리티
- MongoDB
- Security
- Mock
- 운영체제
- 기술면접
- 반효경
- 소켓통신
- socket
- 자바문법
- OS
- spring
- Stomp
- 스프링
- CS
- java
- jwt토큰
- 소켓
- rabbitmq
- 스프링부트
- jwt
- 테스트코드
- 스프링소켓통신
- Today
- Total
목록전체 글 (38)
Dev_Henry
코딩테스트를 준비하면서 언어를 파이썬으로 선택하는 이유는 단연코 편리함이다. 코딩테스트에서 편리하게 쓸수있는 라이브러리와 파이썬스러운 코딩문법 등을 정리하려고한다. 핵심 라이브러리 내장함수 itertools collections heapq bisect math 내장함수 import 없이 기본적으로 쓸 수 있는 함수들 print(), sum(), sorted(), min(), max(), eval() 등 코딩을 한다면 이미 사용해봤고 알만한 것들이므로 설명은 패스 itertools 반복되는 데이터를 처리하기 위한 기능들 제공 iterable객체를 받음 클래스 객체이므로 list로 형변환해서 사용 permutations() : 순열계산 (n개의 선택지에서 r개를 뽑아 나열하는 경우의 수) from itert..

* 공부하기 위한 정리글로 내용이 정확하지 않거나 자세하게 설명되지 않을 수 있습니다. 스프링을 공부하면서 DB를 사용하기 위한 기술이 아주 다양하게 있다. 이전에 공부하던 책에서는 mybatis를 사용했는데 현재 공부중인 책에서는 jqa, querydsl... 뭔가 다양하게 얘기한다. 체계적으로 교육을 받은게 아닌 여러 책들, 인터넷 자료 등으로 공부를 하다보니 뭐가 다른건지도 잘 모르겠고 어떻게 사용해야할지 많이 헷갈려서 정리해보려고 한다. 자바/스프링을 하면서 디비를 이용하기 위한 방법을 찾아보면 많이 보이는 것들은 다음과 같다. JDBC, Mybatis, JDBCtemplate, JPA, Hibernate, Spring Data JPA, JPQL, Querydsl 등.. 본문에서 이것들..
Repositoy 인터페이스(JpaRepository )에서 규칙에 맞는 이름으로 메소드를 선언해두면 이름의 단어들(키워드)을 해석해서 자동으로 맞는 쿼리를 실행시켜준다.(JPQL로 변환이 된다) 보통 // find 엔티티명 by 컬럼명 // 과 같은 모양이다. ex) void deleteByName(String name); 으로 선언만 해두고 사용하면 name컬럼을 이용한 삭제 쿼리가 자동으로 수행된다. findById() 처럼 기본적인건 선언도 필요없이 쓸 수 있음. @query(" jpql문 직접 입력 ") 어노테이션을 통해 복잡한 쿼리도 가능하다. 자세한 사용법과 키워드는 공식문서 참조 https://docs.spring.io/spring-data/jpa/docs/current/..

코딩을 할 때 다양한 언어들을 사용하다 보니 조금씩 다른 기본 문법으로 헷갈릴 때가 많다. ' 와 " 에 별 차이가 없는 언어들도 많고 문제가 생긴 적이 없어서 이제까지 신경 쓰지 않고 지나갔었는데 오늘 코딩을 하다 에러가 생겼다. 찾아보니 자바에서 따옴표는 문자 char타입을, 쌍따옴표는 문자열 string타입을 감싼다고 한다. 문자가 1개던 여러 개 던 보통 "를 많이 사용했어서 이제껏 동작에 에러 없이 사용했었던 거 같다. 공부를 하다 보면 문법이 조금씩 다른 여러 언어를 사용하니 사소한 문법을 생각 못하고 지나칠 때가 많은데 그 사소한 차이 때문에 예상치 못한 문제가 생길 수도 있으니 더욱 신경 써야겠다.
public void 함수(String...props){ } 공부를 하다가 위와 같은 문법의 코드를 만났다. 이게 뭐지 싶어서 찾아봤는데 자바에서 가변 매개변수를 받는 문법이었다. 찾아보고 나니 예전에 자바 공부를 하면서 배웠던 게 어렴풋이 기억이 난다. 여러 언어를 공부하다 보니 안 쓰다 보면 까먹어버리는 문법이 많은데 이런 편리한 문법이 있는 것도 기억 못 하고 구현하려고 하면 나만 손해니까 잘 기억해 두자. public void 함수(String s1) { } public void 함수(String s1, String s2) { } public void 함수(String s1, String s2, String s3) { } 들어오는 매개변수가 상황별로 다를 때 위와 같이 오버로딩을 하는 게 기본인데..

프로세스의 개념 context : 프로세스의 문맥 → 프로세스의 상태를 나타내는데 필요한 요소들 cpu수행 상태를 나타내는 하드웨어 문맥 ( PC, register ) 프로세스 주소 공간 (stack,data,code) 프로세스 관련 커널 자료구조 (PCB) 프로세스의 상태 Running : cpu를 잡고 instruction을 수행중인 상태 Ready : cpu를 기다리는 상태 ( 다른 조건을 모두 만족한 상태로) Blocked (wait,sleep) : 당장 cpu를 줘도 수행할 수 없는 상태. (다른 이벤트를 기다리는 상태) new : 프로세스 생성중 Terminated : 수행이 끝난 상태. (정리중) 위 그림에서 큐는 커널 데이터 영역에 있음 PCB ( process control block )..

컴퓨터 시스템 구조 cpu - 클럭마다 메모리에서 읽어서 수행 반복 ( PC가 가르키는 메모리 주소 읽어서 수행.) register: 저장공간 mode bit : 유저레벨(1), 커널레벨(0) 구분. 인터럽트 발생 시 커널모드로 전환하여 처리. 보안 목적으로 유저레벨에서 커널(os)의 기능(io)을 사용하기 위해서는 시스템콜(인터럽트의 일종) 필요 interrupt line: 인터럽트 받음 memory Controller : 메모리에 cpu와 dma 모두 접근 가능하기 때문에 충돌이 생기지 않도록 중재 DMA (Direct Memory Access) Controller: cpu가 인터럽트를 많이 당해서 일을 하기 힘듬. 인터럽트가 자주 발생하는 io장치의 일이 끝나면 dma가 직접 메모리에 올려주고 cp..

운영체제란 : 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 소프트웨어와 하드웨어를 연결해주는 소프트웨어 계층. 좁은 의미의 운영체제 : 커널. 핵심부분으로 메모리에 상주하는 부분 넓은 의미 : 커널을 포함하여 주변 시스템 유틸리티를 포함한 개념. 운영체제 목적 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공. 컴퓨터 시스템의 자원(하드웨어+소프트웨어)을 효율적으로 관리. 프로그램을 각각 독자적으로 수행되는 것처럼 환경을 제공. 하드웨어를 다루는 복잡한 부분을 수행 운영체제의 분류 동시작업 가능 여부 단일작업(싱글테스크) : ms-dos 다중작업 사용자 수 단일 사용자 다중 사용자 처리 방식 일괄 처리 (배치 처리) 일정량 모아서 한번에 처리. 작업이 완전 종료될때까지 기다려야함. 시분할 ( 일반적..