분류 전체보기 8

정규표현식(Regex) 완전 정복

우리가 개발을 하다 보면 문자열을 다루는 일이 정말 많다.회원가입 폼에서 이메일 형식을 검사하고, 로그에서 특정 패턴을 찾고,또는 비밀번호 정책을 강제해야 할 때도 있다. 이 때 유용하게 쓰이는 도구가 바로 정규표현식(Regular Expression, Regex)이다.코드 몇 줄만으로 문자열의 패턴을 정의하고 검사할 수 있기 때문에프론트엔드, 백엔드, 클라이언트 앱 등 어떤 환경에서도 널리 사용된다. 이번 글에서는 정규표현식의 기본 개념과 자주 쓰는 문법,그리고 내가 C# WinForms 프로젝트에서 실제로 적용한 비밀번호 정책 검사 코드를 공유한다. 정규표현식(Regex)이란?정규표현식은 문자열 안에서 특정 패턴을 찾거나,문자열이 해당 패턴에 맞는지를 검사하는 “문자열 패턴 언어”이다. 예를 들어..

카테고리 없음 2025.12.06

Google Speech-to-text API를 활용한 실시간 음성 인식 기능 구현

– 캡스톤 프로젝트에서 실시간 음성 인식 기능을 구현한 방법 – 우리가 캡스톤 프로젝트를 진행함에 있어 선택한 주요 기능 중 하나는사용자의 음성을 실시간으로 받아서 텍스트로 변환해야 하는 것이었다. 정적 음성 파일(STT)이 아니라 마이크 입력을 실시간으로 스트리밍 처리해야 했기 때문에,단순한 REST API 방식으로는 구현할 수 없었다. 이때 선택한 기술이 바로 Google Cloud Speech-to-Text의 양방향 스트리밍 API이다. 이 기능을 사용하면 클라이언트로부터 실시간 오디오를 받아 구글 서버에 스트리밍으로 전송하고,바뀌는 음성을 즉시 텍스트로 분석해 다시 반환할 수 있다. 이번 글에서는 우리가 캡스톤 프로젝트에서 어떻게 Google Speech-to-Text Streaming API를 ..

카테고리 없음 2025.12.06

KOMORAN 오픈 소스를 활용한 한국어 키워드 추출

– 캡스톤 프로젝트 실전 적용 사례 – 캡스톤 프로젝트를 진행하면서 가장 어려웠던 부분 중 하나는“긴 한국어 텍스트에서 핵심 키워드를 어떻게 추출할 것인가”였다. 특히 나는 음성(STT) → 텍스트 변환 → 핵심 키워드 자동 추출이라는 기능이 필요했기 때문에단순 문자열 검색 방식으로는 정확한 분석이 어렵다는 한계를 느꼈다. 그 과정에서 적용한 오픈소스가 바로 KOMORAN, 한국어 형태소 분석기이다. 이번 글에서는 내가 실제 캡스톤 프로젝트에서 KOMORAN을 활용해 키워드 추출 기능을 구현한 과정을 정리한다. KOMORAN이란?KOMORAN(KOrean MORphological ANalyzer)은 한국어 문장을 형태소 단위로 분석하고품사 태깅(POS Tagging)을 수행해주는 오픈 소스 NLP 도..

카테고리 없음 2025.12.04

API와 오픈 소스 비교 분석

– 캡스톤 디자인을 준비하는 대학생 입장에서 꼭 알아야 할 핵심 차이 – 캡스톤 프로젝트를 준비하다 보면 “다른 서비스의 기능을 가져와 쓰고 싶다”, “필요한 기술을 빠르게 적용해야 한다”이런 고민을 정말 많이 하게 된다. 이 때 가장 자주 마주치는 개념이 바로 API와 오픈 소스(Open Source)이다.둘 다 개발 생산성을 높여주지만 역할과 쓰임새는 확실히 다르다. 이번 글에서는 캡스톤을 수행하는 대학생의 관점에서API와 오픈소스의 차이·용도·장단점·선택 기준을 정리해본다. API와 오픈 소스의 정의 요약API→ 다른 프로그램의 기능을 빌려 쓰는 통로날씨 정보가 필요하다 → 날씨 API로그인 인증이 필요하다 → 카카오 OAuth API지도가 필요하다 → 구글 지도 API즉, 기능을 서비스 형태로..

카테고리 없음 2025.12.04

오픈 소스(Open Source)란 무엇인가?

우리가 사용하는 대부분의 프로그램과 서비스는 수많은 개발자들의 협업과 기여로 만들어져 있다.운영체제인 Linux부터 VSCode, Android, Chrome 브라우저까지우리가 일상적으로 사용하는 주요 기술들은 모두 오픈소스(Open Source) 기반이다. 이번 글에서는 오픈소스의 개념부터 활용 예시, 라이선스 종류, 기여 방식까지“가장 쉬운 언어 + 개발자가 직접 쓰는 관점”으로 설명한다. 오픈 소스란 무엇인가?누구나 소스 코드를 보고, 수정하고, 배포할 수 있도록 공개된 소프트웨어 즉, 개발자가 만든 소스 코드를 숨기지 않고 모두 공개하여 다른 사람들도 자유롭게 사용할 수 있게 하는 형태다. 아주 쉬운 비유닫힌 소프트 웨어: 레시피가 비공개인 요리오픈 소스: 레시피까지 모두 공개된 요리→ 누구나 ..

카테고리 없음 2025.12.03

API란 무엇인가?

우리가 사용하는 대부분의 서비스는 다른 시스템과 정보를 주고받으며 동작한다.로그인할 때 구글 인증 창이 뜨고, 앱에서 날씨 정보를 불러오고, 심지어 SNS에서 자동 번역이 작동하는 것까지모두 API 덕분이다. 이번 글에서는 API의 기본 개념부터 실제 예시, 사용 방식까지"가장 쉬운 언어 + 실무형 관점"으로 설명한다. API란 무엇인가?API(Application Programming Interface)는 프로그램끼리 서로 대화할 수 있게 해주는 인터페이스이다. 쉽게 말해, 한 프로그램이 다른 프로그램에게 ‘요청(Request)’을 보내고, 응답(Response)을 받기 위한 규칙과 도구의 모음이다. 아주 쉬운 비유식당: 손님(클라이언트)은 요리를 직접 하지 않는다API: 주문서 역할주방(서버): 요..

카테고리 없음 2025.12.03

정렬 알고리즘 완전 정복 (2편)

– 힙 정렬 · 병합 정렬 · 기수 정렬 – 정렬 알고리즘 중 고급 알고리즘들은 일반적인 O(N²) 방식보다 훨씬 빠르고대용량 데이터 처리에 매우 효율적이다. 이번 글에서는 대표적인 **힙 정렬(Heap Sort), 병합 정렬(Merge Sort), 기수 정렬(Radix Sort)**을1편과 동일하게 원리 → 시각화 → C 코드 → 시간 복잡도 → 특징 순서로 정리해본다. 힙 정렬 (Heap Sort)힙 정렬은 완전 이진 트리 기반의 자료구조인 힙(Heap)을 이용하여 정렬한다. 원리 1. 배열을 최대 힙(Max Heap)으로 구성한다.2. 루트(최댓값)를 맨 뒤로 이동한다.(swap)3. 힙의 크기를 줄이고 다시 힙 구성4. 반복하여 정렬 완성 시각화 (글 형태) 초기 배열:[5, 3, 8, 4..

카테고리 없음 2025.12.02

정렬 알고리즘 완전 정복 (1편)

- 선택정렬 · 버블정렬 · 삽입정렬 · 퀵정렬 - 정렬(Sorting)은 모든 프로그래밍 언어에서 가장 기본적이면서도 중요한 알고리즘이다.데이터를 정렬하면 탐색 시간이 줄어들고, 이후 처리 과정이 훨씬 효율적으로 된다. 이번 글에서는 대표적인 정렬 알고리즘(선택, 버블, 삽입, 퀵 정렬)을원리 → 시각 자료 → 코드 → 시간 복잡도 → 특징 비교 순서로 정리해본다. 먼저 정렬이 필요한 이유는 다음과 같다. 1. 자료 탐색 속도 향상2. 중복 제거 및 데이터 정리3. 탐색/병합 등 다른 알고리즘의 전제 조건 복잡도(BIG-O) 개념을 간단 요약해보자. O(1) → O(log N) → O(N) → O(N log N) → O(N^2) → O(2^N) → O(N!)O(1)은 빠른 정렬의 기준이다.O(N!)..

카테고리 없음 2025.12.02