Posts 2021년 3월 18일 읽을거리 정리하기
Post
Cancel

2021년 3월 18일 읽을거리 정리하기

NHN 신입사원 기술교육 기간 동안, Java와 Spring에 대해서도 배우고, html/Javascript에 대해서도 배우고, 개발을 어떻게 하는가에 대해서도 배우고, DB와 인프라 영역에 대해서도 배우게 되었다.

이 일지에서는 그동안 미뤄왔던 읽을거리들을 정리하는 시간을 가지고자 한다.

Spring 시작하기

https://start.spring.io/

세션과 쿠키, 캐시

https://hahahoho5915.tistory.com/32

https://velog.io/@kimtaeeeny/%EC%BF%A0%ED%82%A4cookie-%EC%84%B8%EC%85%98session-%EA%B3%BC-%EC%BA%90%EC%8B%9Ccache-FE-study9

https://chrisjune-13837.medium.com/web-%EC%BF%A0%ED%82%A4-%EC%84%B8%EC%85%98%EC%9D%B4%EB%9E%80-aa6bcb327582

https://sy34.net/what-is-cookie/

https://andamiro25.tistory.com/189

https://dreamstorage.tistory.com/160 (유효시간)

https://github.com/im-d-team/Dev-Docs/blob/master/Network/Cookie%EC%99%80%20Session%20%EA%B7%B8%EB%A6%AC%EA%B3%A0%20Redis.md

https://cjh5414.github.io/cookie-and-session/ (쿠키와 세션, 로그인 동작 방법)

https://beginnersbook.com/2013/05/http-session/

https://thecodinglog.github.io/spring-session/2020/08/07/filter-chain.html

소프트웨어 디자인 패턴, Controller, Service

https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch01.html

https://yoojin99.github.io/java/Service/ (Service는 뭘까?)

https://xlffm3.github.io/spring%20&%20spring%20boot/ServiceAndControllerAbstraction/ (Generics를 활용한 CRUD Controller 및 Service 추상화)

http://jmlim.github.io/spring/2019/09/30/spring-redirect-to-an-external-url/

https://admm.tistory.com/54

https://okky.kr/article/367591 ([Spring] Controller 가 아닌 Service 에서 비즈니스 로직을 작성하는 이유?)

https://onlyformylittlefox.tistory.com/10 (SpringBoot Controller, Service, DAO 이해 - Controller(1))

https://medium.com/stackavenue/why-to-use-service-layer-in-spring-mvc-5f4fc52643c0

테스트 코드

https://brunch.co.kr/@springboot/292 (Given-When-Then Pattern)

https://mvnrepository.com/artifact/org.mockito/mockito-all (mockito 사용 버전)

https://jojoldu.tistory.com/226 (SpringBoot @MockBean, @SpyBean)

http://wonwoo.ml/index.php/post/1453 (Mockito를 이용한 Test)

https://wedul.site/648 (Junit5와 Mockito를 이용한 Test)

https://velog.io/@lxxjn0/Mockito%EC%99%80-BDDMockito%EB%8A%94-%EB%AD%90%EA%B0%80-%EB%8B%A4%EB%A5%BC%EA%B9%8C (Mockito와 BDDMockito의 차이)

https://mskwon25.github.io/tdd/MockitoBBD/ (BBD스타일을 위한 MockitoBBD)

https://medium.com/@SlackBeck/mock-object%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-85159754b2ac (Mock Object란?)

https://velog.io/@gillog/SpringBoot-WebMvcTest-%EB%8B%A8%EC%9C%84-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%8B%9C-Bean-%EC%A3%BC%EC%9E%85-%EC%97%90%EB%9F%AC (@WebMvcTest 단위 테스트시 Bean 주입 에러 발생 이슈)

https://velog.io/@lxxjn0/Test-Double%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 (Test-Double 알아보기)

https://goddaehee.tistory.com/212?category=367461 (SpringBootTest 단위 테스트 - @WebMvcTest, @DataJpaTest, @RestClientTest)

https://thepracticaldeveloper.com/guide-spring-boot-controller-tests/#Better_Assertions_with_BDDMockito_and_AssertJ (Controller Layer 테스트하기)

https://galid1.tistory.com/772 (Service Layer 테스트하기)

https://webcoding-start.tistory.com/20 (SpringBoot @DataJpaTest)

https://www.baeldung.com/junit-testinstance-annotation (@TestInstance Annotation in JUnit 5)

https://yoojin99.github.io/java/Spring-Boot-Controller-test/ (Spring boot Controller Test - JPA meta model 오류 해결기)

https://sas-study.tistory.com/314 (JUnit5 기본 어노테이션)

https://blog.outsider.ne.kr/1129 (before, after, beforeEach, afterEach의 실행 순서)

https://goddaehee.tistory.com/211 (@SpringBootTest로 통합테스트하기)

https://gist.github.com/arahansa/20777ea80ad15094cc5e04decd3bff04

https://thepracticaldeveloper.com/guide-spring-boot-controller-tests/#Better_Assertions_with_BDDMockito_and_AssertJ

https://stackoverflow.com/questions/34447446/is-there-a-way-to-use-assertj-assertions-with-spring-mvc-test

https://www.whiteship.me/springboot-no-more-runwith/ (스프링 부트, @RunWith가 더이상 보이지 않는 이유)

https://pjh3749.tistory.com/241 (AssertJ : Junit과 같이 쓰기 좋은 AssertJ 필수 부분 정리)

https://gmlwjd9405.github.io/2019/11/26/junit5-guide-basic.html (Junit5 사용법 - 기본)

https://www.daleseo.com/assertj/ (AssertJ 소개)

https://www.baeldung.com/junit-5-migration#1-annotations (Junit4 to Junit 5)

https://javacan.tistory.com/entry/spring-boot-2-junit-5 (스프링 부트 2와 Junit 5 사용)

https://sup2is.tistory.com/107 ([jpa + junit] 슬라이스 테스트 도중 JPA metamodel must not be empty! 해결)

https://thepracticaldeveloper.com/guide-spring-boot-controller-tests/#Better_Assertions_with_BDDMockito_and_AssertJ

https://jongmin92.github.io/2020/03/31/Java/use-assertthat/

https://spring.io/guides/gs/testing-web/

https://woowacourse.github.io/javable/post/2020-08-31-entity-lifecycle-1/

https://galid1.tistory.com/772

https://withhamit.tistory.com/300

https://sas-study.tistory.com/314

https://psawesome.tistory.com/32

H2 데이터베이스

https://iw90.tistory.com/275 (Spring Tutorial H2 설정, Hibernate, Dao 작성 및 Junit Test 사용하기)

http://yoonbumtae.com/?p=2555 (Spring Boot : Spring JPA + H2 데이터베이스 기초 + 단위 테스트)

https://kaminion.tistory.com/40 (H2 데이터베이스 의존성 문제)

https://blog.naver.com/PostView.nhn?blogId=varkiry05&logNo=221193324476&parentCategoryNo=&categoryNo=107&viewDate=&isShowPopularPosts=true&from=search (log4jdbc를 이용하여 MariaDB 연결 시 에러 - DriverSpy claims to not accept jdbcUrl)

https://joanyi.tistory.com/25 (H2 In-Memory 사용법)

https://jungguji.github.io/2020/07/05/H2-DB%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-Repository-Test/ (H2 DB를 이용한 Repository Test)

https://deep-dive-dev.tistory.com/31 ([Spring Boot/JPA] hibernate.ddl-auto 옵션으로 서버를 실행할 때마다 DB 초기화하기)

https://pravusid.kr/java/2018/10/10/spring-database-initialization.html

https://deep-dive-dev.tistory.com/31

Spring Shell

https://docs.spring.io/spring-shell/docs/current-SNAPSHOT/reference/htmlsingle/ (공식 가이드)

https://docs.spring.io/spring-shell/docs/current/api/org/springframework/shell/jline/InteractiveShellApplicationRunner.html

Optional 올바르게 사용하기

https://jaehun2841.github.io/2019/02/24/effective-java-item55/#optional%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EC%95%8A%EC%9D%80-%EC%98%88%EC%A0%9C

https://www.latera.kr/blog/2019-07-02-effective-optional/#8-optional-%EC%9D%84-%ED%95%84%EB%93%9C%EC%9D%98-%ED%83%80%EC%9E%85%EC%9C%BC%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90-%EA%B2%83

Spring Data JPA - Reference Documentation

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.limit-query-result

https://eclipse4j.tistory.com/201

https://www.baeldung.com/spring-data-jpa-query

https://siyoon210.tistory.com/57 (JPA 조인 전략 변경하기)

https://dotoridev.tistory.com/6 (JPA insert시 default 값 적용)

JPQL

https://www.objectdb.com/java/jpa/query/jpql/date (Date and Time in JPQL and Criteria Queries)

https://data-make.tistory.com/614

https://stackoverflow.com/questions/44565820/what-is-the-limit-clause-alternative-in-jpql (JPQL에서 limit를 사용할 수 없다 (PageAble 사용))

https://velog.io/@max9106/JPA-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-%EC%BF%BC%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9C (스프링 데이터 JPA 쿼리 메서드)

https://arahansa.github.io/docs_spring/jpa.html (스프링 데이터 JPA 레퍼런스 번역)

https://bebong.tistory.com/entry/JPA-Lazy-Evaluation-LazyInitializationException-could-not-initialize-proxy-%E2%80%93-no-Session

Lombok

https://hilucky.tistory.com/238 (@Data)

https://dingue.tistory.com/14 (@Getter/@Setter , @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor)

Spring - Bean과 annotation

https://perfectacle.github.io/2019/06/23/auto-scanning-annotation-based-bean/

https://dev-troh.tistory.com/165 (@Embeddable annotation)

https://galid1.tistory.com/592 (JPA - Entity의 가독성을 높이자 - @Embedded, @Embeddable, @AttributeOverride의 사용법)

https://deveric.tistory.com/48 (@Entity, @Id, save)

https://sooin01.tistory.com/entry/Spring-4-interceptor-custom-annotation

https://velog.io/@max9106/Spring-Boot-%EC%99%B8%EB%B6%80%EC%84%A4%EC%A0%95-4xk69h8o50 (SpringBoot 외부설정2 - @ConfigurationProperties)

https://thingsthis.tistory.com/326 (@Value annotation 이슈)

https://goddaehee.tistory.com/167 (@Transactional 정리 및 예제)

https://www.baeldung.com/spring-boot-bean-validation

Spring properties

https://sas-study.tistory.com/273 (@Value annotation으로 properties 값 읽어오기)

https://pjh3749.tistory.com/216 (스프링 Properties 관리하기)

https://www.baeldung.com/spring-profiles

https://bottom-to-top.tistory.com/46 (Spring Boot에서 Properties 값 주입받기)

https://blog.voidmainvoid.net/40 (spring boot application.properties 설명)

https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html

Spring 생성자 주입, 필드 주입

https://madplay.github.io/post/why-constructor-injection-is-better-than-field-injection

Spring

https://java119.tistory.com/74 (GET 파라미터 받기)

https://engkimbs.tistory.com/696 (스프링세션, 쿠키 구현)

https://a1010100z.tistory.com/106 (ResponseEntity)

https://advenoh.tistory.com/46 (RestTemplate)

https://webdevtechblog.com/reqeustbody%EC%99%80-responsebody-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C-2efcab364edb (@RequestBody, @ResponseBody)

https://beagle-dev.tistory.com/80 (Query 이슈)

https://blog.leocat.kr/notes/2019/05/26/spring-data-using-entitygraph-to-customize-fetch-graph

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing-spring-boot-applications-testing-with-mock-environment

https://spring.io/reactive

https://dadadamarine.github.io/java/spring/2019/04/19/spring-sqlException-%EC%B2%98%EB%A6%AC.html

https://jojoldu.tistory.com/146

Jackson + ObjectMapper

https://mommoo.tistory.com/83 (Jackson 라이브러리 이해하기)

https://tychejin.tistory.com/134 (JSON library Jackson 사용법)

https://www.lesstif.com/java/java-json-library-jackson-24445183.html

https://www.baeldung.com/jackson-object-mapper-tutorial

https://ramees.tistory.com/33 (Jackson으로 Json <-> Object 변환(Transformation)하기)

https://bear1227.tistory.com/17 (ObjectMapper의 readValue 이용 시 모르는 value 무시하기)

https://velog.io/@hanblueblue/%EB%B2%88%EC%97%AD-Intro-to-the-Jackson-ObjectMapper-%EC%98%88%EC%A0%9C-%EC%BD%94%EB%93%9C (Jackson objectmapper 예제 코드)

정규표현식

https://m.blog.naver.com/syung1104/220847918251

https://regexper.com/#%5E%5C%5B%5B0-9%5D%5C%7B4%2C4%5C%7D

https://regexr.com/

http://1004lucifer.blogspot.com/2019/06/regex.html

https://m.blog.naver.com/PostView.nhn?blogId=lionlyloveil&logNo=220661165554&proxyReferer=https:%2F%2Fwww.google.com%2F

https://devfunny.tistory.com/19

https://jsikim1.tistory.com/104

자바스크립트

https://webisfree.com/2017-04-07/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%82%A0%EC%A7%9C%EC%97%90%EC%84%9C-gettime()%EC%9C%BC%EB%A1%9C-%EC%96%BB%EC%96%B4%EC%98%A8-%EA%B0%92%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94 (날짜)

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date (날짜)

https://okky.kr/article/323404 (변수(var)의 값을 <body>에 출력하려면)

https://mine-it-record.tistory.com/265 (자바스크립트에서 세션 사용하기)

https://blog.sonim1.com/206 (자바스크립트 정규표현식)

https://www.codingfactory.net/10429 (Javascript Object String.substring() 문자열 추출하는 메서드)

https://webisfree.com/2015-02-05/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EB%B0%98%EB%B3%B5%EB%AC%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0 (자바스크립트로 반복문 만들기)

https://developer.mozilla.org/ko/docs/Web/API/Node/insertBefore

https://blog.outsider.ne.kr/361 (Javascript에서 String to number)

https://www.codingfactory.net/10419 (JavaScript / Object / Element.setAttribute() / 요소의 속성 값을 정하는 메서드)

https://m.blog.naver.com/PostView.nhn?blogId=diceworld&logNo=220168932456&proxyReferer=https:%2F%2Fwww.google.com%2F (자바스크립트 날짜함수)

https://jhonnywest.tistory.com/107 (자바스크립트 Date에 일, 시간, 분 더하기)

https://hianna.tistory.com/451 (현재 시간을 항상 한국시간으로 설정하기)

https://jootc.com/p/201811241474 (자바스크립트 현재 날짜 및 시간 구하기)

https://chan2727.tistory.com/entry/JavaScript-%ED%95%A8%EC%88%98%ED%98%B8%EC%B6%9C%EC%9D%84-%ED%86%B5%ED%95%B4-POST%EB%B0%A9%EC%8B%9D%EC%9C%BC%EB%A1%9C-%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%9D%B4%EB%8F%99A%ED%83%9C%EA%B7%B8-%EC%82%AC%EC%9A%A9 (함수호출을 통해 POST방식으로 페이지 이동)

https://codingmania.tistory.com/103 (자바스크립트 변수를 form 태그의 value로 보내는 방법)

https://blog.naver.com/PostView.nhn?blogId=aneminw&logNo=221442316792&parentCategoryNo=&categoryNo=33&viewDate=&isShowPopularPosts=true&from=search ([JavaScript] 시간 지연 함수, 일정 시간 뒤 실행시키기, SetTimeout() {})

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Modules#creating_a_module_object

https://www.caniuse.com/?search=promise

https://d2.naver.com/helloworld/12864 (JavaScript 표준을 위한 움직임: CommonJS와 AMD)

https://baeharam.netlify.app/posts/javascript/module (JS : 모듈에 대한 이해와 사용법)

https://blog.naver.com/PostView.nhn?blogId=occidere&logNo=220798632813 (JSON Array 파싱)

HTML

https://luckybaby.tistory.com/53 (스크립트 변수를 html 코드에서 보여주기)

https://codingnuri.com/javascript-tutorial/changing-html-content-using-html-dom.html (HTML DOM을 이용한 HTML 내용 변경)

https://www.zerocho.com/category/HTML&DOM/post/5a76d1eaabd090001b981ba6 (HTML에 데이터 저장하기)

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local

https://dullyshin.github.io/2019/08/07/HTML-buttonLink/

https://jsunnylab.tistory.com/38

HttpServletResponse

https://m.blog.naver.com/PostView.nhn?blogId=islove8587&logNo=220350280253&proxyReferer=https:%2F%2Fwww.google.com%2F

MultipartFile & FileInputStream

https://stackoverflow.com/questions/35479290/multipart-file-to-file-inputstream/35481763

Spring Thymeleaf

https://hakurei.tistory.com/302 (이슈)

https://comnic.tistory.com/18 (Thymeleaf 값 출력 방식 정리)

https://www.thymeleaf.org/doc/articles/standardurlsyntax.html (Standard URL Syntax)

https://shlee0882.tistory.com/134 (Thymeleaf 문법 정리)

GET vs POST

https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/

웹에서 파일 업로드 구현

https://kutar37.tistory.com/entry/%EC%9B%B9%EC%97%90%EC%84%9C-%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%A1%9C%EB%93%9C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-1

maven build 에러 해결하기

https://zorba91.tistory.com/22

SpringBoot DataSource

https://krksap.tistory.com/1276

https://www.baeldung.com/spring-boot-configure-data-source-programmatic

https://yangyag.tistory.com/165 (basicdatasource가 없다고 할 경우)

https://commons.apache.org/proper/commons-dbcp/api-1.4/org/apache/commons/dbcp/BasicDataSource.html (basicdatasource reference)

https://blog.woniper.net/208 (Spring 동적 Datasource 생성)

https://deep-dive-dev.tistory.com/31 (SpringBoot / JPA - hibernate.ddl-auto 옵션으로 서버를 실행할 때마다 DB 초기화하기)

Rest

https://yoojin99.github.io/cs/REST-api/ (REST, REST API, RESTful란?)

ajax / jQuery

https://velog.io/@dsunni/Spring-Ajax%EB%A1%9C-Controller%EC%97%90-%EA%B0%92-%EB%84%98%EA%B8%B0%EA%B8%B0 (ajax로 Controller에 값 넘기기)

http://javakorean.com/%EC%8A%A4%ED%94%84%EB%A7%81-ajax-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EB%B0%9B%EA%B8%B0/ (스프링 ajax 파라미터 받기)

https://jeffrey-oh.tistory.com/322?category=908913 (Ajax를 통한 JSON 데이터 주고 받기)

https://zero-gravity.tistory.com/241 (jQuery : ajax 데이터 넘기기)

https://huskdoll.tistory.com/902 (Ajax 배열, 리스트 데이터 넘기기(jQuery)

https://stackoverflow.com/questions/40223142/error-uncaught-referenceerror-is-not-defined (jQuery include 이슈)

https://m.blog.naver.com/PostView.nhn?blogId=mk1126sj&logNo=221016837263&proxyReferer=https:%2F%2Fwww.google.com%2F (ajax와 FormData를 이용한 비동기 파일 업로드)

https://blog.naver.com/mk1126sj/221007727585 (ajax 데이터를 FormData로 사용할 경우 발생하는 문제)

https://jaweb.tistory.com/entry/ajax-error-message-%ED%8E%B8%ED%95%98%EA%B2%8C-%EB%B3%B4%EA%B8%94 (ajax error message 편하게 보기)

https://okky.kr/article/709256?note=1965005

오픈소스 로드밸런서 HAProxy

https://d2.naver.com/helloworld/284659

MySQL

http://rapapa.net/?p=311 (Left, Right, Outer, Inner join)

https://homeresidents.tistory.com/entry/%EA%B0%80%EC%9E%A5-%EC%B5%9C%EA%B7%BC-%EB%82%A0%EC%A7%9C%EC%9D%98-%EA%B0%92%EC%9D%84-%EA%B0%80%EC%A0%B8%EC%98%A4%EB%8A%94-%EB%B0%A9%EB%B2%95 (가장 최근 날짜의 값 가져오기)

https://okky.kr/article/650086 (Spring boot, gradle, jpa mysql 연동문제 - test시, Jenkins 연동)

https://uiandwe.tistory.com/648 (MySQL 유저 생성 에러)

https://allmana.tistory.com/7 (날짜 더하고 빼기)

https://medium.com/watcha/%EC%BF%BC%EB%A6%AC-%EC%B5%9C%EC%A0%81%ED%99%94-%EC%B2%AB%EA%B1%B8%EC%9D%8C-%EB%B3%B4%EB%8B%A4-%EB%B9%A0%EB%A5%B8-%EC%BF%BC%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-7%EA%B0%80%EC%A7%80-%EC%B2%B4%ED%81%AC-%EB%A6%AC%EC%8A%A4%ED%8A%B8-bafec9d2c073 (보다 빠른 쿼리를 위한 7가지 체크리스트)

https://m.blog.naver.com/PostView.nhn?blogId=onlyu&logNo=220424655515&proxyReferer=https:%2F%2Fwww.google.com%2F (MySQL Count와 SUM)

https://linuxism.ustd.ip.or.kr/510 (MySQL DATE 포맷 및 함수)

https://velog.io/@p4rksh/RDB%EC%9D%98-%EB%8F%99%EC%8B%9C%EC%84%B1%EA%B3%BC-%EC%9D%BC%EA%B4%80%EC%84%B1-%EC%9D%B4%EC%8A%88%EB%A5%BC-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%B2%98%EB%A6%AC%ED%95%A0-%EA%B2%83%EC%9D%B8%EA%B0%80 (RDB의 동시성과 일관성 이슈를 어떻게 처리할 것인가?)

https://pkgonan.github.io/2020/04/stock (쿠폰 재고의 설계 및 개발)

Redis

https://helloworld.kurly.com/blog/redis-fight-part-1/

https://jeong-pro.tistory.com/140 (자바에서 Redis 사용하기)

https://jyejye9201.medium.com/%EB%A0%88%EB%94%94%EC%8A%A4-redis-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-2b7af75fa818 (Redis란 무엇인가)

https://swiftymind.tistory.com/62 (MacOS에서 Redis 설치 및 실행하기)

https://hyunki1019.tistory.com/138 (Redis 로그인 시 이슈)

https://deveric.tistory.com/76 (Spring Session을 Redis에 저장했을 때 어떻게 저장될까?)

https://spring.io/guides/gs/messaging-redis/

https://github.com/redis/jedis

https://yunb2.tistory.com/6

https://velog.io/@ehdrms2034/Spring-Security-JWT-Redis%EB%A5%BC-%ED%86%B5%ED%95%9C-%ED%9A%8C%EC%9B%90%EC%9D%B8%EC%A6%9D%ED%97%88%EA%B0%80-%EA%B5%AC%ED%98%84

https://jjeda.tistory.com/13

https://sungwookkang.com/1316?category=868126 (redis 데이터 타입)

https://kimpaper.github.io/2016/07/27/redis-datatype/ (redis data type 종류)

https://www.baeldung.com/jedis-java-redis-client-library

https://medium.com/garimoo/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EB%A0%88%EB%94%94%EC%8A%A4-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-01-92aaa24ca8cc (개발자를 위한 레디스 튜토리얼 01)

https://redis.io/commands/HDEL

https://charsyam.wordpress.com/2016/08/04/%EC%9E%85-%EA%B0%9C%EB%B0%9C-jedis-2-1-0-%EC%9D%84-%EA%B0%80%EC%A7%80%EA%B3%A0-%EC%82%BD%EC%A7%88%ED%95%9C-%EC%9D%B4%EC%95%BC%EA%B8%B0/ (Jedis 2.1.0을 가지고 삽질한 이야기)

https://dydtjr1128.github.io/redis/2019/04/03/Redis.html (Spring에서 레디스 사용하기)

Log4j

https://cofs.tistory.com/354

https://mdj1234.tistory.com/63 (log4j 로그레벨)

Github

https://gardeny.tistory.com/19 (protected branch 설정)

https://wikidocs.net/17172 (git show)

https://velog.io/@yjok/Git-Orphan-Branch-%EC%83%9D%EC%84%B1 (Git Orphan Branch)

자바

https://www.baeldung.com/reading-file-in-java (자바에서 파일 읽기)

https://blog.jiniworld.me/74 (long to int)

https://www.lesstif.com/java/java-ipv4-tomcat-was-request-getremoteaddr-ipv4-21430821.html (Java에서 IPv4 사용하기)

https://all-record.tistory.com/168 (스프링에서 사용자 IP 가져오기)

https://www.lesstif.com/java/spring-client-ip-18220218.html (스프링에서 클라이언트IP 가져오기)

https://stackoverflow.com/questions/19112357/java-simpledateformatyyyy-mm-ddthhmmssz-gives-timezone-as-ist (DateFormat 변환 이슈 ‘Z’)

https://www.javatpoint.com/java-fileoutputstream-close-method

https://stackoverflow.com/questions/4752266/why-doesnt-java-io-file-have-a-close-method

https://codevang.tistory.com/156

https://qkrrudtjr954.github.io/java/2017/11/13/create-file-and-file-method.html

https://loco-motive.tistory.com/58

https://huskdoll.tistory.com/538

https://lecafecreme.tistory.com/45 (Map-value로 key찾기)

https://wickso.me/java/java-8-date-time/ (날짜와 시간 api)

https://coding-factory.tistory.com/529 (자바 정규표현식)

https://offbyone.tistory.com/400 (자바 정규식 사용하기)

https://cbs5295.medium.com/java-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D-regular-expression-%EC%9D%98-%EC%9D%B4%ED%95%B4-31419561e4eb (자바 정규표현식의 이해)

https://alwayspr.tistory.com/28 (Java의 List를 상황에 맞게 생성해보자)

https://stackoverflow.com/questions/22463062/how-to-parse-format-dates-with-localdatetime-java-8 (날짜)

https://all-record.tistory.com/112 (String 타입을 Date 타입으로 변환)

https://krksap.tistory.com/1158 (자바로 시간 다루기)

https://blog.leocat.kr/notes/2017/07/25/java-add-days (자바 날짜 더하고 빼기)

https://lelecoder.com/115 (LocalDateTime 값을 yyyyMMdd 문자열로 포맷팅)

https://madplay.github.io/post/java8-date-and-time

https://leebaro.tistory.com/entry/javatimeformatDateTimeParseException-Text-2020-09-16-1624080-could-not-be-parsed-unparsed-text-found-at-index-19-%EC%99%80-%EA%B0%99%EC%9D%80-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-%EA%B2%BD%EC%9A%B0%EC%97%90-%EC%A1%B0%EC%B9%98-%EB%B0%A9%EB%B2%95 (java.time.format.DateTimeParseException: Text ‘2020-09-16 16:24:08.0’ could not be parsed, unparsed text found at index 19 와 같은 에러가 발생하는 경우에 조치 방법)

https://java119.tistory.com/52 ([Java] LocalDate,LocalTime,LocalDateTime 총 정리)

https://willbesoon.tistory.com/215 (Java8 ZonedDateTime을 이용한 날짜 변환)

https://www.daleseo.com/java8-zoned-date-time/ (ZonedDateTime 사용법)

https://wickso.me/java/java-8-date-time/

https://perfectacle.github.io/2018/09/26/java8-date-time/

https://yhmane.tistory.com/125

https://yangbox.tistory.com/24

https://minasb.tistory.com/11 (자바에서 UUID를 생성하는 방법)

https://dpdpwl.tistory.com/76 (자바 UUID 생성)

https://wakestand.tistory.com/361 (자바 UUID란? 개념부터 생성, 사용법 정리)

https://www.baeldung.com/java-random-string

https://swiftymind.tistory.com/63 (Java에서 Redis 연동 테스트)

https://commons.apache.org/proper/commons-lang/javadocs/api-3.9/org/apache/commons/lang3/RandomStringUtils.html

https://mkyong.com/java/java-how-to-generate-a-random-string/

https://multifrontgarden.tistory.com/205 (Objects 클래스)

https://stackoverflow.com/questions/47534436/sonarlint-complains-null-pointers-should-not-be-dereferenced-squids2259-des

https://devjjo.tistory.com/33 (람다식 코딩)

SecureRandom

https://gosasac.tistory.com/26 (random과 SecureRandom의 차이)

https://javafactory.tistory.com/1430 (사용법)

https://www.debugcn.com/ko/article/1578427.html (tomcat 연동시 느린 시작)

https://blog.eomsh.com/37 (느린 이슈 처리)

https://stackoverflow.com/questions/137212/how-to-deal-with-a-slow-securerandom-generator

https://lawmin.tistory.com/294

https://gt1000.tistory.com/entry/SecureRandom-%EC%A7%80%EC%97%B0%EC%9D%B4%EC%8A%88 (지연 이슈)

리눅스

https://121202.tistory.com/45 (프로세스 확인 및 죽이기)

https://banbanmumani.github.io/2017/12/19/%EB%A6%AC%EB%88%85%EC%8A%A4%ED%8F%AC%ED%8A%B8%EB%A1%9C%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%A3%BD%EC%9D%B4%EA%B8%B0/ (포트번호로 특정 프로세스 죽이기)

https://m.blog.naver.com/PostView.nhn?blogId=gksgus092&logNo=220986318932&proxyReferer=https:%2F%2Fwww.google.com%2F (리눅스 프로세스 정보 확인)

https://recipes4dev.tistory.com/171 (리눅스 awk 명령어 사용법)

https://philip1994.tistory.com/6 (address already in user(bind failed) 에러 해결)

https://m.blog.naver.com/PostView.nhn?blogId=pxkey&logNo=221276188823&proxyReferer=https:%2F%2Fwww.google.com%2F (리눅스 네트워크 포트상태 확인 (netstat))

https://gracefulprograming.tistory.com/111 (chmod로 파일 권한 변경)

https://twpower.github.io/64-use-chown-to-subfiles-and-subfolders (chmod 하위폴더 적용)

https://m.blog.naver.com/PostView.nhn?blogId=crehacktive3&logNo=221242381023&proxyReferer=https:%2F%2Fwww.google.com%2F (ssh 서비스 포트 변경)

https://gracefulprograming.tistory.com/127 (kill 프로세스 안전하게 종료시켜보자)

http://blog.naver.com/PostView.nhn?

https://rainofpainki.github.io/linux-fuser/ (리눅스 fuser 명령어 사용법)

https://m.blog.naver.com/PostView.nhn?blogId=ryangjm&logNo=220006606991&proxyReferer=https:%2F%2Fwww.google.com%2F (netstat 명령어)

https://coconuts.tistory.com/133 (네트워크 netstat 통신 상태 확인)

https://ktdsoss.tistory.com/282 (netstat 상태값, 옵션 정리)

https://kyome.tistory.com/65 (Tomcat 실행 시 에러, JAVA_HOME 설정)

https://hamtol.tistory.com/13 (Tomcat 시작시 원하는 jdk로 시작)

https://naaya.tistory.com/17 (PORT 번호로 실행중인 PID찾기)

https://stackoverflow.com/questions/14168351/cant-listen-on-port-80-with-my-server

https://blog.pages.kr/292 (losf 이용한 시스템 조사 및 분석)

https://faq.hostway.co.kr/Linux_ETC/1559 (리눅스에서 fuser 명령어 사용하기)

https://valuefactory.tistory.com/162 (linux cmd 명령어 사용하기)

쉘 스크립트

http://blog.naver.com/PostView.nhn?blogId=bb_&logNo=220971974132&parentCategoryNo=&categoryNo=66&viewDate=&isShowPopularPosts=true&from=search (특정 프로세스 종료시키는 쉘 스크립트)

https://bloodguy.tistory.com/entry/Bash-Bash-Script-%EC%97%90%EB%9F%AC%EB%B0%9C%EC%83%9D%ED%95%B4%EB%8F%84-%EB%8B%A4%EC%9D%8C-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B3%84%EC%86%8D-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 (bash 에러시에도 다음 스크립트 계속 실행하는 방법)

http://tech.ezphp.net/8 (script 실행 도중 에러 발생시 script를 멈추게 / 계속 가동하게 하는 방법)

https://euless.tistory.com/48 (시간 출력)

https://daeunginfo.blogspot.com/2019/04/linux-shell-script-sleep.html (쉘 스크립트 sleep 사용법)

https://koreaninbeijing.tistory.com/449 (쉘 스크립트 while)

https://jhnyang.tistory.com/191 (쉘 스크립트 반복문)

https://jink1982.tistory.com/48 (쉘 스크립트 if)

https://m.blog.naver.com/dsz08082/221843561335 (쉘 스크립트 명령 성공 여부)

https://bakyeono.net/post/2016-05-02-rest-api-client-for-cli.html (커맨드라인 환경에서 REST API(HTTP) 요청 보내기)

https://systemdesigner.tistory.com/51 (grep으로 다중 문자열 검색)

http://bahndal.egloos.com/606482

http://egloos.zum.com/mcchae/v/11221790 (쉘스크립트에서 성공여부 확인 방법)

https://ondemand.tistory.com/254 (grep으로 찾은 문자열 전후의 행 출력)

인텔리제이 설정, 단축키

https://cishome.tistory.com/121

https://ndb796.tistory.com/132

https://ifuwanna.tistory.com/241

https://www.letmecompile.com/intellij-shortcut-keys-mac/

https://gmlwjd9405.github.io/2019/05/21/intellij-shortkey.html

기타

chrome-extension://aejoelaoggembcahagimdiliamlcdmfm/index.html#requests (tenant api tester)

https://carbon.now.sh/?bg=rgba%28171%2C+184%2C+195%2C+1%29&t=material&wt=none&l=text%2Fx-java&ds=true&dsyoff=20px&dsblur=68px&wc=true&wa=true&pv=56px&ph=56px&ln=false&fl=1&fm=Hack&fs=14px&lh=133%25&si=false&es=2x&wm=false&code= (carbon : Create and share beautiful images of your source code. Start typing or drop a file into the text area to get started.)

This post is licensed under CC BY 4.0 by the author.

NHN 8기 Rookie 베이스캠프 7주차 회고하기

2021년 4월 13일 읽을거리 정리하기

Comments powered by Disqus.

Trending Tags