전체 글 썸네일형 리스트형 (1) Ignite와 Redis를 비교해볼까? : Spring Boot 3.x에 Apache Ignite 도입하기 안녕하세요! 오랜만에 글을 쓰는 것 같아요.블로그 문화가 활발해지면서 정보를 공유하고 싶어도 이미 너무 잘 정리된 글들이 많아 고민이 많았어요. 그래서 주제를 정하고 다시 엎고를 반복하다가 이제야 글을 작성하기 시작했네요. 너무 고민하다가 작성 중이던 글을 지우기도 했어요. 😂이번에는 Apache Ignite에 대해 소개해보려고 합니다. 아직 널리 사용되는 기술은 아니지만, 인메모리 데이터베이스를 활용하여 고성능 애플리케이션을 개발할 때 유용합니다. 특히 대용량 캐시 시스템이 필요하다면 반드시 고려해볼 만한 기술입니다. 이 글이 Ignite를 선택하는 데 도움이 되었으면 좋겠습니다. 렛츠고! 🚀 1. Apache Ignite를 처음 들어보신다고요?공식문서를 볼때 가장 추천드리는 방법이 있는데,저는 가.. 더보기 시리즈 6. 그래프 탐색 완벽 가이드: 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 안녕하세요, 스터디 6주 차입니다. 그래프에 대해 알아보고, 그래프를 탐색하는 방법 중 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)을 이야기해보겠습니다. 그래프 자료구조와 탐색 방법은 코딩테스트에서 가장 중요한 빈도로 출제를 차지하고 있죠. 도움이 되었으면 좋겠습니다. 같이 시작해 보시죠 😊1. 그래프(Graph) 자료구조가 뭐야? 그래프(Graph)는 정점(Vertex)와 Edge(간선)로 구성된 비선형 자료구조를 말합니다.정점은 데이터를 나타내고, 간선은 정점 간의 관계를 표현합니다. 이를 통해 다차원적인 데이터를 효율적으로 표현할 수 있죠.그래프는 현실 세계의 복잡한 관계를 모델링할 때 유용한 구조입니다. 예를 들어, 지도에서 도시 간의 거리를 나타내거나 소셜 네트워크의 친구 관계 등을 그.. 더보기 유연하게 전략을 바꾸고 싶다고요? 전략(Strategy) 패턴 최근에 헤드퍼스트 디자인패턴이라는 책을 읽으면서, 디자인 패턴을 정리해보려 합니다.제가 생각하는 디자인패턴의 가장 좋은 점은 내 코드를 다른 동료들에게 좀 더 잘 알려줄 수 있는 표현이라는 점인데요.그중 GOF 디자인 패턴에 속한 패턴들에 대해서 헤드퍼스트 디자인패턴 책에서 소개하는 순서로 정리해 보겠습니다. 같이 공부하시죠 :) 전략 패턴을 내가 이해한대로 정의해보자. 전략패턴은 객체의 행위를 캡슐화하여 런타임시에 행위를 동적으로 변경할 수 있도록 설계하는 패턴풀어서 설명하면, 객체에서 어떤 일을 수행하는 방법이 여러 가지 일때, 변화하는 부분(행위)을 분리하여 인터페이스로 정의(캡슐화)하고 객체에 구성(컴포지션)으로 추가하여 여러가지 행위의 구현체를 만들어 필요에 따라서 선택할 수 있도록 하는 것입니.. 더보기 시리즈 3. 해시 함수와 충돌(Collision) 해결 전략 !! 꼭 보셨으면 안녕하세요, 스터디 3주차입니다. 이번 시간에는 해시(Hash)와 해시 충돌(Collision)에 대해 탐구를 해보려고 합니다.프로그래밍에서 해시가 어떻게 사용되는지, 그리고 충돌 문제를 어떻게 해결하는지 예시와 함께 알아보겠습니다.또한 문제도 풀어보면서 해시를 같이 경험하면 좋겠습니다. 😄 1. 해시(Hash)란? 해시(Hash)는 해시 함수를 사용하여 입력 값을 고정된 크기의 어떠한 해시 값으로 변환하여 매핑하는 것을 말합니다. 이 과정에서 원본 데이터의 크기나 형식과 상관없이 해시 값은 일정한 크기를 가지게 되며, 주로 빠른 데이터 검색, 암호화, 무결성 검증 등 다양한 분야에서 활용됩니다. 해시의 핵심은 효율적인 데이터 관리입니다. 일반적으로 데이터베이스, 캐시 시스템, 검색 엔진, 컴파일러 등.. 더보기 자바의 애노테이션은 어떻게 사용하는 걸까? @interface의 진짜 의미와 활용법 이번에는 애노테이션에 대해서 학습할게요.자바를 이용하면서 애노테이션을 많이 사용하는데, 정확한 의미는 잘모르는 것 같아서 찾아볼게 많을 것 같네요. ㅎㅎ 주석이라고 해석할 수 있는 Annotation은 자바에서 어떠한 기능을 하는지 찾아보겠습니다. 애노테이션은 코드의 동작에 직접적인 영향을 미치지않고, 메타데이터의 형태로 프로그램의 데이터를 제공한다고 합니다. 컴파일러에 대한 정보 : 컴파일러는 애노테이션을 사용하여 오류를 감지하거나 경고를 억제할 수 있습니다.컴파일 시간 및 배포 시간 처리 : 소프트웨어 도구는 애노테이션 정보를 처리하여 코드, XML 파일 등을 생성할 수 있습니다.런타임 처리 : 일부 애노테이션은 런타임 시 검사할 수 있습니다. 애노테이션은 클래스, 필드, 메소드 및 기타 프로그램 요.. 더보기 회사에서 Spring Boot + mongoDB 트랜잭션 도입하기 1. 왜 mongoDB에서 트랜잭션을 도입하는거야?우선 업무에서 왜 mongoDB를 사용하고 있는지 부터 이야기 해야 할 것 같아요.일반적인 회사에서는 관계형 데이터베이스를 사용하고 있는데, 제가 머물고 있는 곳은 규모가 작은 스타트업이고 제품이 유저의 반응, 트렌드, 새로운 아이디어를 빠르게 반영 시켜야 만 했어요. 그렇기 때문에 스키마 변경에 자유로운 nosql을 선택하게 되었습니다. 그러나 서비스가 방향을 잡아가면서 점점 복잡해지고 결정적으로 유저의 재화가 소모되는 기능이 추가되면서 트랜잭션의 ACID속성을 필요로 하게 되었습니다. MongoDB는 태생은 ACID보다 BASE 속성(Basically Available, 일관성)을 우선시하여 설계되었기 때문에 트랜잭션을 지원하지만 선택사항으로 남아있.. 더보기 SpringDataJPA(스프링데이터JPA)를 뜯어보자 1. 스프링 데이터 JPA 💡 Spring Data Jpa는 SQL 쿼리를 직접 작성하는 대신 객체와 객체 간의 관계에 집중할 수 있게 돕는 기술, 덕분에 Java의 ORM 기술인 JPA (Java Persistence API)를 더 쉽고 편리하게 사용 2. 특징은 무엇? Repository 인터페이스 JPA를 추상화 시킨 인터페이스만 정의하면, Spring Data JPA가 구현체를 자동으로 생성해주는 기능을 제공, 이를 통해 CRUD (Create, Read, Update, Delete) 작업을 위한 코드 중복을 줄일 수 있움 쿼리 메소드 메소드 이름을 분석하여 SQL 쿼리를 자동으로 생성하는 기능을 제공 예를 들어, **findByName(String name)**이라는 메소드를 Repository.. 더보기 2023 카카오 제1회 tech meetup 참여 후기 5월 11일 오후 7시에 판교역 카카오 아지트에서 카카오 공개 기술 세미나가 있었는데요. 정말 운이 좋게도 100명안에 당첨이 되서 부랴부랴 퇴근하고 판교로 출발했습니다. 🙃 유익한 내용 공유하고 제가 느낀 것 들을 공유 드려볼게요. 첫 판교 아지트 방문 우와 여기가 카카오야? 처음 카카오 판교 아지트로 들어가는데 기분이 묘하더라구요. 개발자를 시작하면서 카카오는 한번쯤은 일해보고 싶은 곳이라고 생각하고 있었는데, 생각보다 빨리 초대받게 되었네요. ㅎㅎ 저녁 7시임에도 불구하고 100분이나 오셨고, 역시 개발자들이란 ~ 생각이 절로 나더라구요. 세션 내용 및 후기 ChatGPT로 바뀐 개발자의 일상 이야기 (robin.hwang, 황민호) 개인적으로 가장 인상깊게 들었던 로빈님 처음부터 PPT를 발표를 .. 더보기 이전 1 2 3 4 다음 목록 더보기