API란 무엇인가? Youtube Data API 와 생성형 AI Gemini API 사용해보기
·
React
🔑A thousand theories are not worth one practical experience💡 API란 무엇인가?📃 API(Application Programming Interface)는 서로 다른 프로그램들이 상호작용할 수 있게 하는 인터페이스입니다. 쉽게 말해서, 레스토랑의 메뉴판과 같은 역할을 합니다. 손님(개발자)이 메뉴판(API)을 보고 주문(요청)을 하면, 주방(서버)에서 음식(데이터)을 만들어 제공하는 것과 같은 원리입니다. API를 통해 개발자들은 복잡한 기능을 직접 구현할 필요 없이, 이미 만들어진 기능을 쉽게 활용할 수 있습니다.💻CODE// API 요청의 기본 구조fetch('https://api.example.com/data', { method: 'GET', ..
[LG CNS AM INSPIRE CAMP 1기] 제네릭 Generic 완벽하게 이해하기
·
LG CNS AM CAMP 1기
🔑완벽하게 이해했나..?💡 제네릭 클래스 Generic Class📃 제네릭은 컴파일 시 타입을 지정하여 타입의 안정성을 보장하고 코드의 재사용성을 높이는 기능입니다. 이를 통해 타입을 명시하지 않고도 유연하게 데이터 타입을 처리할 수 있습니다💻Generic 예시class Box { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; }}public class MyTest { public static void main(String[] args) { // String 타입의 Box 생성 Box s..
[LG CNS AM INSPIRE CAMP 1기] AMaze 영상 메모 웹앱 구현 - VERSION 2
·
LG CNS AM CAMP 1기
🔑단단한 뿌리는 수많은 가지를 뻗게 한다💡 VERSION 2 업데이트 내용📃 지난 일주일 동안 짬나는 시간을 활용해 간단한 웹앱을 구현하고 Vercel에 배포했습니다.YouTube Data API를 활용할 아이디어를 고민하다가, 매일 아침 동국대로 출근하면서 생산적인 활동을 해보자는 생각이 들었습니다. 그래서 토스 Slash, 우아한 테크, 당근 테크 같은 기술 영상들을 보고 배운 점 딱 3가지만 정리하는 앱을 만들게 되었습니다💻Interface⬆️ 주요 기능은 사용자가 공부하고 싶은 영상을 선택하고, 해당 영상에 대한 배운 점을 작성할 수 있도록 구성되어 있습니다특히 학습 포인트를 3가지로 제한한 이유는, 단순히 "배운 점을 적어보라"는 요청보다는 구체적인 목표를 제시함으로써 사용자의 동기부여를..
[LG CNS AM INSPRIRE CAMP 1기] 최상위 객체 Object & final & abstract & interface 정리하기
·
LG CNS AM CAMP 1기
🔑월요일이 좋아질 수는 없는 걸까💡 최상위 클래스 Object📃 자바의 모든 클래스는 기본적으로 Object 클래스를 상속받습니다. 만약 어떤 클래스가 명시적으로 다른 클래스를 상속받지 않는다면, 컴파일러가 자동으로 해당 클래스가 Object를 상속받도록 처리합니다💻CODEclass A { // A는 Object 클래스를 자동으로 상속받습니다.}class B extends A { // B는 A를 상속받고, A를 통해 Object도 간접적으로 상속받습니다.}// 컴파일러에 의해 변환된 구조class A extends Object { // Object를 명시적으로 상속한 것과 동일}class B extends A { // 그대로 유지}⬆️ 모든 클래스는 Object..
[LG CNS AM INSPRIRE CAMP 1기]순차지향, 절차지향, 객체지향: 프로그래밍 패러다임 완벽 이해하기
·
LG CNS AM CAMP 1기
🔑어제의 나보다 더 나은 오늘의 나를 위해💡 순차지향📃 순차지향 프로그래밍은 말 그대로 프로그래밍이 순차적으로 진행되는 방식을 의미합니다. 과거 개발자들은 주로 어셈블리어(Assembly Language)라는 저수준 언어(Low-Level Language)를 사용하여 프로그램을 작성했습니다. 어셈블리어는 메모리의 세부적인 부분까지 하나하나 직접 정의하고 관리해야 했습니다. 이러한 방식이 순차지향 프로그래밍의 대표적인 예입니다💻CODEsection .data message db "Hello, World!", 0section .text global _start_start: mov rax, 1 ; 시스템 호출 번호 (write) mov rdi, 1 ..
[Java] JDK, JRE, JVM 뿌수기 그리고 자바 패키지 생성 및 실행 과정
·
Java
🔑새로운 시작💡 JDK, JRE, JVM의 관계📃 JDK는 Java Development Kit의 줄임말로서 자바를 개발할때 필요한 다양한 툴을 내포하고 있습니다. 대표적으로 javac는 java 소스코드를 컴파일 할때 사용하는 컴파일러이고, 뿐만 아니라 문서 생성 도구(javadoc), 디버거(jdb) 도 포함됩니다. 📃 JRE는 Java Runtime Environment의 줄임말로 자바 애플리케이션을 실행하기 위한 환경입니다. 📃 마지막으로 JVM (Java Virtual Machine)은 자바 바이트코드(.class 파일)를 기계가 이해할 수 있는 코드로 변환하여 실행합니다 💡 플랫폼 독립적📃 혹시 Mac을 사용해 보셨다면, .exe 파일이 열리지 않아 당황했던 경험이 있을 수 있습니..
[LG CNS AM INSPIRE CAMP 1기] AMaze 간단한 지식 공유 웹 애플리케이션 구현 - 프론트엔드를 마치며
·
LG CNS AM CAMP 1기
🔑 남들보다 10분 더 앉아있기...💡 프로젝트 소개 및 개요📃 프론트엔드 교육을 마치며, 배운 내용을 복습하고 정리하기 위해 간단한 지식 공유 웹 애플리케이션을 구현했습니다. 기존 프로젝트의 코드를 리팩토링하고 개선하여 제작한 이번 프로젝트는 학습 내용을 실전에 적용하고, 개발 프로세스를 다시 점검해볼 좋은 기회였습니다 💡 메인 Home📃 Home 페이지는 Header와 PostList로 나뉩니다 🔍  Header: 커스텀 컴포넌트로 구현되어 다른 페이지에서도 재사용이 가능합니다 🔍  PostList: map 함수를 사용해 데이터를 순회하며 PostItem 컴포넌트를 렌더링합니다 💻CODE// 커스텀 헤더} rightChild={}/>// PostList {sortedDate.map(..
React에서의 DOM 비교 최적화: Virtual DOM과 휴리스틱 알고리즘
·
React
🔑Writing Key Point in Posting💡 알고리즘 시간 복잡도: 왜 중요할까?📃 우리는 소프트웨어를 만들 때 속도가 중요한데, 그때 사용하는 개념이 바로 시간 복잡도입니다. 시간 복잡도는 프로그램이 얼마나 빨리 작동하는지, 즉 입력 데이터가 커지면 프로그램이 얼마나 오래 걸릴지를 알려주는 척도입니다💻O(n) & O( n² )// O(n)for(let i=0; i⬆️ 예를 들어, 우리가 처리해야 하는 데이터가 $ n $ 개라면, 시간 복잡도가 $$ O(n) $$  데이터가 두 배가 되면 처리 시간이 두 배로 늘어나고, $$ O(n^2) $$  데이터가 두 배가 되면 처리 시간이 네 배로 늘어납니다. 이처럼 알고리즘의 시간 복잡도는 우리가 다루는 데이터가 커질수록 얼마나 빨리 프로그램이..