전체 글

나의 개발자 성장기 이야기
질문이 생긴 계기“인터페이스를 사용하면 결합도가 낮아진다”는 문장을 여러 번 접했다. 그런데 막상 어떤 결합도가 왜 낮아지는지 설명하려고 하면 말이 막혔다. 구체 클래스를 인터페이스 타입으로 바꾸기만 하면 되는지, 구현체가 하나뿐이어도 인터페이스가 필요한지, Spring에서 의존성 주입을 하려면 반드시 인터페이스가 있어야 하는지도 분명하지 않았다.이번에는 문장을 외우는 대신 작은 주문 알림 예제를 세 가지 형태로 만들었다. 알림 방식을 Email에서 다른 구현으로 교체할 때 어느 코드가 바뀌는지, 테스트에서는 대체 객체를 넣을 수 있는지를 직접 비교했다.먼저 말하는 결론인터페이스는 의존성을 없애지 않는다. OrderService는 인터페이스를 사용해도 알림 기능에 계속 의존한다. 달라지는 것은 어떤 대상..
지난 2편에서는 Whisper의 Encoder가 음성 데이터를 어떻게 '문맥 표현'으로 변환하는지 살펴보았습니다. 이제 아키텍처 분석 마지막 3편에서는 이 요약된 음성 정보를 바탕으로, Decoder가 어떻게 실제 텍스트를 생성하는지,그리고 어떻게 번역이나 언어 감지 같은 복합적인 작업을 동시에 수행하는지 그 핵심 원리를 파악하려고 합니다.Whisper 아키텍처Whisper는 전형적인 Encoder-Decoder Transformer 구조를 갖습니다. 이전 편에서는 오디오 입력 -> Encoder를 거쳐 잠재 표현으로 변환되는 과정을 따라가며 모델의 전반부를 살펴보았고, 이제 시선을 반대로 옮겨서 Encoder가 만들어낸 표현이 Decoder를 통해 어떻게 텍스트로 생성되는지, 즉 Whisper의 출력 ..
이번 글에서는 리눅스 서버에 원격 접속을 하기 위해서 설정해야하는 고정 IP 설정에 대해서 실습을 진행해보려고 합니다.SSH 원격접속을 위한 고정 IP 설정 방법(CentOS7 기준)앞선 글에서 SSH의 개념과 역할에 대해 정리했습니다.이제 실제로 SSH 원격 접속을 실습해보기 전에, 한 가지 먼저 설정해야 할 부분이 있습니다. SSH 접속은 서버의 IP 주소를 기준으로 이루어집니다.하지만 DHCP 환경에서는 서버가 재부팅되거나 네트워크 상태가 변경될 때마다 IP 주소가 달라질 수 있습니다. 이처럼 IP가 고정되지 않은 상태에서는 매번 접속 주소를 다시 확인해야 하고, 실습 도중 접속이 끊기거나 연결이 되지 않는 문제가 발생할 수 있습니다. 그래서 실습 환경이나 서버 환경에서는 SSH 원격 접속을 진행..
1편에서는 Whisper모델의 개요와 특징을 중심으로, 해당 모델이 무엇인가에 대해서 알아보았습니다.2편에서는 Whisper의 내부 구조에 초점을 맞추어, 음성 입력이 텍스트로 변환되기까지의 전체 아키텍처 흐름을 살펴보고자 합니다.전체 구조를 입력 처리 및 Encoder 영역과 출력 생성 및 Decoder 영역으로 나누어 분석하며, 이번 글에서는 먼저 입력 처리부터 Encoder Block까지의 구조를 다룹니다. OpenAI Whisper(1) - Whisper란 무엇일까?Whisper를 접하게 된 이유오늘은 졸업작품 주제로 선정한 Mina 프로젝트에서 사용한 OpenAI의 Whisper에 대해 소개하려고 합니다. 먼저 졸업작품 주제를 간단히 설명드리자면, Mina는 Meeting Intelligence..
한혬
개발을 모험하다