현재까지 207개의 포스트를 작성했어요.
Jul 2024
TRY Java의 Generic은 컴파일 시 Object로 변경되거나 혹은 bound type(<E extends ExampleObject>) 같은 경우 ExampleObject 로 변경됩니다.. 그렇다면 ParameterizedTypeReference 는 어떻게 동작하는걸까요? CATCH Generic erasure 먼저 제네릭 소거는 다음과 같이 제네릭이 사용된 경우 컴파일 시 소거됩니다. // 소거 전 public class ExamClass<T> { private T value; public void set(T value)...
[Read More]
May 2024
Windows 윈도우에서 docker-credential-desktop: executable file not found in PATH
TRY
윈도우 환경에서 WSL2로 Ubuntu 환경을 만들어 도커를 테스트 하는 도중 발생한 에러입니다.
aws에 로그인하려 했으나 로그인이 안되는 문제가 발생했습니다.
[Read More]
Dec 2023
Java의 List, Set, Map의 of() static method (Immutable Collections)
TRY
지금까지 List.of, Set.of, Map.of를 그냥 Collection을 간단하게 생성할때 사용했었습니다.
그동안 List등 Of()로 생성한 Object의 요소를 변경하지않았기에 몰랐는데 오늘 메서드를 통해 생성된 Collection 들이 Immutable이란걸 알게 되었습니다.
[Read More]
QueryDsl fetchJoin()과 Paging시 applying in memory 경고
TRY
QueryDsl 에서 페이지를 조회할때 applying in memory 경고가 발생했다.
내용은 다음과 같다.
[Read More]
Nov 2023
Aws Lambda 배포 및 direct(sdk) trigger(spring boot3)
TRY
스프링 부트3에서 Aws Lambda를 사용하고 싶어졌다.
그리고 API gateway나 다른 트리거가 아닌 코드에서 호출하고 싶었다.
[Read More]
Oct 2023
Querydsl count 결과 값 distinct
TRY
Querydsl에서 count() 할떄 distinct() 되지않았다.
결과값은 10개가 나와야하는데 그 이상나왔다.
[Read More]
Sep 2023
BitBucket Pipeline with code deploy(feat S3)
TRY
Bitbucket에선 Git Action 같은 Pipeline 이라는 게 있다.
Git Action은 사용해봤는데 Bitbucket Pipeline은 처음 써봤다.
Code Deploy를 통해 배포해보자.
[Read More]
Jetson nano install 및 boot usb(with black sreen)
TRY
원래 vscode 서버용 및 간단한 api 서버, 장난감용으로 쓰던 Jetson 시리즈를 팔았다가 다시 사용하고 싶어져서 구매했다.
처음에 jetson image를 sd card에 설치를 하고 usb로 부팅하려 했는데 문제가 생겼다.
그후 다시 sd card를 flash 하자..
[Read More]
Jvm heap profiling
TRY
자바 앱의 메모리의 사용량이 높게 나와 메모리 누수를 확인하려고 했다.
GC등 정상적으로 돌고있는 것 같은데 메모리가 조금씩 올라가는 것 같았다.
그래서 heap dump 분석하려한다.
[Read More]
Aug 2023
Java Optional의 orElse 와 orElseGet
TRY
Java의 Optional을 사용하면서 orElse와 orElseGet, orElseThrow는 정말 많이 사용한다.
그중 평소 orElse와 orElseGet는 그냥 null 값일때 빈 객체등을 받기위해 사용했었는데
이번에 map()등 stream api 메서드들과 사용하면서 의도와는 다르게 동작해 의아했고 또 재밌었다.
같이 보자.
[Read More]
Mac port 사용중인 process kill
TRY
가끔 mac에서 port를 사용하려 할때 누가 사용하고있는지 모를때가 있다.
그때 삭제 하기위해..
[Read More]
MongoDB Replica Set With docker-compose(Mac)
TRY
저번에 Spring Data Mongo에서 @Transactional을 사용하려면 MongoDB 가 replica set이 구성되어 있어야 한다고 했다.
[Read More]
Aws Instance Monitoring with Prometheus and Grafana
TRY
배포된 서버의 모니터링은 중요하다.
서버의 상태는 각 인스턴스나 LB등에서 확인가능하나 하나씩 들어가 확인하기 너무 귀찮고 ui도 별로다.
원하는 metrics와 ui로 확인하고 싶어진다.
그라파나와 프로메테우스를 사용해보자.
[Read More]
Aws Profile 추가
TRY
aws cli 에서 여러가지 프로파일을 사용할 수도 있는 상황이 생긴다.
이때 추가하는 방법.
[Read More]
Aws S3 SignatureDoesNotMatch with PresignedUrl
TRY
S3 PresignedUrl과 함께 Metadata을 추가하였다.
필요한 다양한 정보들을 Metadata에 저장하려고 했다.
겸사겸사 수정하다가 만나버렸다.
[Read More]
Aws sdk v2 와 Spring-cloud-aws(feat Spring boot3 and s3mock)
TRY S3관련 서비스를 구축하면서 겪었던 문제들이다. Spring boot 3을 사용하면서 다양한 이슈들을 겪었는데 (jakarta등 라이브러리 호환..) 처음 사용했던 Spring-cloud-aws 2버전대가 boot3와 이슈가 있다는 걸 지나가다 보았다. SQS를 이제 곧 사용하게 될텐데 이부분에서 이슈가 있다는 글들이었다. 해당 글들을 확인하고 spring-cloud-aws의 git을 확인하였다. link 이왕이면 호환도 되고 DynamoDB도 추가된 aws sdk v2를...
[Read More]
Jul 2023
Spring Data Mongodb transaction
내용
Spring Data는 Transaction을 지원합니다.
[Read More]
Jun 2022
r2dbc에서 Custom id 사용하기.
문제
save 시 @Id 컬럼을 기준으로 이 객체가 isNew인지 아닌지 체크
repository의 기본 save를 이용 시 새로운 객체로 insert를 해야하는데 update를 하려고 하고, 이때 없는 데이터라 update가 되지않음.
[Read More]
r2dbc에서 UUID 사용하기.
문제
r2dbc는 orm이 아니다.
몇몇 타입들은 custom converter가 있어야 data mapping이 된다.
참고
[Read More]
Docker-compose로 구성된 컨테이너 connection refuse(m1)
문제
docker 컨테이너로 띄워둔 mysql에서 connection refuse가 난다
개발 환경은 M1 mac
[Read More]
m1 macbook에서 netty no netty_resolver_dns_native_macos_aarch_64
문제
m1 맥북에서 netty 구동 시 에러가 나왔다.
java.lang.UnsatisfiedLinkError: no netty_resolver_dns_native_macos_aarch_64
[Read More]
May 2022
EnumMap
EnumMap이란
[Read More]
grpc protoc 예
protoc -I=. \
–go_out . –go_opt paths=source_relative
–go-grpc_out . –go-grpc_opt paths=source_relative
proto/pbfile.proto
Transactional readOnly 옵션이 빠른 이유
readOnly = true
[Read More]
Apr 2022
JPA 벌크연산
JPA 벌크연산이란
[Read More]
jpa의 distinct
Distinct
[Read More]
Aug 2021
mvc와 webflux의 차이점
mvc와 webflux의 차이
[Read More]
jpa dirty checking
더티체킹이란 (dirty checking)
[Read More]
Jul 2021
golang 설치 및 vscode 설정
golang 설치방법
[Read More]
python 에서 gRPC 테스트 해보기
gRPC란 RPC 란 Remote Procedure Call의 약자로 간편하게 다른 서비스의 함수 프로시저등을 호출할 수 있는 프로토콜이다. 다양한 언어를 지원하므로 언어가 다르거나 한 다른 서비스에 있는 함수나 프로시저를 호출하여 사용할 수 있다. 다양한 언어를 사용하는 MSA 구조에서 더욱 좋을 것 같다. gRPC gRPC는 구글에서 만든 RPC로 TCP/IP 와 HTTP/2를 프로토콜을 사용한다....
[Read More]
kubernetes 기본 설치 및 dashboard 배포
kubernetes 기본 설치 및 dashboard 배포 방법
[Read More]
Springboot + postgreSQL docker-compose!
Spring project를 PostgreSQL과 함께 docker-compose로 배포하는 방법
[Read More]
Jun 2021
git private repository clone 방법
git private repository clone 방법
[Read More]
Mar 2021
gitignore를 이미 push된 repository에 추가할 때
gitignore를 이미 push된 repository에 추가할 때
[Read More]
May 2020
MongoDB cluster
MongoDB HA
[Read More]
Jan 2020
django ./manage.py
공부하며 차차 추가하자
[Read More]
django 기본
django 구성
[Read More]
jenkins 기본
pipeline 을 구성하는 건 groovy 언어가 필요하다
[Read More]
SVN 기본 사용법
svn 이란
[Read More]
ANT 빌드툴 사용법
Ant 빌드툴이란
[Read More]
Dec 2019
자바 트러블슈팅 도서 정리
자바 트러블슈팅
[Read More]
Nov 2019
SonarQube란
소나큐브(SonarQube)란? 정적 분석툴로써 코드의 버그, 구린코드(Code Smell), 보안에 취약한 코드 등을 점검해주는 툴이다. 버그는 잘못된 코드나 개발자의 의도대로 동작하지않을 코드 구린코드는 정상동작은하나 유지보수가 힘들거나 중복, 복잡한 코드, unittest에 포함되지않은 코드등을 표시해준다고 한다. 보안은 SQL Injection, hard-coded 비밀번호, 제대로 핸들링 되지 않은 에러등을 발견해준다고 한다. SonarQube Server는 코드를 분석하고 그 결과를...
[Read More]
Stream 이란..
자바 Stream 이란 컬렉션에 저장된 요소들을 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다. Iterator 와 비슷한 반복자이다. 내부 반복자를 사용해 병렬처리가 쉽다고 한다.(외부는 개발자가 직접 요소를 반복하는 패턴for,while등) 개발자는 로직 코드만 작성해주면 된다. 스트림의 흐름 스트림 생성 > 중간연산 지정(스트림 리턴) > 종료연산을 적용해 결과 리턴(기본이거나 optional) 중간연산(여러번 사용가능)...
[Read More]
맥에서 파이썬 버전 설정
맥에서 brewdhk pyenv를 통해 파이썬 버전을 3.6.8버전을 받았다.
근데 파이썬 버전을 확인해보면 2.7.10 버전으로 되어있고 바뀌지 않았다.
[Read More]
Oct 2019
Junit사용..
Junit이란
단위테스트 도구.. 생각보다 맘처럼 안된다.
test class에서 구현하므로 기능추가 시 재사용이나 restdocs같은 문서화가능한 것들과 같이 쓰면 문서 공유도 할 수 있다.
[Read More]
Object 도서 정리
Object
[Read More]
Sep 2019
Kafka-Docker image를 위한 Dockerfile 작성
Kafka-Docker image를 위한 Dockerfile 작성 환경 Dockerfile 및 Shell script 작성 build 생성된 image로 run 환경 host : alpine-linux Kafka : 2.2.1 jdk : openjdk 8 Dockerfile 및 shell script 작성 Dockerfile # 베이스 이미지 FROM alpine # 기본 베이스 패키지 설치 # no cache -> apk를 run할때 이미지화하여 저장해두기때문에...
[Read More]
Docker에 Kafka 설치하기
간단하게 도커에 카프카를 설치하는 방법을 적어둔다. 이후에 DockerFile 작성이나 EntryPoint등에 대해 적을 것이다.
도커 우분투를 이용할 것이다..(용량이 가장 적고 빠른건 Alpine-linux이다)
[Read More]
Aug 2019
Gradle에 대해
그떄그때 필요한 것 넣으며 차차 추가
[Read More]
Nexus Repository란
넥서스 레포지토리란
[Read More]
네트워크 및 인프라, 웹 용어들
이것저것 용어들을 간단하게 정리하려 한다..
차차 업데이트 예정
[Read More]
쿠버네티스란 ?
수정중..
[Read More]
Test Driven Development 도서 정리
조금씩이라도 읽으며 쭉 정리하자
[Read More]
KAFKA란?
카프카(Kafka)란?
[Read More]
Netfilx OSS란?
Netflix Open Source Software (Netflix OSS)
넷플릭스에서 제공하는 오픈소스소프트웨어 (넷플릭스 OSS)
[Read More]
서비스 아키텍처
모노폴리 아키텍처
일단 전통적인 아키텍처로 모노폴리 아키텍처가 있다.
이는 하나의 애플리케이션 내에 모든 로직들이 모두 들어 가 있는 기본적으로 생각할 수 있는 모습인 것 같다.
UX부터 모든 서비스컴포넌트가 합쳐진 상태로 보면 될 것이다.
[Read More]
Jul 2019
자바는 CallBy???
면접 질문중 자바는 Call By Value와 Call By Reference중 어떤 것이냐는 질문도 있었다는 걸 들었다..
사실 이런 부분까지 생각해 본 적은 없었다.. 자바는 어떤걸까? 일단 두개가 뭔지 알고 가자
[Read More]
AWS 서비스 종류
컴퓨팅(Computing)
[Read More]
static에 대해
오늘 면접에서 static의 생명주기에 대한 질문을 들었다.
static의 용도나 메모리에 한번 올라가고~ 이런건 알았는데 static이 언제 생성되고 언제 소멸하는지는 대충은 생각하고 있었지만
정확한 때는 몰랐던 것이다. 내가 생각하던건 선언될때 생성되고, 프로그램이 종료될때 소멸된다.. 라는 것
[Read More]
해시맵이란
해싱(Hashing)이란
해시함수(hash function)를 이용해서 데이터를 해시테이블(hash table)에 저장하고 검색하는 기법을 말한다.
[Read More]
Jun 2019
asList, toCharArray
Arrays.asList는 배열을 리스트로 반환해 준다.
[Read More]
웹소켓과 쓰레드
WebSocket이란 웹소켓(WebSochet)은 서버와 클라이언트 간의 효율적인 양방향 통신을 실현하기 위한 구조 Transport protocol의 일종으로 쉽게 이야기하면 웹버전의 TCP 또는 Socket (소켓)이다. WebSocket은 서버와 클라이언트 간에 socket connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술 Real-time web application에 쓰이며 서버 쪽 또는 클라이언트 쪽 데이터가 실시간으로 업데이트 되는...
[Read More]
스트링 메소드
charAt() - 문장중에 인덱스 위치에 해당되는 문자 추출하기
[Read More]
자바의 철학과 solid 5원칙
자바의 철학
[Read More]
19-06-21
오늘 한 것
- todo 엔티티 작성
[Read More]
예외처리, 예외종류
일단 에러와 예외가 있는데
에러는 개발자가 처리할 수 없다.(JVM, 하드웨어적인 문제)
[Read More]
19-06-15
오늘 한 것
- 슬랙 api 추가
- 오늘 기존 프로젝트들의 aop에 슬랙 API를 추가하였다.
다른 properties를 이용하여 key를 숨겼는데 필드값으로 SlackAPI를 생성하면 오류가나면서 되지않았다.
그래서 각 @어노테이션안에서 api를 생성하게 하였다.
그냥 api값을 넣으면 되는데 @Value에 담아서 하면 오류가 난다..
[Read More]
19-06-13
오늘 한 것
[Read More]
19-06-12
오늘 한 것
[Read More]
인터뷰
정리 해두자
[Read More]
19-06-11
오늘 한 것
[Read More]
19-06-10
오늘 한 것
[Read More]
19-06-09
오늘
- Mock 을 이용한 API 컨트롤러 테스트
[Read More]
컨트롤러 테스트(controller Test)
Controller
Controller 단위 테스트를 진행하기 위해서 MockMvc를 활용할 수 있다.
[Read More]
19-06-08
오늘 한 것
[Read More]
19-06-07
오늘 한 것
[Read More]
소수점자리 표현
소수점자리로 표현
[Read More]
19-06-06
오늘 한 것
[Read More]
RestTemplate, Webclient
Blocking I/O 기반의 RestTemplate, Non-Blocking I/O 기반의 WebClient ~~~ WebClient는 Non-Blocking I/O 기반이기 때문에 각 Http 요청이 비동기적으로 발생하게 됩니다. 따라서 위 RestTemplate를 이용하여 Http 요청을 진행했을 때와 다르게 동작하게 되며 총 합쳐 대략 8초 정도가 걸리는 것이 아닌 각각 5초, 3초 걸리는 Http 요청을 동시에 처리하게 됩니다. Mono는 WebClient의...
[Read More]
Test를 위한 @ 및 메소드
@RunWith
JUnit 확장 하는 어노테이션이며 SpringJUit4classRunner로 JUnit용 테스트 컨텍스트 프레임 워크 확장 클래스를 지정하면 테스트 진행 시 컨텍스트를 생성하고 관리하는 작업을 한다.
[Read More]
19-06-04
오늘 한 것
[Read More]
19-06-03
오늘 한 것
[Read More]
19-06-02
오늘 한 것
이력서 및 면접 준비
프로그래머스 타겟넘버
[Read More]
컴퓨터보안
기밀성 - 허락 x가 view 못하게 - 비밀번호
은행의 고객 개인정보 나 계좌정보가 제3자에게 알려지지않게 방지
무결성 - 허락 x가 수정 못하게 - 계좌번호. 입출금정보
DB 내 개인정보가 임의로 수정되지 않게
[Read More]
19-06-01
오늘 한 것
대학 시험
이력서 및 면접 준비
프로그래머스 영어 끝말잇기
[Read More]
May 2019
19-05-30
오늘 한 것
프로그래머스, 더 맵게
검색 추가중
면접
[Read More]
19-05-28
오늘 한 것
프로그래머스, 체육복
[Read More]
19-05-27
오늘 한 것
slack api를 작성 시도중이다. 하지만 생각보다 잘 안되는 것 같다. 구글링도 예전자료가 대부분이고.. 계속 시도해봐야겠다
내일부터는 당분간 Search를 개발하려 한다.
[Read More]
Tt
오늘은 쉰다
19-05-23
오늘 한 것
오늘 티몬의 인턴에 지원한 애들이 3시간짜리 문제 푸는걸 봤는데 정말 어려워 보였다.
알고리즘 좀 열심히 해야겠다. 자바 공부도 해야겠다 (쓰레드 관련 문제가 나온 것 같다.)
Search 작성
[Read More]
19-05-22
오늘 한 것
페이징 수정 (0으로 나오던것을 1이 나오게 수정)
기존의 문제점은 페이지네이션이 되긴했는데 1을 눌렀을때 페이지넘버를 보면 0으로 출력됐었다.
이는 @Pageabledefault를 사용한다면 기본적으로 인덱스가 0이 나오는 것 같았다.
그래서 직접 Pageable을 수정해줘야 하는데 이때 쓴 것이
‘PageRequest.of’이다
[Read More]
19-05-21
오늘 한 것
발표 준비
[Read More]
19-05-20
오늘 한 것
send를 model에 담아 구현했다. 계속 쿼리에서 named parameter not bound가 떠서 파라미터 명을 바꿔보고 이것저것 다 해봤지만 결국 답은 :파라미터를 : 파라미터 로 써놔서 그런 것이었다.
[Read More]
19-05-17
오늘 한 것
send를 만들고있는데 잘 안된다, 400에러가 떠서 ajax, 파라미터값과 xhr 코드도 넣어주고 헀더니 405가 뜬다. 더 수정해보자
일단 방식은 id값을 넘겨받아 id에 해당하는 isbn으로 book을 검색해 세션에 저장하는 방법으로 하려한다.
post로 바꾸니 500이 뜬다(value를 적어주면 500, 안적으면 405)
[Read More]
19-05-16
AWS 세미나에 다녀왔다.
AWS 서비스 종류가 정말 많다
19-05-15
오늘 한 것
api 키를 숨겨야 해서 rest.properties로 생성해서 거기다 넣어줬다.
이때 오류가 났는데
~~~
is = new FileInputStream(resource.getFile());
is = getClass().getResourceAsStream(“/rest.properties”); //경로 지정
~~~
[Read More]
19-05-14
오늘 한 것
api 키를 숨겨야 해서 rest.properties로 생성해서 거기다 넣어줬다.
이때 오류가 났는데
~~~
is = new FileInputStream(resource.getFile());
is = getClass().getResourceAsStream(“/rest.properties”); //경로 지정
~~~
[Read More]
aws 배포 순서
AWS 배포순서
[Read More]
19-05-13
오늘 한 것
null check를 optional로 바꿨다. optional은 NullPointException에 유리하다고 들었다..
이 주에 할 것
[Read More]
19-05-12
오늘 한 것 오늘은 일기장을 진행하며 몇가지 에러가 있었다 오늘은 글쓰기 하는 중 이었는데 그중 하나는 java.util.Date cannot be cast to java.lang.Number; 이 에러가 계속 났다. 왜그런걸까 계속봐도 양식이 안맞는다는데 대체 왜..하고 보고있었는데 addBoard에서 userid를 저장하는데 getRegdate()를 받고있었다.. 당연히 안된다 수정해서 고쳐졌다. userid를 fk로 사용화려고 DB에서 fk로 추가해놨었는는데 이게 계속...
[Read More]
19-05-09
오늘 한 것
북마크 개별 삭제에서 맨 위에 버튼만 먹었는데 href=”javascript:void[0];” th:onclick= “‘javascript:deleteicon(‘+${bookmarks.id}+’)’” 를 넣어서 각 버튼이 동작하게 했다.
[Read More]
BeanUtils.copyProperties()
BeanUtils.copyProperties()
여러 Setter를 한줄로 바꿀 수 있다.
[Read More]
19-05-08
오늘 한 것
book add 와 북마크add 수정중
[Read More]
가비지,힙덤프
자바의 메모리 구조?
[Read More]
19-05-07
오늘 한 것
북마크에 추가하기 버튼을 눌렀을때 db에 있는지 확인하여 없으면 book DB에 api에서 불러온 정보들이 저장되도록 만들고 있다.
아직 들어가지않는다.
[Read More]
19-05-06
오늘 한 것
오랜만에 spring dairy 개인프로젝트를 진행했다.
회원가입,로그인,로그아웃등을 구현하였고 list페이지에서 추가,수정,삭제등을 구현하였다.
리스트 페이지는 1년동안 모든 일기리스트를 보여줄 예정이므로 무한스크롤을 추가해볼 예정이다.
[Read More]
19-05-05
오늘 한 것
오랜만에 spring dairy 개인프로젝트를 진행했다.
회원가입,로그인,로그아웃등을 구현하였고 list페이지에서 추가,수정,삭제등을 구현하였다.
리스트 페이지는 1년동안 모든 일기리스트를 보여줄 예정이므로 무한스크롤을 추가해볼 예정이다.
[Read More]
19-05-03
오늘 한 것 ajax에서 호출 시 계속 403, 리스트로 받는 checkbox 삭제는 404가 떴다. 이것저것 ajax를 시도해봤으나 계속 403, 404, xhr문제가 떴었다. 근데 결국 검색해 찾아냈다. 구글 검색 결과의 몇몇 문서에서는 http.csrf().disable()와 같이 csrf를 disable 하라고 하지만 이렇게 할 경우 보안에 문제가 발생할 수 있기 때문에 좋지않다. 그럼 csrf 가...
[Read More]
19-05-02
오늘 한 것
ajax에서 데이터가 넘어가지않는다 계속 시도중..delete method도 써보고 get,post도 써보고있다.
선택삭제에는 post를 사용하고있다.
[Read More]
19-05-01
오늘 한 것
ajax로 보내주는 리스트를 콘트롤러에서 받아 삭제하려는데 어렵다
[Read More]
Apr 2019
AOP
읽어보자
[Read More]
DI 컨테이너
스프링은 DI 컨테이너라고도 부른다.
[Read More]
19-04-24
오늘 한 것
[Read More]
스프링기본
applicationContext?
[Read More]
ajax 란?
AJAX는 무엇입니까?
AJAX- 비동기 자바 스크립트와 XML
[Read More]
19-04-18
오늘 한 것
[Read More]
19-04-15
오늘 한 것
[Read More]
19-04-13
오늘 한 것
[Read More]
19-04-11
오늘 한 것
[Read More]
19-04-08
오늘 한 것
[Read More]
프로젝트 진행 순서
프토로타이핑 DB 설계 domain 작성 entity 매핑 회원 가입 및 로그인 작성 공지사항 작성 엔티티 작성, 매핑, 콘트롤러, 레파지토리, 서비스, html 작성, 시큐리티에 추가 crud 작성 이미지 올리기, 페이징, 검색 관리자페이지 작성 챌린지 작성 다이어리 작성 kakao api 적용(book) - 책 제목을 검색해 값을 가져온다. bookmark 새로 생성 - 엔티티,...
[Read More]
19-04-01
오늘 한 것
[Read More]
Mar 2019
소프트웨어아키텍처
소프트웨어 아키텍처의 설계 정의 : 아키텍처는 비즈니스 요구사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로써 시스템으르 구성하는 구성요소와 그 구성요소간의 관계, 그리고 구성요소가 다루는 정보를 정의 즉 아키텍처는 비즈니스 요구사항을 기술로 해석해 놓은 것이다. 아키텍처는 개발의 방향을 알려주는 지도이고 의사소통의 매개체가 된다. 이는 아키텍처를 보는 사람들이 이해할...
[Read More]
19-03-27
오늘 한 것
[Read More]
메이븐 빌드 란
메이븐(maven) 이란?
[Read More]
19-03-26
오늘 한 것
[Read More]
19-03-25
오늘 한 것
[Read More]
19-03-23
오늘 한 것
[Read More]
19-03-22
오늘 한 것
[Read More]
Q클래스 사용법
Q클래스 사용하기위해선
QueryDSL에 대해서 공부!
[Read More]
JPA cascade, 즉시로딩(pre), 지연로딩(lazy)
@Entity - 이 클래스를 테이블과 매핑한다고 Jpa에게 알려준다.
[Read More]
19-03-20
오늘 한 것
[Read More]
SPA란
SPA 란?
[Read More]
프로젝트 진행 순서
놀러가조
[Read More]
xml 이란?
xml 이란?
Extensible Markup Language
마크업 언어를 정의하기 위한 언어, 확장이 가능한 언어이다.
HTML 이 데이터를 표현하는 마크업 언어라면, XML 은 Tag를 정의할 수 있고 데이터를 기술하는 마크업 언어
[Read More]
19-03-18
오늘 한 것
[Read More]
TDD 란?
TDD
테스트 주도 개발(Test-driven development TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스
[Read More]
REST API 란
API란 ?
[Read More]
19-03-15
오늘 한 것
[Read More]
마크다운 문법
[공통] 마크다운 markdown 작성법
[Read More]
19-03-14
오늘 한 것
[Read More]
스택, 큐, 덱
스택(stack) : 자료의 입력과 출력을 한 곳(방향)으로 제한한 자료구조, 깊이우선탐색-DFS
[Read More]
19-03-13
오늘 한 것
[Read More]
멀티쓰레드의 특징
쓰레드란
프로세스 내에서 일을 처리하는 세부실행 단위
일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업한다.
경량화된 프로세스라고도 부른다.
[Read More]
19-03-12
오늘 한 것
[Read More]
HTTP
프로토콜
[Read More]
함수형프래그래밍이란
객체지향 프로그래밍은 움직이는 부분을 캡슐화하여 코드 이해를 돕고, 함수형 프로그래밍은 움직이는 부분을 최소화하여 코드 이해를 돕는다 - 함수형 사고
[Read More]
객체지향이란
객체란
물리적으로 존재하거나 추상적인 것중에 자신의 속성과 동작을 가지는 모든 것
속성(필드) 와 동작(메소드)으로 구성된 자바 객체로 모델링가능(추상화)
[Read More]
백준 4344
문제
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
[Read More]
19-03-05
오늘 한 것
[Read More]
19-03-04
오늘 한 것
[Read More]
Feb 2019
키위주스
키위주스 문제 타로는 맛있는 키위주스를 준비했습니다. 타로는 0부터 n-1이라 이름을 붙인 n개의 병에 키위주스를 넣었습니다. 이때 i 번째 병의 용은 capacities[i] 리터이며 타로가 i번째 병에 넣은 키위주스의 양을 bottles[i] 리터라고 한다 타로는 병에 키위주스를 재분배하려고 하며 0부터 m-1까지 m 회 조작합니다. 병 fromId[i] 가 비어 있거나 병 toId[i] 가 꽉...
[Read More]
도커 기본
도커란
[Read More]
웹소켓 채팅에 적용하기
websocket을 이용한 채팅만들기
[Read More]
entity가 json으로 변환할때..
restController가 리턴하는 엔티티는 messageConverter가 변환한다.
json으로 변환 하는 것은 내부적으로 jackson이 사용된다.
[Read More]
Http 에러
HTTP 오류
[Read More]
web jar, 부트스트랩적용
jquery, bootstrap
[Read More]
스프링부트 querydsl 과 Repository
Spring DATA JPA 에서 다이나믹 SQL을 처리하는 방법?
JPA Criteria 를 사용하는 방법
EntityManager를 직접 사용하는 방법
QueryDSL 를 사용하는 방법
[Read More]
스프링부트 회원가입,글쓰기
회원가입 GET /users/join - 회원가입 폼이 보여진다. name,nickName, passwd, email을 입력 POST /users/join - 회원정보가 저장된다. 이때 USER권한을 가지도록 한다. // config에 permitAll 해야함 .antMatchers(“/users/join”).permitAll() GET /users/welcome - 회원가입후 redirect하여 보여지는 페이지. POST /users/join 를 처리하는 컨트롤러에서는 폼 파라미터를 받아들이기 위해 다음을 사용할 수 있다. @RequestParam 을 이용하여 값을 받을...
[Read More]
스프링시큐리티 기본
보안 (Spring Security)
[Read More]
lazy,OSiV
Spring Web MVC
[Read More]
자바 Optional이란?
자바 Optional
NullPointerException 을 방지하기 위해 Java8에 Optional 클래스가 추가되었다.
if문등을 써 반복적인 null 체크를 방지하기위해 Optional가 추가되었다.
[Read More]
JPQL 예제
JPQL 예제
JPQL 할게 많으니 따로 공부!
[Read More]
JPQL, fetch, join?
JPQL 특징
[Read More]
View란?
q) : emp_details_view 은 테이블이 아니라 뷰(View)다. View란?
[Read More]
스프링부트 JPA 기본 설정
pom.xml 파일에서 mysql jdbc driver를 다음과 같이 수정한다.
mysql
mysql-connector-java
5.1.47
lombok 사용할 수 있도록 한다.
[Read More]
스프링부트 @Entity 관계설정
스프링 부트 @Entity 관계설정 생성하기
[Read More]
Jan 2019
AWS ec2 기본 및 설정
AWS EC2 란??
[Read More]
스프링부트 시작 및 예제
Spring boot 프로젝트를 생성할 수 있다.
[Read More]
스프링에서 파라미터 받는 방법
HttpServletRequest.getParameter()
[Read More]
lombok 설정 및 기능
lombok 설정 방법
[Read More]
람다식
람다식이란
식별자 없이 실행 가능한 함수.
메서드를 하나의 식(expression)으로 표현한 것
메서드를 람다식으로 표현하면 이름과 반환값이 없어지므로 람다식을 ‘익명함수’라고도 한다.
익명함수(anonoymous function), 이름없는 함수, 익명메소드 익명객체…
[Read More]
스프링 MVC
스프링 MVC
[Read More]
19-01-22
Spring 기본 용어
[Read More]
19-01-21
오늘의 생각
[Read More]
19-01-05
오늘의 생각
[Read More]
트랜잭션,레이어드 아키택처
Transaction
하나의 논리작업 단위
[Read More]
19-01-05
오늘의 실수들
[Read More]
싱글턴 패턴 및 적용방법(hikariCP)
HikariCP를 가지는 객체는 메모리에 하나만 있으면 좋겠다.
메모리에 하나만 있는 객체를 우리는 ‘싱글턴’ 객체라고 한다.
[Read More]
맥에서 mysql 완전 삭제방법
터미널에 입력
[Read More]
httpCookie,httpSession
Cookie
쿠키란 커피숍의 쿠폰과 같다.
처음 커피숍을 방문 시 클라이언트에게 쿠폰은 존재하지않는다.
방문 시 쿠폰을 만들어 손님에게 건내주게된다.
[Read More]
DB,DBMS, Mysql 기본적인 명령어
DB - DataBase(책)
DBMS(DataBaseManagementSystem) - 엄마(책정리) -MYSQL등
[Read More]
http 및 서블릿의 특징
브라우저
WAS
서블릿필터
WebApplication
요청———->
httpServletRequest httpServletResponse
was안에 위치
<———-응답
요청정보에서 context path를 구하고 해당하는 webapp을 구해서
———-> <———-
해당하는 Webapp 구해서
PATH가 정적 : default Servlet PATH가 동적 : 서블릿,JSP
[Read More]
입력받은 세 정수의 중앙값
~~~ public class Middle { //입력받은 세값중 중앙값을 구한다. static int mid(int a, int b, int c) { if (a >= b) if (b >= c) { return b; } else if (c >= a) { return a; } else { return c; } else if (a > c) {...
[Read More]
터미널에서 톰캣,sql 실행법
brew를 이용한 톰캣 설치방법
[Read More]
부트스트랩 적용방법과 웹어플리케이션기본
부트스트랩 적용 방법
헤드
[Read More]
인텔리제이 단축키(mac) / 이클립스 단축키(win)
⌘ : command
⌃ : control
⇧ : shift
⌥ : option(alt)
⎋ : esc
⏎ : return(enter)
⇥ : tab
[Read More]
git 터미널 사용법
깃 사용법
[Read More]
Thread 생성 방법
쓰레드를 생성하는 방법은 크게 2가지가 있다.
[Read More]
공유객체 사용법
문제없이 공유객체를 사용하는 방법.
[Read More]
Dec 2018
세값의 최댓값.
//세 값의 최댓값.
[Read More]
쓰레드
자바 쓰레드Java Thread의 정의를 알기 전에 프로세스Process에 대해 알아야 합니다.
[Read More]
http
프로토콜 이란?
[Read More]
HTML
HTML 기본 태그
[Read More]
거스름돈
거스름돈에서 각 동전당 가장 적은 수의 동전으로 거슬러주는 알고리즘이다
```
public class CoinAl {
[Read More]
Test
테 스 트
[Read More]