Developer, Jiyong Kim

고정 헤더 영역

글 제목

메뉴 레이어

Developer, Jiyong Kim

메뉴 리스트

  • 홈
  • 방명록
  • Categories (29)
    • Development (6)
      • Algorithm (1)
      • Frontend (5)
      • Backend (0)
    • 자격증 (1)
      • SQLD (1)
      • 리눅스마스터 (0)
    • Information Technology (19)
      • Computer Science (14)
      • 기술 트렌드 (2)
      • Articles (1)
      • etc. (2)
    • 일상 (3)
      • 개발자의 일상 (3)

검색 레이어

Developer, Jiyong Kim

검색 영역

컨텐츠 검색

Information Technology

  • LLM을 이용한 AI 코드 리뷰

    2024.07.02 by Developer, Jiyong Kim

  • [Git] git stash로 작업 임시 저장하기

    2024.07.02 by Developer, Jiyong Kim

  • UML(Unified Modeling Language) 다이어그램

    2024.07.01 by Developer, Jiyong Kim

  • [자료구조] 스택(Stack), 큐(Queue), 힙(Heap)

    2024.05.13 by Developer, Jiyong Kim

  • [개발 방법론] 폭포수(Waterfall) 방법론 vs 애자일(Agile) 방법론

    2024.05.09 by Developer, Jiyong Kim

  • [개발 기법] TDD(Test-Driven Development, 테스트 주도 개발)

    2024.05.06 by Developer, Jiyong Kim

  • 프레임워크(Framework) vs 라이브러리(Library)

    2024.05.05 by Developer, Jiyong Kim

  • 재귀 함수/재귀적 호출(Recursion Function/Recursion Call)

    2024.05.05 by Developer, Jiyong Kim

LLM을 이용한 AI 코드 리뷰

시간은 금이다: LLM을 이용한 AI 코드 리뷰 도입기( 출처: NAVER D2 ) LLM을 사용한 자동화 코드리뷰 후기(Github Copilot Chat)85%의 개발자가 코드 품질에 대한 향상을 느낌코드 리뷰 및 피드백에 대한 시간이 15% 향상됨88%의 개발자가 자동화 코드리뷰를 지속하고 싶다고 함네이버의 AI 코드리뷰 도입기24년 출시한 Meta의 Llama3 700B 모델 채택채택 이유: 오픈소스, 라이선스문제 없음,  15조 개의 Token으로 훈련됨, Tokenizer가 매우 커서 한정된 리소스로 실행시키기 적합하다고 판단코드 리뷰 기준Pre-condition Check: 함수나 메서드가 올바르게 작동하기 위해 필요한 변수의 상태나 값의 범위를 가지고 있는지 검사Runtime Error C..

Information Technology/기술 트렌드 2024. 7. 2. 14:18

[Git] git stash로 작업 임시 저장하기

git stash는 삭제하기는 아깝고 쓰기에는 아쉬운 상황에, 혹은 작업을 하다가 겹치는 파일에 우선순위가 높은 다른 작업을 해야하는 경우 유용하게 활용할 수 있다. stash는 트래킹 되고 있는 파일에만 적용 되며, 새로 생성한 파일은 stash로 관리할 수 없다는 것에 유의하자. git stash: commit이후로 변경된 모든 사항들이 stash 공간으로 이동git stash git stash save "message": 메시지와 함께 stash를 저장(commit 메시지랑 비슷한 개념)git stash save "work in process on feature signup" git stash list: 저장된 stash 확인하기(각 stash는 인덱스와 함 표시)git stash list// $ ..

Information Technology/etc. 2024. 7. 2. 12:10

UML(Unified Modeling Language) 다이어그램

UML(Unified Modeling Language) 다이어그램은 소프트웨어 시스템의 설계 및 구조를 시각적으로 표현하는데 사용되는 표준화된 모델링 언어이며, 특히 복잡한 시스템을 설계하고 문서화하는 데 유용하다. UML 다이어그램은 '구조'와 '행위'라는 두 가지 범주로 나눌 수 있으며, 구조 다이어그램은 시스템의 정적 구조를 설명하는 데 사용되고, 행위 다이어그램은 시스템의 동적 동작을 설명하는 데 사용된다. 각각의 다이어그램은 아래와 같이 분류된다. 구조 다이어그램- Class Diagram(클래스 다이어그램)- Object Diagram(객체 다이어그램)- Package Diagram(패키지 다이어그램)- Component Diagram(컴포넌트 다이어그램)- Deployment Diagram(..

Information Technology/Computer Science 2024. 7. 1. 15:31

[자료구조] 스택(Stack), 큐(Queue), 힙(Heap)

자료구조란 데이터를 효율적으로 저장하고 관리할 수 있도록 하는 구조를 말한다. 자료구조를 공부하다보면 특히 스택(Stack), 큐(Queue), 힙(Heap)에 대해 많이 얘기를 듣게 된다. 그만큼 활용도가 높고 많이 사용되기 때문이다. 하나씩 알아보도록 하자. 1. 스택(Stack) 스택은 "LIFO (Last In, First Out): 후입선출"의 원칙을 따르는 자료 구조로, 마지막에 들어간 데이터가 가장 먼저 나오는 특징을 가지고 있다.스택은 단어 뜻 그대로 쌓아진 물건을 생각하면 쉽다. 예를 들어 접시를 쌓아놓고 사용하면 맨 위에 있는 접시부터 꺼내서 사용하는 것을 생각하면 된다.사용 예시: 웹 브라우저의 뒤로 가기 기능에서 스택이 사용될 수 있다. 사용자가 사이트를 방문할 때마다 해당 주소를 ..

Information Technology/Computer Science 2024. 5. 13. 00:03

[개발 방법론] 폭포수(Waterfall) 방법론 vs 애자일(Agile) 방법론

개발 방법론은 다양하다. 그 중 가장 흔히 사용하는 폭포수 방법론과 애자일 방법론에 대해 알아보자. 폭포수 방법론은 "탑다운"방식으로, 순차적이고 단계적인 프로세스를 따른다. 요구사항 정의, 설계 및 디자인, 개발 및 구현, 테스트, 배포 및 관리 등의 단계를 차례대로 진행하는 것이다. 주요 특징으로는 (1) 각 단계가 완료되어야 다음 단계로 넘어갈 수 있고, (2) 프로젝트 초기에 요구사항이 명확히 정의되어야 한다. 그러다보니 변경 사항을 수용하기 어렵고 유연성이 부족하다. 폭포수 방법론은 대규모 프로젝트에 적합하며, 예측가능한 결과물을 예측 가능한 시간에 내는 데에 중점을 두는 방법론이다. 애자일 방법론은 점진적인 개발 프로세스를 따른다. 폭포수 방법론을 짧은 주기(스프린트)로 나누어 개발하는 방법이..

Information Technology/Computer Science 2024. 5. 9. 21:31

[개발 기법] TDD(Test-Driven Development, 테스트 주도 개발)

TDD란 Test-Driven Development의 약자로, 테스트 주도 개발을 말한다. 개발을 할 때, 기능을 작은 단위로 쪼개고, 해당 단위의 테스트 케이스를 만든 후에 코드를 작성하는 방식의 개발방법론이다. TDD방식은 우선 코드가 깨끗하고, 디버깅에 드는 시간과 노력을 줄일 수 있다. 또한 개발자가 요구사항을 명확하게 이해하도록 도와 더 좋은 설계와 개발을 할 수 있도록 하며, 추후 기능 변경이나 코드 구조 변경(리팩토링)이 용이해진다는 장점이 있다. 아래는 파이썬의 unittest 라이브러리를 사용한 TDD 방법론의 간단한 예시이다. 우선 필요한 코드를 작성한다.class Calculator: def add(self, a, b): return a + b이후 아래와 같이 테스트..

Information Technology/Computer Science 2024. 5. 6. 13:11

프레임워크(Framework) vs 라이브러리(Library)

프레임워크와 라이브러리는 둘 다 소프트웨어 개발을 돕기 위해 사용되는 개발 도구이다. 둘의 차이점은 사용 방식과 제어 흐름의 권한을 누가 가지고 있느냐에 있다. 쉽게 비유하자면 집을 짓는다고 했을 때, 프레임워크는 설계도와 구조도를 제공하는 것이고, 라이브러리는 공구나 자재를 제공하는 것과 비슷하다고 할 수 있다. 프레임워크는 사용자가 그들이 규정한 규칙과 방식을 따르며 정해진 틀에 맞게 개발을 진행한다. 즉, 프레임워크가 전체 흐름을 제어하며 개발자는 프레임워크가 요구하는 대로 코드를 작성하여 채워 나가는 방식으로 작업을 한다. 개발자가 아닌 프레임워크가 프로그램의 흐름을 제어한다는 점에서 "Inversion of Control(제어의 역흐름)"이라고도 한다. 라이브러리는 특정 기능을 수행하는 코드의 ..

Information Technology/Computer Science 2024. 5. 5. 13:04

재귀 함수/재귀적 호출(Recursion Function/Recursion Call)

프로그래밍을 하거나, 알고리즘을 공부하다보면 꼭 만나게 되는 것이 재귀 함수이다. 재귀는 한 번 이해하면 쉬운 개념이지만, 한번에 이해가 샤라락 되는 난이도는 아니다. 적어도 나는 그렇다. 재귀는 말 그대로 반복 혹은 되풀이를 뜻하며 재귀 함수, 재귀적 호출 모두 같은 말이다. 영어로는 Recursive Call 혹은 Recursive Fucntion이라고 한다. 함수 내에서 자기 자신을 계속 재호출하는 형태를 말한다. 보통 재귀 함수는 원하는 결과값을 얻기까지 반복해서 이루어진다. 가장 대표적인 재귀 함수의 예로 팩토리얼(Factorial)이 있다. 아래는 재귀 함수를 코드로 구현한 예시이다. 자기 자신을 호출하여 n-1을 계산하고, 이 값에 n을 곱하는 과정을 n이 1이 될 때까지 반복하여 최종 값을..

Information Technology/Computer Science 2024. 5. 5. 00:05

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
Developer, Jiyong Kim © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바