[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 1. 선형 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  선형 탐색선형 탐색은 탐색 알고리즘 중 가장 간단한 형태로, 배열이나 리스트 등의 자료구조에서 원하는 값을 찾을 때 처음부터 끝까지 순차적으로 비교하면서 찾는 방식입니다. 다른 복잡한 알고리즘에 비해 구현이 쉽고 직관적이어서 소규모 데이터셋에서 자주 사용됩니다. 1. 특징순차적 탐색: 시작 위치에서 끝까지 모든 요소를 순서대로 탐색하므로, 값이 배열의 앞에 있든 끝에 있든 일..
[Java] 자바 제네릭과 오버로딩
·
프로그래밍 언어/Java
제네릭(Generic)과 메소드 오버로딩(Overloading)은 자바에서 자주 사용하되는 강력한 기능 중 하나입니다. 하지만 이 두가지가 결합될 때, 컴파일 시점과 런타임 시점에서의 동작 방식에 차이가 생깁니다. 이번 포스팅에서는 간단한 예제를 통해 그 차이를 알아보겠습니다. ※ 제네릭 : 컴파일 시점에 타입을 지정하지 않고, 런타임에 구체적인 타입이 확정되는 방식으로 타입 안정성을 보장합니다. ※ 오버로딩 : 같은 이름의 메서드를 매개변수의 타입이나 개수에 따라 여러 개 정의하고, 호출 시점에 적합한 메서드를 선택하는 기능입니다.  1. 예제 코드class GenericOverloadingExample { public static void main(String[] args) { ne..
[Vue.js] Vue 설치방법과 간단한 예제
·
프로그래밍 언어/Vue.js
Vue.js 는 심플하면서도 확정성이 높은 프레임워크로 개인 프로젝트나 대규모 엔터프라이즈 애플리케이션에서도 효율적으로 사용할 수 있습니다. Vue.js를 사용하면 더 직관적이고, 가독성 좋은 코드를 작성하면서도 빠르고 매끄러운 웹 애플리케이션을 구현할 수 있습니다. PC에 Vue.js를 설치하는 방법과 간단한 예제(Todo List)를 통해 사용방법에 대해 알아보겠습니다. 1. nodejs 설치아래 URL로 접속합니다.https://nodejs.org/en/download/prebuilt-installer 2. Vue CLI 설치cmd 창을 열고 npm을 사용해 전역으로 설치합니다.npm install -g @vue/cli설치 후, vue --version 명령어를 통해 정상설치 되었는지 확인 가능합니..
[SpringBoot] MongoDB 윈도우 설치방법과 간단한 예제
·
프레임워크/SpringBoot
MongoDB는 NoSQL 데이터베이스로, 비관계형 데이터베이스 모델을 사용하는 것이 가장 큰 특징입니다. 스키마리스 구조로 고정된 스키마가 없기 때문에 데이터의 구조를 유연하게 관리할 수 있을뿐더러 샤딩을 통해 데이터를 여러 서버에 분산해 저장하고, 이를 통해 대량의 데이터를 처리할 수 있는 수평적 확장을 지원합니다. 윈도우에 MongoDB 를 설치하는 방법과 SpringBoot를 통해 MongoDB를 사용하는 방법에 대해 알아보겠습니다. 1. 윈도우 MongoDB 설치아래 경로로 접속하여 커뮤니티 버전을 다운로드합니다.https://www.mongodb.com/try/download/communityComplete : 기본Custom : 사용자설정저는 Complete로 진행하였습니다.원하는 경로로 지..
[Android] Kotlin 벽돌깨기 게임 만들기
·
프로그래밍 언어/Android
앱 공부 할 겸 안드로이드 공식 언어인 코틀린으로 벽돌 깨기 게임을 간단하게 만들어 보았습니다. 복잡한 기능은 구현하지 않고 기본적인 기능만 구현하였으니 가볍게 봐주시길 바랍니다. 전체소스는 Github를 참고해 주세요. 1. 프로젝트 구조+---java| \---com| \---cyb| \---brickbraker| | MainActivity.kt| || +---common| | Constants.kt| || +---components| | Ball.kt| ..
[SpringBoot] 캐릭터 맞히기 게임 사이트 구현하기
·
프레임워크/SpringBoot
최근 유행하는 캐릭터 맞히기 게임을 아이와 함께 즐기다 보니, 흥미가 생겨 직접 만들어보게 되었습니다. 관심 있으신 분들은 한번 참고해보세요! 전체소스는 Github 를 참고해주세요. SpringBoot + Thymeleaf + MariaDB 로 작성되었습니다. 주요 기능일반 모드: 10문제, 20문제, 50문제 중 선택하여 플레이 가능데스매치 모드: 제한 시간과 목숨을 두고 도전하는 스릴 있는 게임 모드공부하기 모드: 게임을 즐기면서 캐릭터에 대해 학습할 수 있는 기능랭킹 시스템: 사용자들의 기록을 기반으로 랭킹을 조회하는 기능메뉴 및 문제 등록: 게임에 사용할 캐릭터와 문제들을 자유롭게 등록 가능 1. 메인화면게임을 선택할 수 있는 메인 화면입니다. 원하는 만화를 선택하여 게임을 진행할 수 있습니다...
[SpringBoot] AOP로 메서드 호출 로그 남기기
·
프레임워크/SpringBoot
AOP(Aspect-Oriented Programming)는 핵심 비즈니스 로직과 분리되는 부가적인 기능, 즉 '횡단 관심사'를 분리해 코드의 가독성과 유지 보수성을 높여줍니다. 대표적인 예로 로깅, 트랜잭션 관리, 보안 등이 있는데, 이 중에서도 메서드 호출에 대한 로깅은 애플리케이션의 동작을 추적하고 디버깅하는 데 큰 도움이 됩니다. 이번 포스팅에서는 Spring Boot의 AOP를 활용해 프로젝트 내 모든 메서드 호출 시마다 자동으로 로그를 남기는 방법을 알아보겠습니다.Spring logback 설정은 블로그 포스팅 을 참고해주세요. 1. 라이브러리 추가// AOPimplementation 'org.springframework.boot:spring-boot-starter-aop' 2. LogAop...
[SpringBoot] JPA 쿼리 메서드 키워드 정리 및 예제
·
프레임워크/SpringBoot
Spring Data JPA는 쿼리를 메서드 이름만으로 작성할 수 있는 강력한 기능을 제공합니다. 복잡한 SQL을 작성하지 않고도 데이터를 쉽게 조회, 수정, 삭제할 수 있는 이 기능은 개발 생산성을 크게 향상시킵니다. 이번 포스팅에서는 findBy, countBy, deleteBy 등의 다양한 키워드와 그 조합을 알아보고, 실제 예제를 통해 활용 방법을 소개하겠습니다. 1. findBy특정 조건을 만족하는 엔티티(혹은 엔티티의 리스트)를 조회할 때 사용// username으로 User 리스트를 조회List findByUsername(String username); 2. existsBy데이터베이스에 존재하는지 체크// 이메일이 데이터베이스에 이미 존재하는지 확인boolean existsByEmail(St..
[SpringBoot] JPA + Criteria를 이용한 Join 예제
·
프레임워크/SpringBoot
이번 포스팅에서는 Spring Boot 환경에서 JPA와 Criteria API를 활용하여 여러 테이블을 Join 하는 방법을 소개하겠습니다. 특히, Criteria API를 사용하면 동적 쿼리 작성이 간편해지고, 복잡한 쿼리를 객체지향적으로 관리할 수 있습니다.이번 예제에서는 users, orders, products 테이블을 기준으로 사용자별 주문 내역을 조회하는 과정을 살펴보겠습니다. VO를 활용하여 데이터를 매핑하고, 실무에서 많이 사용하는 Join 예제를 통해 보다 효과적으로 JPA의 활용 방법을 익히실 수 있습니다.JPA를 처음 사용하시는 분이나 Criteria API를 활용해보고 싶은 분들에게 도움이 되길 바랍니다. 그럼 시작해보겠습니다!전체소스는 Github를 참고해 주세요. 1. 테이블 ..
[SpringBoot] Apache Kafka 간단한 예제만들기
·
프레임워크/SpringBoot
오늘은 SpringBoot와 Apache Kafka를 활용하여 간단한 메시징 예제를 만들어보겠습니다. Apache Kafka는 분산 스트리밍 플랫폼으로, 대규모 데이터 처리 및 실시간 데이터 스트리밍에 강력한 도구입니다.  1. Apache Kafka 소개Apache Kafka는 분산형 스트리밍 플랫폼으로, 대량의 실시간 데이터를 처리하고 저장하는 데 특화된 시스템입니다. LinkedIn에서 개발되어 현재 Apache Software Foundation에서 관리하고 있으며 아래와 같은 특징을 가지고 있습니다.메시지 브로커: Kafka는 생산자(Producer)와 소비자(Consumer) 사이에서 메시지를 전송하는 역할을 합니다. 데이터를 토픽(Topic)으로 구분하여 관리하고, 각 토픽은 여러 파티션(P..
제로빈
'분류 전체보기' 카테고리의 글 목록 (2 Page)