<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Inbeom Lee</title><description>Java 백엔드, 인프라, AI 관련 기술 기록.</description><link>https://lib0823.github.io/</link><item><title>Claude Context Kit: 프로젝트마다 다른 개발 컨텍스트, 하나의 명령으로 통일하기</title><link>https://lib0823.github.io/blog/claude-context-kit-plugin/</link><guid isPermaLink="true">https://lib0823.github.io/blog/claude-context-kit-plugin/</guid><description>프로젝트 구조를 스캔해서 Knowledge Graph부터 Agent Team까지 알아서 구축해주는 Claude Code 플러그인.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>AI</category><category>Claude Code</category><category>Claude</category><category>MCP</category><category>AI Agent</category></item><item><title>RocksDB - RDB도 아니고 MemoryDB도 아닌, 그 중간</title><link>https://lib0823.github.io/blog/database-rocksdb-rdb-memorydb/</link><guid isPermaLink="true">https://lib0823.github.io/blog/database-rocksdb-rdb-memorydb/</guid><description>Meta가 개발한 LSM-Tree 기반의 Key-Value 스토어.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate><category>Database</category><category>Database</category><category>embedded db</category><category>rocksdb</category><category>Column Family</category></item><item><title>서버리스(Serverless)란 무엇인가?</title><link>https://lib0823.github.io/blog/serverless/</link><guid isPermaLink="true">https://lib0823.github.io/blog/serverless/</guid><description>최근 클라우드 컴퓨팅 환경에서 자주 등장하는 키워드 중 하나가 바로 &apos;서버리스(Serverless)&apos;다. AWS Lambda, Google Cloud Functions 같은 서비스들이 바로 서버리스 컴퓨팅의...</description><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>server less</category></item><item><title>PowerShell 7으로 업그레이드하기: 설치 방법과 주요 장점</title><link>https://lib0823.github.io/blog/powershell/</link><guid isPermaLink="true">https://lib0823.github.io/blog/powershell/</guid><description>PowerShell 7의 설치 방법과 주요 장점, 그리고 SSH 접속 후에도 편리한 자동완성을 사용하는 방법</description><pubDate>Sun, 14 Dec 2025 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>cli</category></item><item><title>2025 최신 AI 관련 개념 &amp; 기술 정리</title><link>https://lib0823.github.io/blog/ai-concepts-2025/</link><guid isPermaLink="true">https://lib0823.github.io/blog/ai-concepts-2025/</guid><description>2025년 기준 AI Agent, LLM, RAG, MCP 등 개발자가 알아야 할 AI 핵심 개념과 실전 활용 사례 정리.</description><pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate><category>AI</category><category>MCP</category><category>Claude</category><category>RAG</category><category>AI Agent</category><category>LangChain</category><category>n8n</category></item><item><title>Functional Interface를 활용한 Lazy 초기화 전략</title><link>https://lib0823.github.io/blog/springboot-functional-interface-lazy/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-functional-interface-lazy/</guid><description>Batch 애플리케이션에서 OpenSearch 클라이언트들의 불필요한 초기화를 방지하기 위해 Supplier를 활용한 Lazy 초기화 전략 적용 사례.</description><pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Java</category><category>OpenSearch</category><category>supplier</category></item><item><title>서버 리소스 최적화와 경량화된 Connection Pooling: pgBouncer 도입</title><link>https://lib0823.github.io/blog/postgresql-connection-pooling-pgbouncer/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-connection-pooling-pgbouncer/</guid><description>PostgreSQL에 직접적으로 연결하지 말고, pgBouncer 커넥션 풀을 통해 관리하자</description><pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>Linux</category><category>Postgres</category></item><item><title>BlockingQueue를 활용한 순차 처리 동시성 제어</title><link>https://lib0823.github.io/blog/java-blockingqueue/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-blockingqueue/</guid><description>성능 최적화를 고민할 때 무조건 병렬 처리가 정답은 아니다. 상황에 따라서는 순차 처리를 통한 동시성 제어가 더 적합할 수 있다.</description><pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>Queue</category></item><item><title>배치 애플리케이션 종료되지 않는 현상 (with. Connection Pool)</title><link>https://lib0823.github.io/blog/springboot-with-connection-pool/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-with-connection-pool/</guid><description>Batch 작업이 끝났는데 왜 Application이 정상적으로 종료되지 못할까..?</description><pubDate>Sun, 24 Aug 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Connection Pool</category><category>Elasticsearch</category></item><item><title>컨테이너 이미지 생성(복제)</title><link>https://lib0823.github.io/blog/docker-360/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-360/</guid><description>운영중인 컨테이너 환경을 그대로 백업하거나 복제해야 하는 경우 이미지로 저장할 수 있다.</description><pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category><category>commit</category></item><item><title>IoC 원칙에 위배되는 static 키워드?</title><link>https://lib0823.github.io/blog/springframework-ioc-static/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springframework-ioc-static/</guid><description>Java를 사용할 때 static 키워드는 클래스 레벨에서 공유되는 변수 또는 메서드를 정의할 때 자주 사용된다. 대표적으로 static 메서드는 객체 생성 없이 호출할 수 있고, static 변수는 클래스 로딩...</description><pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>IOC</category></item><item><title>SnowFlake 알고리즘 : 대규모 분산 환경에서의 고유 ID 전략</title><link>https://lib0823.github.io/blog/database-snowflake-id/</link><guid isPermaLink="true">https://lib0823.github.io/blog/database-snowflake-id/</guid><description>관계형 데이터베이스를 설계할 때 PK를 어떤 값을 지정해야 할지 항상 고민될 것이다. 대규모 트랜잭션 환경에서 유리한 단일 PK 전략을 세우기 위해 snowflake 알고리즘을 알아보자</description><pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate><category>Database</category><category>Database</category><category>SEQUENCE</category><category>Snowflake</category><category>Primary Key</category></item><item><title>final은 어떻게 동작하나..</title><link>https://lib0823.github.io/blog/java-final/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-final/</guid><description>final에 대해 자세히 알아보자..</description><pubDate>Fri, 25 Jul 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>비동기 처리 (with. Async)</title><link>https://lib0823.github.io/blog/springmvc-with-async/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-with-async/</guid><description>WAS에서 비동기로 처리하는 방법</description><pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring MVC</category></item><item><title>Data 변경을 감지하여 실시간 정보 제공하기</title><link>https://lib0823.github.io/blog/springframework-data/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springframework-data/</guid><description>사용자에게 실시간 정보를 제공하기 위해서는 어떤 방법들이 있을까?</description><pubDate>Sun, 15 Jun 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>trigger</category><category>notify</category><category>polling</category></item><item><title>Java - 가비지컬렉션 Young/Old(Eden)영역</title><link>https://lib0823.github.io/blog/java-yeong-old-eden/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-yeong-old-eden/</guid><description>JVM 힙이 Young(Eden)/Old로 나뉘어 있는 이유와 객체가 Old로 승격되는 과정 정리</description><pubDate>Sun, 25 May 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>GC</category><category>JVM</category></item><item><title>컨테이너 환경 모니터링 시스템 구축하기 (Prometheus + Grafana)</title><link>https://lib0823.github.io/blog/docker-prometheus-grafana/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-prometheus-grafana/</guid><description>Prometheus, Grafana, cAdvisor, node-exporter를 사용하여 Docker 호스트와 컨테이너들을 모니터링 하는 방법.</description><pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category><category>Monitoring</category><category>Prometheus</category></item><item><title>컨테이너 Disk 사용량 확인하기 (with. GraphDriver)</title><link>https://lib0823.github.io/blog/docker-disk-with-graphdriver/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-disk-with-graphdriver/</guid><description>컨테이너를 생성할 때 볼륨을 disk에 마운트 해놨다면 마운트된 경로의 disk 사용량을 du -sh 로 간단하게 해당 경로에 마운트된 컨테이너들의 용량을 확인할 수 있다.</description><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category></item><item><title>애플리케이션 배포 시 주의해야 하는 코드</title><link>https://lib0823.github.io/blog/java-344/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-344/</guid><description>분명 로컬 환경에서는 문제없었는데 서버에 올라가면 버그가 생긴 경우가 한 번쯤 있을 것이다..</description><pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>system property</category></item><item><title>가상 스레드 (Virtual thread)</title><link>https://lib0823.github.io/blog/java-virtual-thread/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-virtual-thread/</guid><description>고성능 서버에서 대규모 동시성을 처리하는 가장 효율적인 방법</description><pubDate>Wed, 19 Mar 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>thread</category></item><item><title>멀티 스레드 성능 개선</title><link>https://lib0823.github.io/blog/java-340/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-340/</guid><description>설명과 장단점</description><pubDate>Fri, 14 Mar 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>Lock</category><category>multi thread</category></item><item><title>삽입..이미 있다면? 업데이트 (with. upsert)</title><link>https://lib0823.github.io/blog/postgresql-with-upsert/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-with-upsert/</guid><description>데이터를 삽입하는데 충돌이 발생하면 충돌한 기존 데이터를 업데이트 하자</description><pubDate>Fri, 14 Mar 2025 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>Update</category><category>insert</category><category>conflict</category></item><item><title>Stream으로 리스트 그룹화</title><link>https://lib0823.github.io/blog/java-stream/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-stream/</guid><description>쿼리에서 데이터를 조회할 때 그룹화하는 것이 성능이 좋지만 상황에 따라 비즈니스 로직에서 Stream으로 그룹화 하면 Stream의 필터링, 매핑 등의 기능을 활용해서 복잡한 로직을 유연하게 처리할 수 있고,...</description><pubDate>Wed, 12 Mar 2025 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>Postgres 성능 개선 (feat. worker)</title><link>https://lib0823.github.io/blog/postgresql-postgres-feat-worker/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-postgres-feat-worker/</guid><description>PostgreSQL의 백그라운드 워커/병렬 쿼리 워커 설정을 조정해 성능을 개선하는 방법 정리</description><pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category></item><item><title>집계 데이터 페이징 처리</title><link>https://lib0823.github.io/blog/elasticsearch-334/</link><guid isPermaLink="true">https://lib0823.github.io/blog/elasticsearch-334/</guid><description>Elasticsearch에서 데이터를 집계하여 조회하는 DSL쿼리에서 size를 설정하지 않아서 집계 데이터가 최대 10개만 반환됨.</description><pubDate>Mon, 17 Feb 2025 00:00:00 GMT</pubDate><category>Database</category><category>Elasticsearch</category></item><item><title>jar 파일 내용 확인 및 수정하기</title><link>https://lib0823.github.io/blog/springboot-jar/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-jar/</guid><description>애플리케이션 설치(배포) 환경에서 jar 파일의 코드를 확인, 수정하는 방법</description><pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category></item><item><title>옵셔널 체이닝과 논리 연산자로 객체 값 안전하게 다루기</title><link>https://lib0823.github.io/blog/javascript-329/</link><guid isPermaLink="true">https://lib0823.github.io/blog/javascript-329/</guid><description>코드를 작성하다 보면 if, if, if.. null &amp; undefined 처리를 일일이 작성하다 보면 코드가 더러워지고 가독성도 떨어지게 된다. 이를 해결하기 위한 수단으로 옵셔널 체이닝과 논리 연산을 활용할...</description><pubDate>Sat, 21 Dec 2024 00:00:00 GMT</pubDate><category>Language</category><category>JavaScript</category></item><item><title>@Value로 Static 변수에 값 주입할 수 있을까?</title><link>https://lib0823.github.io/blog/springmvc-value-static/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-value-static/</guid><description>Spring에서 @Value 어노테이션은 application.properties와 같이 프로퍼티에 정의된 값을 주입하는데 사용된다.</description><pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Value</category><category>Spring Framework</category></item><item><title>서비스 중인 WAS 트러블슈팅 (with. Spring)</title><link>https://lib0823.github.io/blog/springframework-was-with-spring/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springframework-was-with-spring/</guid><description>WAS에서 에러가 발생하는데 GlobalException으로 잡히거나 Elastic의 HighLevel 클라이언트를 쓰는 경우 정확한 에러 파악이 어려울 수 있다</description><pubDate>Mon, 09 Dec 2024 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Framework</category></item><item><title>데이터베이스 서버 보안 취약점 방지</title><link>https://lib0823.github.io/blog/postgresql-315/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-315/</guid><description>실제 운영중인 서비스에서 데이터베이스의 보안은 매우 중요한 문제이므로 보안 관련 설정을 적용하여 취약점을 미리 방지하는 것이 좋다.</description><pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>SSL</category><category>Postgres</category><category>HbA</category></item><item><title>File로 간단하게 DB Table 백업하기</title><link>https://lib0823.github.io/blog/postgresql-file-db-table/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-file-db-table/</guid><description>개발하다 데이터를 잠깐 백업해야 하는데 pgdump..등 사용하기 귀찮을 때 간단하게 백업하는 방법</description><pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>Copy</category></item><item><title>서버 성능 최적화와 보안을 위한 네트워크 속성 설정</title><link>https://lib0823.github.io/blog/tomcat-314/</link><guid isPermaLink="true">https://lib0823.github.io/blog/tomcat-314/</guid><description>WAS 중 가장 많이 사용되는 Tomcat의 네트워크 연결 및 성능 관련 커스텀 설정 알아보기</description><pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>tomcat</category><category>web.xml</category><category>connector</category></item><item><title>MyBatis: ClassNotFoundException 트러블 슈팅 (JVM 네이밍 규칙)</title><link>https://lib0823.github.io/blog/java-mybatis-classnotfoundexception-jvm/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-mybatis-classnotfoundexception-jvm/</guid><description>InnerClass 사용 시 Mybatis에서 ClassNotFound 에러를 발생시키는 원인인 JVM의 클래스 네이밍 규칙..?</description><pubDate>Wed, 18 Sep 2024 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>class</category><category>JVM</category></item><item><title>WebtoB(WEB) &amp; Tomcat(WAS) 연동. with ReverseProxy</title><link>https://lib0823.github.io/blog/server-webtob-web-tomcat-was-with/</link><guid isPermaLink="true">https://lib0823.github.io/blog/server-webtob-web-tomcat-was-with/</guid><description>WebtoB의 Reverse Proxy를 이용하여 외부 서버에 WebtoB를 두고 내부 서버에 WAS를 두어 연동하는 방식은 보안, 성능, 유지보수 측면에서 유리하기 때문에 많이 사용된다.</description><pubDate>Wed, 18 Sep 2024 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>web</category><category>tmax</category><category>WAS</category></item><item><title>집합(Set) 자료형 사용하여 시간복잡도 줄이기</title><link>https://lib0823.github.io/blog/javascript-set/</link><guid isPermaLink="true">https://lib0823.github.io/blog/javascript-set/</guid><description>a배열을 반복하며 b배열에 a의 값과 일치하는 값이 있다면 a[i] 값을 1로 변경해야 한다.</description><pubDate>Thu, 29 Aug 2024 00:00:00 GMT</pubDate><category>Language</category><category>JavaScript</category><category>list</category><category>Set</category></item><item><title>자원 관리 (try-with-resources)</title><link>https://lib0823.github.io/blog/java-try-with-resources/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-try-with-resources/</guid><description>Try문으로 자원 관리하기</description><pubDate>Mon, 26 Aug 2024 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>Filter로 XSS 취약점 대응하기</title><link>https://lib0823.github.io/blog/springframework-filter-xss/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springframework-filter-xss/</guid><description>Servlet Filter를 등록하여 서버로의 HTTP 요청(request)에 대한 XSS 필터링 적용</description><pubDate>Thu, 04 Jul 2024 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Framework</category><category>xss</category><category>HttpServletRequestWrapper</category></item><item><title>nGrinder 부하 테스트 환경 구성 (with. AWS)</title><link>https://lib0823.github.io/blog/docker-ngrinder-with-aws/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-ngrinder-with-aws/</guid><description>AWS EC2 환경에서 docker-compose를 사용하여 nGrinder(성능 테스트 툴)를 동작시키기 위한 컨테이너 구성 과정</description><pubDate>Sun, 30 Jun 2024 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category><category>EC2</category><category>container</category><category>AWS</category></item><item><title>Trigger / Procedure / Function</title><link>https://lib0823.github.io/blog/postgresql-trigger-procedure-function/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-trigger-procedure-function/</guid><description>trigger, procedure, function은 각각 무엇을 의미하며 어떻게 사용하는가</description><pubDate>Sat, 25 May 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>function</category><category>procedure</category></item><item><title>01. 가상화와 컨테이너 및 도커 엔진의 구조</title><link>https://lib0823.github.io/blog/docker-284/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-284/</guid><description>Docker의 Container에 대한 기본 개념과 Docker Engine의 내부 동작 방식</description><pubDate>Mon, 06 May 2024 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category><category>container</category></item><item><title>02. 컨테이너 핵심 개념과 사용 방법 (Dockerfile, compose, volumes, network...)</title><link>https://lib0823.github.io/blog/docker-dockerfile-compose-volumes-network/</link><guid isPermaLink="true">https://lib0823.github.io/blog/docker-dockerfile-compose-volumes-network/</guid><description>도커 이미지를 만들어 컨테이너를 띄우는 방법과 주로 사용되는 개념들을 정리하자</description><pubDate>Mon, 06 May 2024 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Docker</category><category>Network</category><category>Volume</category></item><item><title>Postgres 서버 재시작 안됨</title><link>https://lib0823.github.io/blog/postgresql-postgres/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-postgres/</guid><description>Postgres 서버가 죽었는데 재시작이 안되는 문제가 종종 있다..</description><pubDate>Mon, 29 Apr 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>postgres server</category></item><item><title>DB Test 서버 세팅하기 (feat. Data dump)</title><link>https://lib0823.github.io/blog/postgresql-db-test-feat-data-dump/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-db-test-feat-data-dump/</guid><description>기존에 Test Server가 따로 없어 Dev Server의 DB를 사용하여 Test Case들을 작성했더니 데이터가 변경되며 문제가 생겨 Test용 DB Server를 구축하는 과정이다..</description><pubDate>Sun, 17 Mar 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>svn</category><category>LiquiBase</category><category>Test server</category></item><item><title>postgres 특징? 차이? (Vacuum)</title><link>https://lib0823.github.io/blog/postgresql-postgres-vacuum/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-postgres-vacuum/</guid><description>PostgreSQL은 높은 확장성, 표준 준수, 유연성, 다양한 데이터 타입 지원 등의 이유와 또 무료라는 장점 때문에 많이 활용되고 있다.</description><pubDate>Sun, 17 Mar 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>vacuum</category><category>Postgres</category></item><item><title>generate_series() 숫자/날짜 시퀸스 생성</title><link>https://lib0823.github.io/blog/postgresql-generate-series/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-generate-series/</guid><description>Query에서 숫자 또는 날짜에 대한 시퀸스 데이터를 생성하여 사용할 수 있다.</description><pubDate>Sun, 10 Mar 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>generate_series()</category></item><item><title>데이터베이스 성능 최적화 작업 (feat. Data Mart)</title><link>https://lib0823.github.io/blog/database-feat-data-mart/</link><guid isPermaLink="true">https://lib0823.github.io/blog/database-feat-data-mart/</guid><description>대량의 데이터 처리로 부하가 많은 기능에 대한 속도 개선을 위한 Database 성능 최적화 작업</description><pubDate>Sat, 24 Feb 2024 00:00:00 GMT</pubDate><category>Database</category><category>Database</category><category>data mart</category></item><item><title>인덱스 잘 활용하기</title><link>https://lib0823.github.io/blog/postgresql-275/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-275/</guid><description>Postgre에서 인덱스를 조회, 생성, 삭제, 확인하는 방법과 인덱스를 어디에 어떻게 생성해야 할까</description><pubDate>Sat, 24 Feb 2024 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category><category>index</category></item><item><title>Thread starvation or clock leap detected (feat. 쓰레드 기아 현상) 트러블슈팅</title><link>https://lib0823.github.io/blog/springboot-thread-starvation-or-clock-leap/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-thread-starvation-or-clock-leap/</guid><description>Spring을 위해 열일하는 우리의 작고 귀여운 EC2가 자주 죽는 이유인 쓰레드 기아 현상이란?</description><pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>spring boot</category><category>thread starvation</category><category>clock leap detected</category></item><item><title>Client 구현을 통한 사용 방법</title><link>https://lib0823.github.io/blog/springdataelasticsearch-client/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springdataelasticsearch-client/</guid><description>Elasticsearch 클라이언트를 직접 사용하여 클러스터 작업을 수행할 수 있지만 SpringDataElasticsearch 클라이언트를 사용하면 DataAccess, ObjectMapping,...</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Elasticsearch</category><category>spring data</category><category>spring data elasticsearch</category></item><item><title>Entity Callbacks. 특정 메서드가 호출되기 전후에 Entity 수정 사항을 적용하는 방법</title><link>https://lib0823.github.io/blog/springdataelasticsearch-entity-callbacks-entity/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springdataelasticsearch-entity-callbacks-entity/</guid><description>특정 메서드가 호출되기 전후에 Entity 수정 사항을 적용하는 방법.</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Elasticsearch</category><category>spring data elasticsearch</category><category>entity callbacks</category></item><item><title>Index 생성/삭제, Entity 저장/검색, Query 사용 등 조작 방법.</title><link>https://lib0823.github.io/blog/springdataelasticsearch-index-entity-query/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springdataelasticsearch-index-entity-query/</guid><description>Spring Data Elasticsearch는 여러 인터페이스를 사용하여 Elasticsearch 인덱스에 대해 호출할 수 있는 작업을 정의한다.</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>query</category><category>Entity</category><category>Elasticsearch</category></item><item><title>Java 객체 JSON 데이터 매핑 방법.</title><link>https://lib0823.github.io/blog/springdataelasticsearch-java-json/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springdataelasticsearch-java-json/</guid><description>Java 객체(DomainEntity)를 Elasticsearch에 저장된 JSON 타입의 데이터에 매핑하고, 또 그 반대로 매핑하는 방법.</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Elasticsearch</category><category>spring data elasticsearch</category><category>object mapping</category></item><item><title>Spring Data Repository의 기본과 Elasticsearch 세부 사항</title><link>https://lib0823.github.io/blog/springdataelasticsearch-spring-data-repository-elasticsearch/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springdataelasticsearch-spring-data-repository-elasticsearch/</guid><description>Spring Data Repository의 기본과 Elasticsearch 세부 사항 설명.</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Elasticsearch</category><category>spring data elasticsearch</category><category>spring data repository</category></item><item><title>ver.8</title><link>https://lib0823.github.io/blog/java-ver/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-ver/</guid><description>Java 8버전이 많이 사용되는 이유.</description><pubDate>Fri, 10 Nov 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>STREAM</category><category>Lambda</category><category>Optional</category></item><item><title>Redirect처리 과정 (feat. ClassCastException)</title><link>https://lib0823.github.io/blog/springboot-redirect-feat-classcastexception/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-redirect-feat-classcastexception/</guid><description>SpringMVC를 사용하여 웹 API개발 중 세션이 없는 요청에 대해 로그인 페이지로 Redirect 시키는 서비스 로직을 작성하였는데 화면 이동등에 대한 요청은 문제없이 Redirect 처리 되었지만 데이터...</description><pubDate>Mon, 23 Oct 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>redirect</category><category>rendering</category></item><item><title>로그아웃 후 이전 페이지로 이동(뒤로가기) 방지</title><link>https://lib0823.github.io/blog/springboot-245/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-245/</guid><description>웹 브라우저에서 로그아웃, 세션 만료 등으로 인해 로그인페이지로 이동됐을 때 뒤로가기 버튼을 눌러 이전 페이지로 돌아가는것을 막는 방법..!</description><pubDate>Fri, 20 Oct 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Interceptor</category><category>spring boot</category></item><item><title>ElasticSearch 기본 개념.</title><link>https://lib0823.github.io/blog/elasticsearch-233/</link><guid isPermaLink="true">https://lib0823.github.io/blog/elasticsearch-233/</guid><description>Elasticsearch는 실시간 검색 및 분석을 위한 오픈 소스 분산 검색 엔진으로, 대용량 데이터를 신속하게 색인하고 검색할 수 있는 강력한 도구이다.</description><pubDate>Sat, 07 Oct 2023 00:00:00 GMT</pubDate><category>Database</category><category>Elasticsearch</category></item><item><title>REST API 요청과 사용 방법.</title><link>https://lib0823.github.io/blog/elasticsearch-rest-api/</link><guid isPermaLink="true">https://lib0823.github.io/blog/elasticsearch-rest-api/</guid><description>Elasticsearch는 http 프로토콜로 접근이 가능한 REST API(CRUD)를 지원한다.</description><pubDate>Sat, 07 Oct 2023 00:00:00 GMT</pubDate><category>Database</category><category>Elasticsearch</category><category>CRUD</category></item><item><title>QueryDSL이란?</title><link>https://lib0823.github.io/blog/jpa-querydsl/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-querydsl/</guid><description>QueryDSL은 JPA를 사용하여 데이터베이스 쿼리를 작성하고 실행하기 위한 유용한 도구이다. QueryDSL을 사용하면 Java 코드로 쿼리를 작성할 수 있어서, 컴파일 타임 오류확인 및 IDE의 자동완성...</description><pubDate>Tue, 26 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>query</category><category>JPA</category><category>Query DSL</category></item><item><title>Entity와 Entity Manager &amp; 영속성 컨텍스트</title><link>https://lib0823.github.io/blog/jpa-entity-entity-manager/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-entity-entity-manager/</guid><description>EntityManager는 JPA에서 Entity를 관리하고 DataBase와의 통신을 담당하는 인터페이스이다.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Transaction</category><category>Entity</category><category>JPA</category></item><item><title>JPQL (Java Persistence Query Language)</title><link>https://lib0823.github.io/blog/jpa-jpql-java-persistence-query-language/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-jpql-java-persistence-query-language/</guid><description>JPQL은 JPA에서 사용하는 객체지향적인 쿼리 언어로 JPQL을 사용하여 Entity객체를 대상으로 쿼리를 작성할 수 있다.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>query</category><category>JPA</category><category>JPQL</category></item><item><title>Native Query. 네이티브 쿼리</title><link>https://lib0823.github.io/blog/jpa-native-query/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-native-query/</guid><description>NativeQuery는 JPA의 EntityManager를 통해 직접 SQL을 작성하고 실행할 수 있게 해주며, 이를 사용하여 JPA의 영속성 컨텍스트를 우회하여 직접 데이터베이스와 상호 작용할 수 있다.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>native query</category></item><item><title>Query Method. 쿼리 메서드</title><link>https://lib0823.github.io/blog/jpa-query-method-2/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-query-method-2/</guid><description>Query Methods는 Spring Data JPA에서 제공하는 기능으로 DB에서 데이터를 조회(select), 저장(insert), 수정(update), 삭제(delete) 등의 작업을 쉽게 수행할 수 있다.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>query methods</category></item><item><title>Gson이란?</title><link>https://lib0823.github.io/blog/java-gson/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-gson/</guid><description>Gson은 Java 객체를 Json 형식으로 변환하는데 사용할 수 있는 Java 라이브러리 이다.</description><pubDate>Sun, 24 Sep 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>JSON</category><category>gson</category></item><item><title>Quartz 스케줄러</title><link>https://lib0823.github.io/blog/java-quartz/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-quartz/</guid><description>Quartz는 Java로 작성된 오픈소스 스케줄링 라이브러리이다.</description><pubDate>Sun, 24 Sep 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>Quartz</category></item><item><title>JVM - JRE - JDK</title><link>https://lib0823.github.io/blog/java-jvm-jre-jdk/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-jvm-jre-jdk/</guid><description>JVM, JRE, JDK의 이해와 관계</description><pubDate>Sun, 17 Sep 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>jdk</category><category>jre</category><category>JVM</category></item><item><title>Builder Pattern과 Method Chaining</title><link>https://lib0823.github.io/blog/java-builder-pattern-method-chaining/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-builder-pattern-method-chaining/</guid><description>Java에서의 빌더 패턴(Builder Pattern)은 객체 생성 과정을 더 직관적이고 유연하게 만들기 위한 디자인 패턴이며, 주로 객체의 생성 과정이 복잡하거나 매개변수가 많을 때 사용된다.</description><pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>builder</category><category>accessors</category><category>method chaining</category></item><item><title>Optional 클래스</title><link>https://lib0823.github.io/blog/java-optional/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-optional/</guid><description>java.util.Optional은 Java 8에서 도입된 클래스로, 값이 존재하지 않을 수 있는 상황에 사용하면 NullPointerException을 방지하고 코드를 더 안전하게 만들 수 있다.</description><pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>Optional</category></item><item><title>JPA Lock의 개념과 사용</title><link>https://lib0823.github.io/blog/jpa-lock/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-lock/</guid><description>JPA(Java Persistence API)에서의 락(Lock)은 동시에 여러 사용자가 같은 데이터를 수정할 때 데이터 일관성을 유지하기 위한 메커니즘이다.</description><pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Lock</category><category>JPA</category><category>Transactional</category></item><item><title>클라우드 컴퓨팅</title><link>https://lib0823.github.io/blog/ec2-197/</link><guid isPermaLink="true">https://lib0823.github.io/blog/ec2-197/</guid><description>클라우드 컴퓨팅은 컴퓨팅 리소스를 인터넷을 통해 서비스로 사용할 수 있는 주문형 서비스이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Infrastructure</category><category>AWS</category><category>Cloud Computing</category></item><item><title>Flask앱 배포</title><link>https://lib0823.github.io/blog/ec2-flask/</link><guid isPermaLink="true">https://lib0823.github.io/blog/ec2-flask/</guid><description>Nginx를 사용하면 지정 경로(포트)로 들어오는 요청을 받아 flask앱의 경로 localhost:5000로 매핑하여 연결할 수 있지만 flask를 실행할 수 없어 문제가 발생한다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Infrastructure</category><category>AWS</category><category>nginx</category><category>mongoDB</category><category>AWS EC2</category></item><item><title>heroku란?</title><link>https://lib0823.github.io/blog/heroku-203/</link><guid isPermaLink="true">https://lib0823.github.io/blog/heroku-203/</guid><description>Heroku는 개발자들이 편리한 애플리케이션 배포, 스케일링(scaling), 관리를 시행할 수 있게 해주는 신뢰할 수 있는 서비스로서의 플랫폼이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>Heroku</category></item><item><title>JPA란?</title><link>https://lib0823.github.io/blog/jpa-169/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-169/</guid><description>자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>ORM</category><category>Spring data JPA</category></item><item><title>JPA Annotation. 어노테이션</title><link>https://lib0823.github.io/blog/jpa-annotation/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-annotation/</guid><description>JPA를 사용해 테이블과 매핑할 클래스에 붙여주는 어노테이션이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>annotation</category><category>JPS</category><category>Spring data JPA</category></item><item><title>Entity Listener. 엔티티 리스너</title><link>https://lib0823.github.io/blog/jpa-entity-listener/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-entity-listener/</guid><description>엔티티의 변화를 감지하고 테이블의 데이터를 조작한다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>Spring data JPA</category><category>entity listener</category></item><item><title>H2 Database</title><link>https://lib0823.github.io/blog/jpa-h2-database/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-h2-database/</guid><description>자바로 작성된 관계형 데이터베이스 관리 시스템이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>H2</category><category>JPA</category><category>H2 Database</category></item><item><title>1:N Relation. 관계 설정</title><link>https://lib0823.github.io/blog/jpa-n-relation/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-n-relation/</guid><description>[1:1] 관계와 거의 유사하지만 하나의 User가 여러 UserHistory를 가질 수 있는 관계이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>Spring data JPA</category><category>1:n relation</category></item><item><title>Query Method. 쿼리 메서드</title><link>https://lib0823.github.io/blog/jpa-query-method/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-query-method/</guid><description>Spring Data JPA에서 제공하는 공동 인터페이스는 기본적인 CRUD를 제공해준다. (JpaRepository)</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>Spring data JPA</category><category>query method</category></item><item><title>1:1 Relation. 관계 설정</title><link>https://lib0823.github.io/blog/jpa-relation/</link><guid isPermaLink="true">https://lib0823.github.io/blog/jpa-relation/</guid><description>1:1 관계에서는 @OneToOne 어노테이션을 사용하여 관계를 정의해 줄 수 있다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JPA</category><category>Spring data JPA</category><category>1:1relation</category></item><item><title>AWS RDS란?</title><link>https://lib0823.github.io/blog/rds-aws-rds/</link><guid isPermaLink="true">https://lib0823.github.io/blog/rds-aws-rds/</guid><description>AWS RDS란 데이터베이스의 설치, 운영 그리고 관리 등의 서비스들을 지원하는 AWS의 관계형 데이터베이스이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Infrastructure</category><category>AWS</category><category>aws rds</category></item><item><title>스프링 배치란?</title><link>https://lib0823.github.io/blog/springbatch-166/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springbatch-166/</guid><description>Spring Batch는 엔터프라이즈 시스템의 운영에 있어 대용량 일괄처리의 편의를 위해 설계된 가볍고 포괄적인 배치 프레임워크이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Batch</category></item><item><title>Batch Architecture. 배치 아키텍처</title><link>https://lib0823.github.io/blog/springbatch-batch-architecture/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springbatch-batch-architecture/</guid><description>다양한 배치 수행과 관련된 수치 데이터와 잡의 상태를 유지 및 관리한다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Batch</category><category>batch architecture</category></item><item><title>Spring Cloud란?</title><link>https://lib0823.github.io/blog/springcloud-spring-cloud/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springcloud-spring-cloud/</guid><description>분산 시스템 개발에 효과적인 기능을 제공해주는 Spring Boot 기반의 프레임워크이다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category></item><item><title>AccessToken 인증</title><link>https://lib0823.github.io/blog/springsecurity-accesstoken/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-accesstoken/</guid><description>JSON Web Token의 약자</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category><category>Access Token</category></item><item><title>Authentication. 인증</title><link>https://lib0823.github.io/blog/springsecurity-authentication/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-authentication/</guid><description>필터들 중에 일부 필터는 인증 정보에 관여한다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category><category>Authentication</category></item><item><title>Authorization. 권한</title><link>https://lib0823.github.io/blog/springsecurity-authorization/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-authorization/</guid><description>SecurityFilterChain 당 한개의 FilterSecurityInterceptor를 둘 수 있고, 각 SecurityInterceptor당 한개의 AccessDecisionManager 를 둘 수...</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category><category>authorization</category></item><item><title>JwtToken 사용하기</title><link>https://lib0823.github.io/blog/springsecurity-jwttoken/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-jwttoken/</guid><description>Jwt Token 로그인</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category><category>jwt</category></item><item><title>Security의 흐름</title><link>https://lib0823.github.io/blog/springsecurity-security/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-security/</guid><description>톰켓과 같은 웹 애플리케이션을 서블릿 컨테이너라고 부르는데, 이런 웹 애플리케이션(J2EE Application)은 기본적으로 필터와 서블릿으로 구성되어 있다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category></item><item><title>Session 사용하기</title><link>https://lib0823.github.io/blog/springsecurity-session/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-session/</guid><description>데이터베이스에서 회원정보를 가져오는 인터페이스</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Session</category><category>Spring Security</category></item><item><title>Session 인증</title><link>https://lib0823.github.io/blog/springsecurity-session-2/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-session-2/</guid><description>사용자가 로그인을 함</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Session</category><category>Spring Security</category></item><item><title>SNS 인증</title><link>https://lib0823.github.io/blog/springsecurity-sns/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-sns/</guid><description>사용자가 서버에게 로그인을 요청</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>SNS</category><category>Spring Security</category></item><item><title>Spring Security란?</title><link>https://lib0823.github.io/blog/springsecurity-spring-security/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springsecurity-spring-security/</guid><description>웹사이트는 각종 서비스를 하기 위한 리소스와 서비스를 사용하는 유저들의 개인 정보를 가지고 있다.</description><pubDate>Sun, 10 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Spring Security</category></item><item><title>MultipartFile 업로드/다운로드 하기</title><link>https://lib0823.github.io/blog/springboot-multipartfile/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-multipartfile/</guid><description>SpringBoot에서 MultipartFile 저장하고, 다운로드 받기</description><pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>File</category><category>MultipartFile</category><category>spring boot</category></item><item><title>WebServer &amp; WAS</title><link>https://lib0823.github.io/blog/nginx-webserver-was/</link><guid isPermaLink="true">https://lib0823.github.io/blog/nginx-webserver-was/</guid><description>웹 서버는 크게 하드웨어와 소프트웨어로 나뉠 수 있지만 우리가 흔히 말하는 웹 서버는 소프트웨어로 크롬이나 익스플로러 같은 웹 브라우저로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서...</description><pubDate>Sun, 27 Aug 2023 00:00:00 GMT</pubDate><category>Infrastructure</category><category>Server</category><category>WAS</category><category>webserver</category><category>nginx</category></item><item><title>OpenSearch란? (기본 사용법)</title><link>https://lib0823.github.io/blog/opensearch-93/</link><guid isPermaLink="true">https://lib0823.github.io/blog/opensearch-93/</guid><description>OpenSearch는 Elastic에서 Elastic License를 v2.0으로 변경함에 따라 상업적으로 이용할 시 추가비용이 발생하게 되어 AWS에서 Elasticsearch의 오픈 소스 버전을 포크하여...</description><pubDate>Fri, 25 Aug 2023 00:00:00 GMT</pubDate><category>Database</category><category>Elasticsearch</category><category>OpenSearch</category></item><item><title>PostgreSQL이란?</title><link>https://lib0823.github.io/blog/postgresql-91/</link><guid isPermaLink="true">https://lib0823.github.io/blog/postgresql-91/</guid><description>PostgreSQL은 강력한 비즈니스 수준의 무료 오픈 소스 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다.</description><pubDate>Fri, 25 Aug 2023 00:00:00 GMT</pubDate><category>Database</category><category>PostgreSQL</category></item><item><title>Matplotlib란?</title><link>https://lib0823.github.io/blog/python-matplotlib/</link><guid isPermaLink="true">https://lib0823.github.io/blog/python-matplotlib/</guid><description>라인플롯 차트, 바 차트, 파이 차트, 히스토그램, 산점도 등의 다양한 차트 그리기를 지원하는 library이다.</description><pubDate>Thu, 24 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Python</category><category>matplotlib</category></item><item><title>NumPy란?</title><link>https://lib0823.github.io/blog/python-numpy/</link><guid isPermaLink="true">https://lib0823.github.io/blog/python-numpy/</guid><description>C언어로 구현된 python library이며, 고성능의 수치계산을 위해 제작되었다.</description><pubDate>Thu, 24 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Python</category><category>numpy</category></item><item><title>Pandas란?</title><link>https://lib0823.github.io/blog/python-pandas/</link><guid isPermaLink="true">https://lib0823.github.io/blog/python-pandas/</guid><description>pandas는 쉽고 직관적인 관계형 or 분류된 데이터로 작업 할 수 있도록 설계된 빠르고 유연하며 표현력이 풍부한 데이터 구조를 제공하는 python library이다.</description><pubDate>Thu, 24 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Python</category></item><item><title>Scraping</title><link>https://lib0823.github.io/blog/python-scraping/</link><guid isPermaLink="true">https://lib0823.github.io/blog/python-scraping/</guid><description>컴퓨터 프로그램이 웹 페이지나 프로그램 화면에서 데이터를 자동으로 추출하는 것</description><pubDate>Thu, 24 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Python</category><category>Selenium</category><category>scraping</category><category>requests</category></item><item><title>기본 사용법</title><link>https://lib0823.github.io/blog/flask-58/</link><guid isPermaLink="true">https://lib0823.github.io/blog/flask-58/</guid><description>우선 Flask를 사용하기 위해서는 모듈을 설치하고 import해줘야 한다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Flask</category></item><item><title>APScheduler</title><link>https://lib0823.github.io/blog/flask-apscheduler/</link><guid isPermaLink="true">https://lib0823.github.io/blog/flask-apscheduler/</guid><description>챗봇 API 개발 시 날씨 데이터를 주기적으로 업데이트 해줘야하기 때문에 사용하게 됨.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Flask</category></item><item><title>ChatBot-API</title><link>https://lib0823.github.io/blog/flask-chatbot-api/</link><guid isPermaLink="true">https://lib0823.github.io/blog/flask-chatbot-api/</guid><description>goormIDE 컨테이너 환경에서 개발 진행.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Flask</category></item><item><title>Template View</title><link>https://lib0823.github.io/blog/flask-template-view/</link><guid isPermaLink="true">https://lib0823.github.io/blog/flask-template-view/</guid><description>templates 이름의 폴더 생성하여 밑에 view파일 생성</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Flask</category><category>template view</category></item><item><title>자바란?</title><link>https://lib0823.github.io/blog/java-64/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-64/</guid><description>자바는 C언어에 객체 지향적 기능을 추가하여 만든 C++과 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어이다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여...</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>객체 지향</title><link>https://lib0823.github.io/blog/java-65/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-65/</guid><description>프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용 하도록 만드는 프로그래밍 언어이다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>디자인 패턴의 개념과 종류</title><link>https://lib0823.github.io/blog/java-70/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-70/</guid><description>소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 훌륭한 해결책</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>design pattern</category></item><item><title>enum</title><link>https://lib0823.github.io/blog/java-enum/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-enum/</guid><description>흔히 상수를 정의하는 final static ~ 과 같은 방식은 다양한 문제가 발생할 수 있기 때문에 그런 문제점을 보완하기 위해 자바 5버전부터 추가된 것이다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category></item><item><title>Lambda</title><link>https://lib0823.github.io/blog/java-lambda/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-lambda/</guid><description>람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로 익명 함수라고도 한다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>Lambda</category></item><item><title>Stream에 대해 알아보자</title><link>https://lib0823.github.io/blog/java-stream-2/</link><guid isPermaLink="true">https://lib0823.github.io/blog/java-stream-2/</guid><description>Stream은 Iterator와 비슷한 역할을 하는 반복자이지만, 람다식으로 요소 처리 코드를 제공하는 점과, 내부 반복자를 사용하므로 병렬처리가 쉽다는 점, 중간처리와 최종 처리 작업을 수행하는 점에서 많은...</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Language</category><category>Java</category><category>STREAM</category><category>Lambda</category></item><item><title>에러 노트</title><link>https://lib0823.github.io/blog/springboot-36/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-36/</guid><description>에러 코드</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>error</category><category>Debugging</category><category>spring boot</category></item><item><title>03. 웹개발 개론</title><link>https://lib0823.github.io/blog/springboot-42/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-42/</guid><description>(World Wide Web, WWW, W3)는 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>web</category><category>REST API</category><category>spring boot</category></item><item><title>02. Design Pattern</title><link>https://lib0823.github.io/blog/springboot-design-pattern/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-design-pattern/</guid><description>자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발 할 수 있도록 정해둔 설계 알고리즘과 유사하다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>design pattern</category><category>Strategy Pattern</category></item><item><title>01. Object Oriented Programming (OOP)</title><link>https://lib0823.github.io/blog/springboot-object-oriented-programming-oop/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-object-oriented-programming-oop/</guid><description>1970년대에 나오기 시작했으며, C언어와 같은 ‘절차 지향’ 프로그래밍이 컴퓨터의 발전으로 인해 프로그램 복잡도가 증가하면서 유지보수, 개발기간 등 비효율적인 부분이 발생하여 [추상화, 상속, 은닉, 재사용,...</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>isp</category><category>OOP</category><category>pojo</category></item><item><title>05. Spring 핵심</title><link>https://lib0823.github.io/blog/springboot-spring/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-spring/</guid><description>Spring의 첫 1.0 version은 2004년 3월 출시.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>AOP</category><category>spring boot</category><category>ioc/di</category></item><item><title>06. Spring 기능 활용</title><link>https://lib0823.github.io/blog/springboot-spring-2/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springboot-spring-2/</guid><description>Validation 이란 null값에 의한 null pointer exception등과 같은 에러 발생을 방지하기 위해 값을 미리 검증하는 과정이다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>validation</category><category>Filter</category><category>Interceptor</category></item><item><title>타임리프(thymeleaf)란?</title><link>https://lib0823.github.io/blog/thymeleaf-62/</link><guid isPermaLink="true">https://lib0823.github.io/blog/thymeleaf-62/</guid><description>타임리프는 스프링 부트에서 공식적으로 지원하는 View 템플릿이다.</description><pubDate>Sun, 20 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Thymeleaf</category></item><item><title>데이터 변환 / 검증</title><link>https://lib0823.github.io/blog/springmvc-15/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-15/</guid><description>요청으로 넘어온 값들을 실제 객체에 binding하는 과정의 중간 역할</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Data Binding</category></item><item><title>많이 사용되는 주요 @Annotation 정리</title><link>https://lib0823.github.io/blog/springmvc-annotation/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-annotation/</guid><description>Annotation 이란?클래스나 메서드에 특별한 의미와 기능을 부여하여 코드량을 줄이고, 유지보수성과 생산성을 높이는 기술이다</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Java</category><category>Spring MVC</category></item><item><title>AOP (Aspect Oriented Programming)</title><link>https://lib0823.github.io/blog/springmvc-aop-aspect-oriented-programming/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-aop-aspect-oriented-programming/</guid><description>Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>AOP</category></item><item><title>Bean &amp; POJO (Plain Old Java Object)</title><link>https://lib0823.github.io/blog/springmvc-bean-pojo-plain-old-java/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-bean-pojo-plain-old-java/</guid><description>스프링 컨테이너(IoC)에 의해 관리되는 자바 객체(POJO)를 빈(Bean)이라고 한다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>pojo</category><category>bean</category></item><item><title>Cookie &amp; Session</title><link>https://lib0823.github.io/blog/springmvc-cookie-session/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-cookie-session/</guid><description>웹 서비스는 HTTP 프로토콜을 기반으로 사용자와 통신한다. HTTP 프로토콜은 클라이언트와 서버와의 관계를 유지하지 않는 특징인 Stateless 기반인 프로토콜이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Session</category><category>Cookie</category></item><item><title>DAO &amp; DTO &amp; VO</title><link>https://lib0823.github.io/blog/springmvc-dao-dto-vo/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-dao-dto-vo/</guid><description>DAO는 실제로 DB의 data에 접근하기 위한 객체이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>dao</category><category>DTO</category><category>Vo</category></item><item><title>DI (Dependency Injection)</title><link>https://lib0823.github.io/blog/springmvc-di-dependency-injection/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-di-dependency-injection/</guid><description>Spring 프레임워크는 3가지 핵심 프로그래밍 모델 (DI/IoC, PSA, AOP) 을 지원하며, 그 중 하나가 의존성 주입(Dependency Injection, DI) 이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Dependency Injection</category></item><item><title>IoC (Inversion of Control)</title><link>https://lib0823.github.io/blog/springmvc-ioc-inversion-of-control/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-ioc-inversion-of-control/</guid><description>IoC란 Inversion of Control의 줄임말이며, 제어의 역전이라고 한다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Inversion Of Control</category></item><item><title>MVC패턴</title><link>https://lib0823.github.io/blog/springmvc-mvc/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-mvc/</guid><description>MVC 는 Model, View, Controller의 약자다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>MVC Pattern</category></item><item><title>MyBatis</title><link>https://lib0823.github.io/blog/springmvc-mybatis/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-mybatis/</guid><description>객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>mybatis</category></item><item><title>REST API &amp; Ajax</title><link>https://lib0823.github.io/blog/springmvc-rest-api-ajax/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-rest-api-ajax/</guid><description>웹을 통해서 작업할 때 REST 방식이 가장 많이 쓰이는 형태는 Ajax와 같이 결합된 형태이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Ajax</category><category>REST API</category></item><item><title>Servlet → JSP → MVC</title><link>https://lib0823.github.io/blog/springmvc-servlet-jsp-mvc/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-servlet-jsp-mvc/</guid><description>서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>JSP</category><category>Servlet</category><category>MVC</category></item><item><title>TDD</title><link>https://lib0823.github.io/blog/springmvc-tdd/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-tdd/</guid><description>TDD란 ‘테스트 주도 개발’을 의미한다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category></item><item><title>Transaction</title><link>https://lib0823.github.io/blog/springmvc-transaction/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-transaction/</guid><description>데이터를 처리하는데 오류나 다양한 상황에 대하여 안정성을 확보하고 성공한 경우에만 반영을 해주는 것을 트랜잭션이라고 한다.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Transaction</category></item><item><title>WebListener를 활용한 중복 로그인 방지</title><link>https://lib0823.github.io/blog/springmvc-weblistener/</link><guid isPermaLink="true">https://lib0823.github.io/blog/springmvc-weblistener/</guid><description>Listener : 특정 이벤트가 발생하기를 기다리다 이벤트 발생 시 실행되는 컴포넌트.</description><pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate><category>Backend</category><category>Spring</category><category>Session</category><category>listener</category></item></channel></rss>