전체 글

흔한 컴공 출신 개발자입니다. 제가 경험하고 공부하고 아는 것을 적어둡니다.
0. 이 글의 목적 Kotlin으로 Entity를 만드는 것에 대해 기술한다. 1. Java에서 도메인은? 아 맞다. 우리는 상남자식 코딩답게 jpa를 사용할 수 있는 환경도 만들어주지 않았다. gradle을 추가해 주자. https://spring.io/guides/tutorials/spring-boot-kotlin/ Getting Started | Building web applications with Spring Boot and Kotlin Instead of using util classes with abstract methods like in Java, it is usual in Kotlin to provide such functionalities via Kotlin extensions. Her..
0. 이 글의 목적 코프링으로 뭐라도 하기 위해 장난하며 나오는 결과물을 정리하기 위함 1. 프로젝트 생성 실은 나는 IntelliJ Ultimate버전을 사용하고 있어서 아래 사진들로 정리가 가능하다. New Project -> Spring Initializr 여기서 Language는 Kotlin, Type은 Gradle - Kotlin을 고른다. Spring Boot의 버전은 최신으로 고르고 보통 여기서 Dependencies를 추가하겠지만 상남자답게 그냥 스킵한다. 만들어진 프로젝트를 바로 실행해 보자. 뭔가 에러가 없이 실행된 것 같은데 멈춘다. 생각해 보니 spring-boot-starter-web을 추가하지 않았다. 추가해 주자. implementation("org.springframework..
· AMQP/Redis
0. 이 글의 작성 목적 https://www.youtube.com/watch?v=92NizoBL4uA Redis에 대해 알아보다 이 영상이 너무 설명을 잘해주고 있어서 영상의 챕터별로 조금씩 정리해보고자 한다. 1. Redis 캐시 대부분 Redis를 캐시로 사용할 텐데 이 부분에 대해 잘 사용하는 방법에 대해 짚고 넘어가고자 한다. 우선 Caching이 무엇인지 다시 확인해 보자. Caching은 사용자 입장에서 데이터를 더 빠르고 효율적으로 액세스 할 수 있는 임시 데이터 저장소다. 이때 이 Cache가 유용하게 사용되려면 당연히 원본에 접근하는 것보다 Cache에 접근하는 게 더 쉽고 빨라야 한다. 또한 동일 데이터에 대해 반복적으로 접근하는 경우 사용하는 것이 좋다. 이 조건에 대해 Redis는..
· ELK
0. 이 글을 작성하는 이유 ElasticSearch의 사용법을 알기 위해서는 어떤 구조로 이루어져 있는지 간략하게는 알고 가야 할 것 같아서 정리하기 위함 주요 참고 : https://www.youtube.com/watch?v=JqKDIg8fgd8 1. 파트 Index : Document의 집합으로 RDBMS에서의 Database에 해당함. Indices : ElasticSearch에서는 Index의 집합 Cluster : 독립된 ElasticSearch의 시스템 환경, Cluster가 여러 개더라도 서로 독립된 데이터를 가짐 Node : 실행 중인 ElasticSearch 시스템 프로세스 Document : 저장된 데이터 단위 Shard : Document들에 대한 색인과 검색을 진행하는 작업 단위 ..
· ELK
0. 이 글의 목적 ElasticSearch8.9를 공식 문서를 토대로 설치하는 과정을 정리하기 위함 1. ElasticSearch 설치 환경 MacOS Docker iTerm 2. 설치 시작 https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html Install Elasticsearch with Docker | Elasticsearch Guide [8.9] | Elastic The container runs Elasticsearch as user elasticsearch using uid:gid 1000:0. Bind mounted host directories and files must be accessible by thi..
· AMQP/Redis
0. 이 글을 작성하는 이유 Redis가 어디에 좋고 왜 사용하는지 알아보면서 정리하기 위해 1. Redis란? Redis는 비관계형 데이터베이스 관리 시스템 NoSQL DBMS입니다. Key와 Value로 데이터를 구성하여 별도의 SQL없이 Key로 데이터를 조회할 수 있습니다. 어 어? 동작 그만. 마! Key와 Value는 Java에서도 Map지원하는데 이걸 왜 쓰는데 조회 속도가 빠릅니다. 내가 빙다리.. 아니 컴공과 1학년으로 보이냐 임마. Java의 Map도 Hashing을 사용해서 조회 속도가 빠른데 어?! 성격이 좀 급하십니다. 실은 그게 핵심은 아닙니다. Redis는 RAM에 데이터를 저장합니다. RDBMS는 데이터를 어디에 저장하죠? 보조 기억장치(HDD, SSD)에 저장하죠. (물론 ..
· AMQP/Redis
0. 이 글을 쓰는 목적 https://redis.io/docs/getting-started/ Get started with Redis How to get up and running with Redis redis.io Redis 해보려다가 Redis Stack이라는게 보여서 이걸로 연동 맛보기 해보려고함 1. Redis와 Redis-stack의 다른점은? Redis + Additional features 정도로 생각하면 될 것 같다. 2. 환경 구축 우선 Redis-stack은 딱히 이유는 없고 docker로 구축하려고 한다. redis-stack-server와 redis-stack이 반겨준다. 이 중 뭘 골라야할지 고민이 되는데 redis-stack은 redis-stack-server와 GUI Clie..
0. 이 글의 목적 Real MySQL 8.0을 읽으면서 내가 정리하고 싶은 부분에 대해 작성하기 위함 1. 환경 container : docker db : mariadb 10 (아무튼 mariadb는 mysql 서비스를 fork 해서 만들었기 때문에 이걸로 진행) 2. 서버 설정 MySQL 서버는 단 하나의 설정 파일을 사용한다. 확장자는 운영체제의 환경에 따라 다르나 보통 리눅스 환경에서 사용한다고 가정하고 cnf 파일로 진행한다. 리눅스 : my.cnf 윈도우즈 : my.ini 단 하나의 설정 파일을 사용한다고 했는데 이는 공통적으로 my.cnf라는 이름을 사용한다는 것이다. 문제는 이 파일이 여러 경로에 존재할 수 있는데 어느 디렉토리에 있는 my.cnf를 참조하고 있는지 아래 명령어로 확인이 가..
· JAVA
0. 이 글의 목적 JAVA의 finalize에 대해 정말 간단하게 소개하기 위해 1. 일련의 가상 사례를 들어보자. 우리는 브들리(php-5년차, 급하게 java프로젝트 투입)와 찰스(java-3년차)라는 2명의 개발자를 예시로 이야기를 진행한다. 찰스 : 브들리? 이거 finalize는 왜 오버라이딩 했어요? 브들리 : java는 gc가 메모리 수거하잖아요. 로그를 좀 찍어두면 좋지 않을까 해서요. 찰스 : 아니... 이러면 답이 없는데... 하.. finalize가 뭐 하는 메서드인지는 알아요? 브들리 : 알죠? 객체 소멸자. c++에서는 직접 호출해야 하는데 java에서는 gc가 알아서 처리해 주는 거잖아요. 찰스 : ... 2. 일단 당장은 뭐가 문제인가 finalize에 대해 소멸자인 것까지는..
· JAVA/spring
0. 이 글을 쓰는 이유 대부분의 spring security 가이드에서는 csrf를 disable하는데 csrf는 뭐고 왜 disable처리하는지 궁금해서 정리하기 위함 1. CSRF란? Cross Site Request Forgery : 사이트간 위조 요청 웹사이트 취약점 공격 방법 중 하나로 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 2. Spring Security에서는? CSRF에 대한 예방 기능을 제공한다. https://docs.spring.io/spring-security/reference/features/exploits/csrf.html Cross Site Request Forgery (CSRF) :: Spring Security When..
Berno
흔한 컴공 출신 개발자