- map
- javamap๋ฐ๋ณต
- ELB
- dynamodb
- ์ด๋ ธํ ์ด์
- CloudFormation
- rabbitmq์ค์น๋ช ๋ น์ด
- rabbitmq์ค์น๋ฐฉ๋ฒ
- Cognito
- REST
- AWS
- Iteration๋ฐ๋ณต๋ฌธ
- yumpackage
- Heap
- S3
- ๋ฆฌ๋ ์คrabbitmq์ค์น
- ์ฐจ์ด์
- AWS CloudFormation
- ์ธ์คํด์ค
- instance
- jpa
- Amazon
- cloudfront
- spring
- db
- list
- ์๋ฃ๊ตฌ์กฐ
- javaIteration
- redis
- java
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (58)
You are a developer, not a coder.
JAVA/Design Pattern [์์ฑ ํจํด] ์ฑ๊ธํค(Singleton) ํจํด์ ๊ตฌํํ๋ 6๊ฐ์ง ๋ฐฉ ์ฒซ ๋ฒ์งธ๋ก ์๊ฐํ ๋์์ธ ํจํด์ ์ฑ๊ธํค(Singleton) ํจํด์ ๋๋ค. ์ข ์ข ์ฑ๊ธํค ํจํด์ '๋จ์ผ์ฒด' ํจํด์ผ๋ก ๋ฒ์ญํ๊ณ ์๋ ์ฑ ๋ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ฑ๊ธํค ํจํด์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ฑ๊ธํค ํจํด์ ๊ฐ์ฒด์งํฅ ๋์์ธ ํจํด์์ ๊ฐ์ฅ ์ ๋ช ํ ํจํด ์ค ํ๋๋ก, ๋์์ธ ํจํด์ ๋ฐ๋ก ๊ณต๋ถํ์ง ์์ผ์ ๋ถ๋ค๋ ์ตํ ์๊ณ ์๋ ํจํด์ ๋๋ค. ํ์ง๋ง ์ ๋ช ํ ๋งํผ ์์ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ ํ ์ ์์ด์์ธ์ง ํ๋ก์ ํธ์ ์ฑ๊ธํค์ ์ด์คํ๊ฒ ์ ์ฉ์ ํ์ง๋ง ์ ์ ์ ์จ์ผ ํ๋์ง, ์ด๋ป๊ฒ ์จ์ผ ๋ด ์ํฉ์ ๋ง๊ฒ ์ ์ฐ๋์ง์ ๋ํด์๋ ์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๋์์ธ ํจํด ๊ด์ ์์ ์ฑ๊ธํค์ ๊ฐ๋ ๊ณผ ์ญํ ์ ๋ํด ์ดํด๋ณด๊ณ , Jav..
๋๋ ์ฌํด๋ก 8๋ ์ฐจ ๊ฐ๋ฐ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด 5๊ฐ์ ํ์ฌ๋ฅผ ๋ค๋ ๊ณ , ์ง๊ธ์ ๊ณต๊ธฐ์ ์ ๊ทผ๋ฌด์ค์ด๋ค. ์ด๋๊น์ง ๋์ ์ด๋ ธ์๋ ์์ ๊ณผ ๊ฐ๋ฐ์๋ก์จ ๊ฒช์๋ ์ํฉ์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ณ ์ ํ๋ค. ๋ค๋ฆ๊ฒ ๊ณต๋ถ ํ๋ ค๋ ์ฌ๋๋ค์๊ฒ ์กฐ๊ธ์ด๋๋ง ํ์ด ๋๋ ๊ธ์ด๊ธธ ์๋งํ๋ค. [์ฒญ์๋ ์์ ] ๋ ๋จธ๋ฆฌ๊ฐ ์ข์ง๋, ๊ณต๋ถ๋ฅผ ์ํ์ง๋ ๋ชปํ๋ ์์ด์๋ค. ์ด๋ ธ์๋ ๋ถํฐ ๋ ธ๋๊ฒ์ ์ข์ํ๊ณ , ๊ณต๋ถ์๋ ์ ํ ๊ด์ฌ์ด ์์๋ค. ์ค์ ๊ณ๋ฅผ ๊ฐ๋ ค๊ณ ํ๋ ๋์๊ฒ ํญ์ ์ด๋จธ๋๋ ๋ฐ๋๋ฅผ ํ์ จ๊ณ ์ด๋จธ๋์ ๋ฐ๋๋ก ์ธํด ์ธ๋ฌธ๊ณ๋ฅผ ๊ฐ๊ฒ ๋์๋ค. ์ธ๋ฌธ๊ณ๋ฅผ ๊ฐ์๋ ๋๋ ๊ณต๋ถ์ ๊ด์ฌ์ด ์์๋ค. ๊ทธ์ ์น๊ตฌ๋ค๊ณผ ๋ ธ๋๊ฒ ์ข์๊ณ , ๋ง์ฝ์ ํผ์ฐ๋ ์์ด์๋ค. ์น๊ตฌ๋ค๊ณผ ์๋ ์๊ฐ์ด ํ๋ณตํ๊ณ , ์ด์๊ฐ์ด ๋์ ์ ๋ถ์ผ๊ฑฐ๋ผ ์๊ฐํ๋ค. ๊ทธ๋ฌ๋ค ๊ณ ๋ฑํ๊ต3ํ๋ ์ด ๋์ด์ ๋ฏธ๋๊ฐ ๊ฑฑ์ ์ด ๋์๊ณ , ๋ฐ์์..
์ง์ง ์๋ฌด๋ฆฌ ์ค์ ํด๋ ์๋ ๋ ์ตํ์ ์๋จ! git config --global http.version HTTP/1.1
Redis์ ๋ํด ๋ ๋์ค(Redis)๋ Remote Dictionary Server์ ์ฝ์๋ก์ "ํค-๊ฐ" ๊ตฌ์กฐ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ์คํ ์์ค ๊ธฐ๋ฐ์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ด๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฌ์์ ์ฒ๋ฆฌํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ DBMS์ด๋ค. Redis์ ํน์ง 1. Redis๋ List, Set, Sorted Set, Hash ๋ฑ๊ณผ ๊ฐ์ Collection์ ์ง์ํฉ๋๋ค. 2. Redis๋ Single Thread (๋ฐ๋ผ์, Race Condition์ ๋น ์ง๋๊ฑธ ๋ฐฉ์งํจ) 3. persistence๋ฅผ ์ง์ํ์ฌ ์๋ฒ๊ฐ ๊บผ์ง๋๋ผ๋ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ๋ค์ผ ์ ์์ต๋๋ค. Redis์ ํ์ฉ 1. Remote Data Store - ์ฌ๋ฌ ์๋ฒ์ Data ๊ณต์ ๋ฅผ ์ํด ์ฌ์ฉ ๋ ..
๋๊ท๋ชจํ๋ก์ธ์ค ๊ฐ๋ฐ์, ์๋ฒ๊ฐ๋ฐ์๋ค์ด ์๋ง ๋ง์ด ๋ง์ง๋ ์ฝ๋์ค์ ํ๊ฐ๋ ๋ฆฌ์คํธํ์์ ํฌ๊ธฐ๋๋ก ์๋ฅด๊ธฐ์ํด subList๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด๋ฒ ํฌ์คํ ์ subList๋ฅผ ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ํ, ์คํ์ค๋ฒํ๋ก์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ด์ฉ์ ๋ด๊ณ ์ถ์ด์ ์์ฑํ๊ฒ ๋์๋ค. // 0~2๊น์ง์ ์ธ๋ฑ์ค๋ง ๋ฝ์์ค๊ธฐ์ํด ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ธ๊ฒ์ด๋ค. cateContTuple.setCateContBbsTupleList(items.subList(0, 3)); ๋ง์ ๊ฐ๋ฐ์๋ค์ ์์๊ฐ์ด subList๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด๋ ์คํ์ค๋ฒํ๋ก์ฐ ๋ฐ ๋ถ๋ชจ๋ฆฌ์คํธ์ธ items์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์์๋ ์ต์ ์ ์ด ์ผ์ด๋ ์์๋ ์ํํ ์ฝ๋์ด๋ค. ์ ์คํ์ค๋ฒํ๋ก์ฐ๊ฐ ๋๋์ง, ์ด๋ ํ ์ต์ ์ ์ด ์ผ์ด๋๋์ง ๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ๋ณด๋ฉด ์ดํดํ ์ ์๋ค. /* *..
์ฐ๋ฆฌ๋ JSON DATA๋ฅผ ๋ฐ์์ค๋ VO๊ฐ์ฒด ์ค์ ์, ๋ฐ์์ค๋์ชฝ์ ์ฌ์ฉํ๋ ์ฌ์ฉํ๋ ์ชฝ์ ์ฌ์ฉํ์ง ์๋? ๊ทธ๋ฐ ๊ฒฝ์ฐ์ ๋ก์ง์ ์ฌ์ฉํด์ผ ๋ ๋๊ฐ ์๋ค. ๊ทธ๋ด๋์๋ ๋ค์๊ณผ ๊ฐ์ด @JsonIgnore ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค๋ฉด, ignore๋ฅผ ํ์ฑํํ์ฌ JSON LIST์์ ์ ๊ฑฐํ์ฌ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ค๋ค. @JsonIgnore(value=true) private String logicType;
์ฐ๋ฆฌ๊ฐ ํํ ์ ์ง๋ฅด๋ ์ค๋ฅ๋ฅผ ์ ๋ฐํ๋ ํ์์ค ์ฒซ๋ฒ์งธ๋ null์ ๋ฐํํ๋ ์ต๊ด์ด๋ค. ํ์ค ๊ฑด๋ ํ๋์ฉ null์ ํ์ธํ๋ ์ฝ๋๋ก ๊ฐ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง๊ธ๊น์ง ์๋ ์์ด ๋ดค๋ค. ๋๊ตฌ ํ๋๋ผ๋ null ํ์ธ์ ๋นผ๋จน๋๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ํต์ ๋ถ๋ฅ์ ๋น ์ง์ง๋ ๋ชจ๋ฅธ๋ค. ๊ทธ๋ฌ๋ฏ๋ก, ์ด ํ์๋ ๋์์ฝ๋์ ์ํ๋ค. ๋ค์๊ณผ ๊ฐ์ด Collections.emptyList() ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ๋น๊ฐ์ผ๋ก ์ ๋ฌํด ์ค ์๊ฐ ์๋ค. public List findAllUsers(){ List userList = userService.findAll(); if(userList == null){ return Collections.emptyList(); } return userList; } List์ ๊ฐ์ด ๋น์ด์์ผ๋ฉด, ๋น๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ ๋ฌํด..
"result" : { "groupeds": { "790": [ { "index": 1, "rank": 1, "score": 0.5, "catId": "050", "itId": "633", "product": {} } } ๋ค์๊ณผ ๊ฐ์ด ๋ณต์กํ ๊ตฌ์กฐ์ JSON์ด ์๋ค. ๋ฐฐ์ด -> ๋ฐฐ์ด -> ๋ฆฌ์คํธ ํ์์ด๋ค. ์ด๋ด๋์๋ Map์ ์ ๋ค๋ฆญ์ ์ด์ฉํ์ฌ Object ๋ฌถ์์ผ๋ก Pasing ํ์ง๋ง, ๊บผ๋ด์ฐ๋๊ฑธ ์ ๋ชฐ๋ผ์ ํ์ฐธ ์จ์นญ์ ํ๊ณ ํด๊ฒฐ์ ํ๋ค. ๊บผ๋ด ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. for (Entry entry : apiTuple.getRankingResults().entrySet()) { System.out.println("Cities: " + entry.getKey() + ", " + entry.getValue()..