전체 글 10

VLM(Vision-Language Model) 간단 요약

갑자기 회사에서 내년 사업에 VLM을 활용한 사업군을 준비한다고 하여 급하게 준비하고 공부하는 중이다.(1년만에 쓰게 되어 부끄러움)먼저 VLM 모델은 시각 + 언어를 동시에 이해하고 연결할 수 있는 모델이다. 쉽게 설명하자면 눈도 있고 말도 할 줄 안다고 생각하면 될 듯. 특징멀티모달(Multi-modal) 학습텍스트와 이미지를 같은 임베딩 공간으로 매핑텍스트-이미지 매칭텍스트 설명과 이미지가 서로 잘 맞는지 구분 가능이미지 캡션 생성이미지를 보고 자동으로 문장을 만들어냄시각적 질의응답(Visual Question Answering, VQA)이미지를 주고 질문하면 텍스트로 답변Zero-Shot 기능추가 학습 없이도 새로운 이미지/객체 잘 동작임베딩 공간(embeding space): 데이터(텍스트, 이..

AI 2025.09.09

버블 정렬(Bubble Sort) - C언어

1년되기 직전에 돌아온 블로그 작성계절학기에 들어가면서 2주차로 C언어 프로그래밍 응용을 시작했다.수업 마지막 중 과제에서 배열에서 입력을 받아 내림차순으로 정렬하는 것이었는데 문제를 보자마자 버블정렬을 사용하려고 했는데 구조를 까먹어서 이렇게 블로그에 옮긴다. 버블정렬? - Bubble Sort정렬 알고리즘 중 하나이며, 시간 복잡도가 느리지만 코드가 단순하여 간단한 정렬에는 이 버블정렬을 사용하곤 한다.버블이라는 이름이 붙는 이유는 원소의 이동이 거품이 수면위로 올라가는 듯한 모습을 가졌다고 지어졌다.알고리즘기본적으로 배열의 두 수를(x, y)를 선택한 후 비교하여, 만약 그 수가 정렬이 되었다면 놔두고 그게 아니라면 두 수를 교환하는 방식으로 진행된다. 오름차순일 때는 (x y) 으로 진행해야 정..

자료 구조 2024.07.16

오류 노트: Could not find a declaration file for module...

React로 개인 프로젝트를 진행하던 중 에러를 만나게되었다. 거.. 타입 에러 같은데 에러 메세지에 친절하게 적혀있어서 다행이였다. (물론 처음보는 에러였다.) 1. 🚨 첫 번째 에러 해결 시도. 저기 친절하게 써져 있는 커맨드를 따라 쳐보기로 했다. npm i --save-dev @types/redux-persist 놀랍게도 아무일도 일어나지 않았다. 원인은 모르겠다... 이 부분에서는 좀 더 찾아봐야겠다. 2. 🚨 두 번째 에러 해결 시도. 바로 types 폴더에 모듈명 디렉토리를 만들고 d.ts 파일을 만드는 것이였다. 하지만 처음시도 해보기에 구글링을 통해 선배 개발자님의 블로그를 통해 시도해봤다. 먼저 내 프로젝트에서는 따로 @types 폴더가 없어서 생성해주기로 했다. 그 후 에러가 생긴 모..

React 2023.07.27

Git 커맨드 그리고 첫 파일 업로드.

지난 포스트의 마지막 사진이였다. 상단에 7줄의 커맨드를 해석해 볼 것이며 git의 커맨드에 대해서 알려줄려고 한다. 먼저 상단의 커맨드를 보자. echo "# my-first-git" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin git push -u origin main 먼저 첫번째 줄부터 설명하겠다. echo 는 아마 쉘스크립트를 작성할 때 많이 볼 명령어인데 유닉스 계열의 운영체제에서 화면을 출력을 담당하고 있다. "# my-first-git"의 부분은 markdown 형식에서 # 한 개는 "h1"인데 h1으로 my-first-git 출력할 파일을 ..

Git 2023.05.28

Git & GitHub

보통 개발 프로젝트를 할 때 버전관리 툴에서 git이나 svn을 사용한다. 그 중 오늘 블로그에 게시할 것은 git 이다. 나는 현재 내 모교에서 실습실무사로 일하고 있다. 가끔 학생들이 하는 얘기를 들으면 git이랑 github이랑 같은 줄 알고있는데 그 학생들을 위해서 블로그에 정리해보기로 했다. 먼저 git에 대해서 설명을 해보겠다. git은 오픈소스계의 아이돌 리누스 토르발스 등 여러 개발자들이 개발해 2005년에 공개한 버전관리시스템(VCS) 이다. 비하인드 스토리로는 이 굉장하고 엄청난 것을 2주만에 만들었다는 얘기가 있다... 일단 git에 대한 구조를 알아봐야 한다. git은 '로컬 저장소' 라는 이름으로 전체 데이터를 프로젝트 파일에 넣어 관리하는 시스템이다. 즉 프로젝트의 전체 기록과 ..

Git 2023.05.26

모던 자바스크립트 Deep Dive 04 변수 (1)

이 글은 위키북스의 모던 자바스크립트 Deep Dive를 읽고 정리한 글 입니다. 반박시 여러분의 의견이 맞습니다. 4.1 변수란 무엇인가? 왜 필요한가? 애플리케이션은 데이터를 다룬다. 어떤 애플리케이션이라도 데이터를 입력받아 처리하고 그 결과를 출력하는 것이 전부다. 이때 이 데이터를 관리하기 위한 핵심 개념이 변수이다. 변수가 무엇이고 왜 필요한지 알아보자. 10 + 20 자바스크립트를 해석하고 실행하는 자바스크립트 엔진이 코드를 계산(평가 evaluation)하려면 먼저 10, 20, + 라는 기호 (리터럴 literal과 연산자operator)의 의미를 알고 있어야 하며, 10+20이라는 식(표현식 expression)의 의미도 해석(파싱 parsing) 할 수 있어야 한다. 자바스크립트 엔진이..

Javascript 2023.04.18

모던 자바스크립트 Deep Dive 03 More 자바스크립트

이 글은 위키북스의 모던 자바스크립트 Deep Dive를 읽고 정리한 글 입니다. 반박시 여러분의 의견이 맞습니다. 3.1 자바스크립트 실행 환경 브라우저와 Node.js 는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다. 하지만 브라우저와 Node.js는 서로 용도가 다르다. 브라우저는 html,css,js를 실행해 웹페이지를 브라우저에 렌더링이 하는게 용도이지만, Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주도니 목적이다. 브라우저와 Node.js 는 자바스크립트의 코어인 ECMAScript를 실행할 수 있지만 그 이외에 추가 기능은 호환하지 않는다. 예를 들면, 브라우저는 파싱된 HTML 요소를 선택하거나 조작하는 기능의 집합인 DOM API..

Javascript 2023.02.27

모던 자바스크립트 Deep Dive 02 자바스크립트

이 글은 위키북스의 모던 자바스크립트 Deep Dive를 읽고 정리한 글 입니다. 반박시 여러분의 의견이 맞습니다. 2.1 자바스크립트의 탄생 1995년, 약 90%의 시장 점유율로 웹 브라우저 시장을 지배하고 있던 넷스케이프는 웹 페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 하는데 그것이 자바스크립트 이다. 자바스크립트는 넷스케이프 내비게이터2에 탑재하였다. 이 때 이름이 여러번 바뀌게 되는데 이는 다음과 같다. 모카(Mocha) -> 라이브스크립트(LiveScript) -> 자바스크립트(JavaScript) 이렇게 탄생하게된 자바스크립트는 다양한 일이 있었지만 현재 브라우저의 표준 프로그래밍 언어로 자리 잡았다. 2.2 자바스크립트의 표준화 위에서 언..

Javascript 2023.02.07

모던 자바스크립트 Deep Dive 01 프로그래밍

이 글은 위키북스의 모던 자바스크립트 Deep Dive를 읽고 정리한 글 입니다. 반박시 여러분의 의견이 맞습니다. 1.1 프로그래밍이란 프로그래밍 = 컴퓨터에게 실행을 요구하는 커뮤니케이션 을 하기 위해서는 요구사항을 명확히 이애한 후 적절한 문제 해결 방은을 정의할 필요가 있는데 이때 문제 해결 능력 이 요구된다. 여기서 알아야 하는 건 문제 해결 능력 != 알고리즘 이 아니라는 뜻이다. 대부분의 요구 사항은 명확하지 않기 때문에 명확하게 이해하는 것이 우선적으로 되야하며 복잡함을 분해, 정리, 구분하여 순서에 맞게 행위를 배열해야 한다. 즉 프로그래밍은 0, 1만 아는 컴퓨터나 기계가 실행할 수 있게 정확하고 상세하게 요구사항을 설명하는 작업이라고 말할 수 있으며 그 결과물이 코드라는 것을 알 수 ..

Javascript 2023.02.04

블로그 이전 후기

아마 내 첫 개발 블로그(?)는 네이버 블로그였을 것이다. 내 주제에 맞지 않는 과동아리 회장을 맡게 되면서 뭔가를 해야겠다는 압박감때문에 만들었던 것 같은데 지금 내가 돌아보면 되게 웃긴 것 같다. 후에 시간에 지나 고3 말 취업을 하고 공부를 하면서 블로그에 적어놔야 겠다고 생각해서 네이버 블로그에서 Velog로 갈아탔다. 처음에 글을 조금씩 썼지만 후에 다시 늘어지기 시작하면서 약 1년 넘게 포스팅을 안 한 것 같았다. 그래도 작년 국비학원을 다니면서 스터디 때문에 다시 쓰기 시작했지만 계속 쳐지기 시작하면 다시 포스팅을 안했다. 계속 이러기엔 오히려 마이너스 요소인 것 같아서 올해는 다시 플랫폼을 옮겨서 티스토리에 올리기 시작하기로 맘을 먹었다. 그래도 이왕에 시작하는거 작심삼일이 될지 모르지만 ..

카테고리 없음 2023.02.02