-
TypeScript intro
정의& 구성 방법 TypeScript는 Microsoft에서 개발한 오픈소스 프로그래밍 언어로, 자바스크립트의 확장된 버전이다. TypeScript는 JavaScript에 타입 시스템을 추가한 언어로, 코드 작성 시 타입 안전성을 높여준다. Node.js에서 TypeScript를 적용하는 방법을 정리해보겠다. 1. TypeScr... Read More
-
Node.js intro
JavaScript 기초 문법 1. 변수 선언 JavaScript에서는 var, let, const를 통해 변수를 선언한다. var x = 10; let y = 20; const z = 30; var는 함수 스코프를 가지며, 호이스팅된다. let, const는 블록 스코프를 가지며, Temporal Dead ... Read More
-
Design & Architecture Patterns
개발을 하며 디자인 패턴과 아키텍처 패턴에 대한 다양한 정보를 접하고 적용한다. 어쩌면 습관처럼 사용해왔을지도 모르는 이러한 패턴들을 전체적으로 정리하고, 주요 패턴의 적용 사례를 살펴보자. Patterns 패턴이란 디자인 패턴, 아키텍쳐 패턴 등 여러가지로 구분된다. 자주 접하는 것은 디자인 패... Read More
-
Load Balancer
Load Balancer 로드 밸런서는 네트워크에서 들어오는 트래픽을 여러 서버에 분배하는 장치 또는 시스템이다. 이를 통해 애플리케이션의 성능을 향상시키고, 고가용성 및 확장성을 제공한다. 로드 밸런서는 기본적으로 클라이언트와 서버 간의 중개 역할을 하며, 트래픽을 적절하게 분배하여 서버에 과부하가 걸리지 않도록 한다.... Read More
-
DNS (Domain Name System)
Domain Name이란 ‘Domain Name’은 전 세계적으로 네트워크로 연결된 모든 컴퓨터를 식별하기 위해 사용되는 이름이다. 예를 들어, ‘startupcode.kr’이 도메인 이름에 해당한다. 인터넷은 전 세계의 컴퓨터 네트워크가 상호 연결된 거대한 네트워크이며, 각 컴퓨터는 고유한 IP 주소를 가지고 있다.... Read More
-
Type Casting
C++에서의 형 변환 (Type Casting) C++에서 형 변환(Type Casting)은 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정이다. 형 변환은 암묵적으로 자동으로 이루어질 수도 있고, 명시적으로 개발자가 지정할 수도 있다. 형 변환의 주요 유형 1. 암묵적 형 변환 (Implicit Conversion) 암묵적 형 변환... Read More
-
Error Handling
Java 예외처리 1. 예외처리 사용방법 Java에서 예외처리는 try, catch, finally 블록을 사용하여 이루어진다. 예외가 발생할 가능성이 있는 코드는 try 블록 안에 작성되고, 예외가 발생하면 해당 예외를 처리하는 코드는 catch 블록에 작성된다. finally 블록은 예외가 발생하든 발생하지 않든 실행되는 블... Read More
-
Range of Data Types
C++, Java, Python의 데이터 타입에 따른 메모리 용량과 값의 범위 이 글에서는 C++, Java, Python에서 사용되는 주요 데이터 타입에 대해 메모리 용량, 값의 범위, 그리고 운영체제나 하드웨어에 따른 차이점을 깊이 있게 설명한다. 각 언어에서 제공하는 데이터 타입은 표준에 따라 정의되지... Read More
-
C++ STL
1. STL 개요 C++ STL의 개념과 역사 STL은 “Standard Template Library”의 약자로, C++ 표준 라이브러리의 일부분이다. STL은 기본적으로 템플릿을 사용한 데이터 구조와 알고리즘을 제공하며, 주로 컨테이너(container), 반복자(iterator), 알고리즘(algorithm), 그리고 함수 객체(fu... Read More
-
Functions as Arguments in C++
C++에서 sort 함수와 같은 알고리즘을 사용할 때, 비교 함수(comparison function)를 인자로 전달할 수 있다. 비교 함수는 두 개의 인자를 비교하여 그들의 순서를 결정하는 역할을 한다. 예를 들어, std::sort 함수에서는 정렬 기준을 정의하는 비교 함수가 필요하다. 이 비교 함수는 단순히 두 값을 비교하는 함수이지만, 왜 함수가 인자... Read More
-
DDS (Data Distribution Service)
DDS(Data Distribution Service)는 객체 관리 그룹 OMG(Object Management Group)에서 개발한 데이터 중심 퍼블리시-구독(Publish-Subscribe) 통신 표준이다. 이 기술은 고성능, 저지연, 실시간 시스템에서 데이터 분배를 효율적으로 처리하기 위해 설계되었다. D... Read More
-
Database Clustering, Replication and Sharding
1. 데이터베이스 클러스터링 데이터베이스 클러스터링(Database Clustering)은 클러스터링은 동일한 데이터베이스를 여러 대의 서버가 관리하도록 클러스터를 구축하는 것을 뜻한다. 데이터베이스 시스템의 가용성, 성능, 확장성을 향상시키기 위해 여러 대의 데이터베이스 서버를 하나의 클러스터로 구성하는 기술이다... Read More
-
DB Tuning
데이터베이스 튜닝(DB Tuning)은 데이터베이스 성능을 최적화하기 위한 과정이다. 이는 데이터베이스 시스템의 응답 시간과 처리 성능을 개선하는 데 중점을 둔다. 데이터베이스 튜닝은 쿼리 성능, 서버 자원, 데이터 구조 등의 다양한 요소를 다룬다. 튜닝은 성능을 높이는 것뿐만 아니라, 시스템이 효율적으로 운영되도록 돕는 데 ... Read More
-
Transaction
트랜젝션(Transaction) 데이터베이스 시스템에서 일련의 작업을 하나의 단위로 처리하는 것을 의미한다. 이는 여러 작업을 하나의 단위로 묶어 데이터의 일관성과 무결성을 보장하고, 시스템 장애나 오류 상황에서도 데이터를 신뢰할 수 있게 한다. 1. 트랜잭션의 특성(ACID) 원자성(Atomicit... Read More
-
InnoDB
스토리지 엔진(Storage Engine) 스토리지 엔진(Storage Engine)이란, 데이터베이스에서 데이터를 저장, 관리, 검색하는 방법을 정의하는 소프트웨어 구성 요소이다. 각 스토리지 엔진은 데이터 파일을 다루는 고유한 방식과 알고리즘을 제공하며, 이를 통해 데이터 접근 방식, 성능 특성, 트랜잭션 지원... Read More
-
Modern C++
Moder C++란? 모던 C++는 C++11 표준부터 C++14, C++17, C++20, C++23과 같은 후속 표준에 도입된 고급 기능과 기법, 관용구들을 포함하는 C++ 언어의 최신 형태이다. 이 표준들은 언어의 효율성, 가독성, 안전성을 크게 개선하였다. 주요 기능은 다음과 같다: 스마트 포인터 (std::unique_ptr, std... Read More
-
volatile
C 언어에서 volatile 키워드는 특정 변수에 대해 컴파일러가 최적화하지 않도록 지시하기 위해 사용된다. 컴파일러는 프로그램 실행 속도를 높이기 위해 코드와 변수의 최적화를 시도하는데, 이는 일반적인 상황에서는 유리할 수 있지만, 시스템 프로그래밍이나 하드웨어 관련 프로그래밍에서는 문제가 될 수 있다. volatile 키워드는 이러한... Read More
-
memory barrier
메모리 장벽(memory barrier)은 컴퓨터 시스템에서 메모리 접근 순서를 제어하기 위해 사용하는 중요한 개념이다. 컴파일러와 프로세서가 메모리 접근의 순서를 재배치할 수 있는 현대 시스템에서 메모리 장벽은 특정 메모리 연산의 순서를 고정해 두는 역할을 한다. 이를 통해 메모리 접근의 일관성을 보장하고, 여러 스레드나 CPU 간의 ... Read More
-
Sorting Algorithms in C++
1. 버블 정렬 (Bubble Sort) 버블 정렬은 인접한 두 원소를 비교해 교환하며 정렬하는 알고리즘이다. 가장 큰 원소가 반복적으로 뒤로 이동하는 특성이 있다. 시간 복잡도: O(n^2) (평균, 최악) 장점: 구현이 간단하고, 정렬된 경우 비교 횟수가 줄어든다. 단점: 데이터가 많을 경우 비효율적이다. ... Read More
-
What is RTOS
실시간 운영 체제 (RTOS) 실시간 운영 체제(Real-Time Operating System, RTOS)는 응용 프로그램이 시간에 민감한 작업을 처리할 수 있도록 설계된 운영 체제이다. RTOS는 특정 시간 제약 내에서 작업을 수행해야 하는 시스템에 필수적이다. 이러한 시스템은 주로 임베디드 시스템, 항공 우주, ... Read More
-
Normalization in Relational Databases
관계형 데이터베이스 정규화 과정 관계형 데이터베이스에서 정규화(Normalization)는 데이터의 중복을 최소화하고 무결성을 유지하기 위해 데이터 구조를 체계적으로 구성하는 과정이다. 정규화는 여러 단계로 나누어지며, 각 단계는 특정한 목표를 가지고 있다. 정규화는 주로 다음과 같은 정... Read More
-
Understanding Data Units in Network Communication
네트워크에서는 다양한 계층과 환경에 따라 데이터 전송 단위들이 사용되며, 각각 고유한 목적과 역할을 가지고 있다. 주요 네트워크 데이터 단위를 아래에 정리하였다. 주요 네트워크 데이터 단위 비트 (Bit) 정의: 디지털 데이터의 가장 작은 단위로, 0과 1의 이진수로 표현된다. ... Read More
-
Understanding Network Errors
네트워크 에러는 다양한 원인으로 인해 발생하며, 각각의 에러는 네트워크 환경, 서버 상태, 구성 등에 따라 다르게 나타난다. 아래는 주요 네트워크 에러의 종류와 발생 원인, 설명을 정리한 것이다. 1. Connection Timeout 설명: 클라이언트가 서버에 연결을 시도할 때, 일정 시간 내에 연결이 성립... Read More
-
개발자 인터뷰를 위한 CS 개념 정리
서론 본 문서는 IT직무의 인터뷰 대비를 위함과 동시에 전공자라면 익혀야하는 기초 CS지식에 대하여 정리한 문서이다. 자료구조, 알고리즘, 운영체제, SW공학(개발 방법론), 네트워크, 데이터베이스 등 6가지 과목에 집중하여 작성되었다. 자료구조 1. Graph (그래프) 정의 그래프는 정점(Vertex)과... Read More
-
중간테이블에 복합키를 적용할 것인가
서론 나는 많은 프로젝트에서 ERD를 설계하며 다대다 테이블 혹은 일대다 관계의 엔티티를 정규화하여 표현하기 위해 중간 테이블을 두었다. 이때, 매핑관계가 레코드와 레코드가 고유하게 연결된다면 기본키 선젱에 있어 두 가지의 선택지가 생긴다. 관리를 위한 id 키를 추가한다. 고유하게 식별 가능한 두개 이상의 컬럼... Read More
-
Installing Linux on Your Laptop: A Step-by-Step Guide
개요 이 문서는 Intel 기반 노트북에 Ubuntu Server를 설치하는 과정을 설명한다. 설치를 위해 부팅 가능한 USB를 만드는 방법, BIOS 설정, 우분투 설치 단계 및 각종 설정을 안내한다. 또한 시스템의 아키텍처 종류와 관련 개념을 설명하여 사용자들이 설치에 필요한 기본 지식을 갖출 수 있도록 돕는... Read More
-
Redis: Concepts and Caching Techniques
Redis Redis란 1. Redis 개요 Redis는 오픈 소스 인메모리 데이터 구조 저장소로, 키-값 쌍 형태로 데이터를 저장하는 NoSQL 데이터베이스이다. Redis는 높은 성능과 유연성을 제공하며, 다양한 데이터 구조를 지원한다. Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용될 수 있다... Read More
-
NoSQL
NoSQL은 “Not Only SQL”의 약자로, 전통적인 관계형 데이터베이스 관리 시스템(RDBMS)와 다른 방식으로 데이터를 저장하고 처리하는 데이터베이스를 의미한다. NoSQL 데이터베이스는 높은 유연성과 확장성을 제공하며, 특히 대량의 데이터를 처리하고 분산 환경에서 사용될 수 있도록 설계되었다. 다음은 NoSQ... Read More
-
람다 함수를 사용한 커스텀 비교 함수(C++)
람다 함수란 람다 함수는 코드에서 직접 정의할 수 있는 익명 함수이다. C++의 경우 C++11부터 람다 함수를 사용가능하다. std::sort() sort( RandomIt first, RandomIt last ); std::sort는 헤더에 정의된 템플릿 함수입니다. 이를 통해 다양한 타입의 컨테이너와 요소를 정렬할 수 있습니다. 기... Read More
-
Spring Batch
Spring Scheduler vs Spring Batch Spring Scheduler와 Spring Batch는 Spring Framework에서 제공하는 작업 스케줄링 및 배치 처리 도구로, 각각의 목적과 기능이 다르다. 두 가지를 비교하고 차이점 및 장단점을 살펴본다. 1. Spring Schedul... Read More
-
Ranking Algorithm으로 Top 10 인기 강의를 구현하다
개요 문제 상황 ‘바다서원’프로젝트를 진행하던 중 Top10 강의를 제공하는 기능 구현이 요구되었다. 인기 강의 랭킹을 정하여 상위 10개를 반환하는 API를 개발해야한다. [요구사항] 수강자들에게 인기가 많으면 증가하고 시간이 지나면 점차 순위가 낮아지는 랭킹을 구현하라 해결방안 후보(Ranking Algo... Read More
-
Image Transfer Methods on the Web
1.서론 다양한 프로젝트에 참여하며 이미지나 비디오와 같은 파일을 전송하는 기능 구현이 빈번히 요구되었다. 당시에는 단순한 구현에 그치는 경우가 많았지만, 파일 전송은 오버헤드가 큰 작업으로 요구사항과 서비스 성능 등 여러 측면에서 신중한 고려가 필요하다는 점을 깨달았다. 또한, 현재 존재하는 다양한 구현 방식에 대한 자료들을... Read More
-
0-1 knapsack (DP)
정의 배낭 문제 중에는 물건의 무게를 쪼갤 수 있는 fraction knapsack 문제와 쪼갤 수 없는 0-1 knapsack 문제로 구분할 수 있다. 문제 평범한 배낭 문제(백준) 풀이 가로열에는 배낭의 크기를 입력하여 각 열은 가방이 j만큼의 무게를 감당할 수 있는 경우의 수이다. dp[i][j]에서 i는 i번째 물건까지 고려하면서 최대로 담을 수 있는 배낭... Read More
-
Understanding Python's Global Interpreter Lock (GIL) and Its Impact on Concurrency
Python의 멀티프로세싱, 멀티스레딩 스레드 모듈: Python은 threading 모듈을 통해 스레드를 생성하고 관리할 수 있으며, Thread 클래스를 사용하여 스레드를 생성한다. 상호 배제: Lock, RLock, Semaphore와 같은 동기화 객체를 사용하여 상호 배제를 구현할 수... Read More
-
WebRTC(Web Real-Time Communication)
WebRTC란 무엇인가 WebRTC(Web Real-Time Communication)란 WebRTC(Web Real-Time Communication)는 웹 어플리케이션 및 모바일 기기에서 별도의 소프트웨어나 플러그인 없이 음성, 영상 미디어, 텍스트, 파일과 같은 데이터를 주고받을 수 있는 기술이다. ... Read More
-
Scrum에 대하여
Agile 애자일은 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식 협업과 워크플로우를 바라보는 하나의 관점이며, 우리가 무엇을 어떻게 만들지에 관한 선택을 안내하는 가치 체계이다. Agile 프레임 워크 종류 Scrum kanban ... Read More
-
반응형 웹 디자인(responsive web design, RWD)
반응형 웹 디자인 (responsive web design, RWD) 정의 하나의 웹사이트에서 PC, 모바일, 태블릿 등 접속하는 디스플레이의 종류에 따라 화면의 크기가 자동으로 변하도록 만든 웹페이지 접근 기법 구현 방법 1. vanilla media query 사용 방... Read More
-
React intro
리엑트 프로젝트 시작하기 리엑트 프로젝트를 어떻게 구성하는지 기본 사용방법들을 알아보자 사용기술 react style component redux router-dom Link NavLink 반응형 웹디자... Read More
-
HTML form teg
form 테그 정의 form 태그는 정보를 제출하기 위한 대화형 컨트롤 구역 데이터를 백엔드 서버로 전송한다. 결과에 따른 다른 웹 페이지를 생성 속성 action : form이 submit 되었을 때 데이터가 향하는 주소(URL)... Read More
-
Understanding Cryptography: Key Concepts and Tools
개요 이 글은 암호화의 기본 개념과 주요 도구에 대해 설명하는 내용을 담고 있다. PGP, AES, RSA, SHA-256, OpenSSL, PKI 및 암호키교환 알고리즘과 같은 다양한 암호화 기술을 통해 데이터의 안전성과 무결성을 보장하는 방법을 살펴본다. PGP (Pretty Good Privacy) PGP는... Read More
-
C++ Smart Pointer
C++의 메모리 할당 C++에서의 메모리 할당은 크게 두 가지 방식으로 이루어진다. 스택 메모리와 힙 메모리이다. 스택 메모리는 자동으로 관리되며 함수가 종료되면 메모리가 해제되지만, 힙 메모리는 프로그래머가 명시적으로 메모리를 할당하고 해제해야 한다. 아래에서는 C++에서 메모리 할당을 수행하는 방법에 대해 예시와 함께 자세히 설명하겠다. ... Read More
-
C++의 가상함수
오버라이딩과 가상 함수 오버라이딩 (Overriding) 정의 및 특징 자식 클래스가 부모 클래스의 함수를 새롭게 정의하는 것 override 명시 override 키워드는 필수는 아니지만, 사용하는 것이 좋다. override 키워드는 컴파일러에게 해당 메서드가 기본 클래스의 가상 메서드를 오버라이드한다는 것을 명시적... Read More
-
Version의 종류
버전의 종류 Semantic Versioning (SemVer) MAJOR.MINOR.PATCH: 주 버전, 부 버전, 패치 버전으로 구성됩니다. MAJOR: 주요 변경사항이나 호환... Read More
-
Build cancelled while executing task
Build cancelled while executing task 에러메시지 Execution failed for task ':RestAPIApplication.main()'. > Build cancelled while executing task ':RestAPIApplication.ma... Read More
-
Linux 패키지 관리자
패키지 관리자 wget 파일 다운로드 명령어 Homebrew Homebrew, 일반적으로 “brew”라고 불리는 이 도구는 macOS 및 Linux에서 소프트웨어 패키지를 설치하고 관리하는 데 사용되는 패키지 관리자입니다. Homebrew는 특히 macOS에서 널리 사용됩니다. Debian 기반 배... Read More
-
Linux 명령어
자주 사용되는 명령어 명령어 정리 sudo : 관리자 권한으로 명령을 실행 apt : Debian 기반 리눅스 배포판(ububtu 등)에서 소프트웨어 패키지 관리 apt-get install : 패키지 설치 -y : 모든 질문에 자동 yes응답 apt... Read More
-
IP (Internet Protocol)
IP (Internet Protocol) 개요 IP(Internet Protocol)는 네트워크 상에서 장치들이 데이터를 주고받기 위해 사용하는 규약이다. IP는 데이터를 패킷 단위로 분할하고, 송신자와 수신자 간의 데이터를 올바르게 전달하기 위한 주소 체계를 사용한다. 네트워크 내 모든 장치는 고유의 IP 주소... Read More
-
Spring Boot web
Spring Boot Web build.gradle 설정 dependencies 블럭 implementation 'org.springframework.boot:spring-boot-starter-web' 사용 예시 기본 사용 법 코드예시 Main.... Read More
-
Bean 살펴보기
빈 생명주기 (bean lifecycle) 빈은 스프링 프레임워크에서 생성하고 관리하는 객체로 라이프 싸이클은 빈 객체가 생성되고 소멸되는 과정을 말한다. 로그 확인 방법 application.yml logging: level: root: INFO org.springframewo... Read More
-
Spring Security intro
환경 mysql Spring Boot 3.2.1 Spring Security 6.2.1 gradle jwt 0.12.3 주의 spring 시큐리티 2와 3은 내부 메서드가 많이 디프리케이드 되었다. 그러므로 구현이 다르다는 것을 주의하자 또힌 jwt 0.11.5 와 0.12.3역... Read More
-
Spring Boot static 파일 제공하기
Spring Boot에서 정적 파일 제공하기 기본 구조 Spring Boot는 src/main/resources/static 디렉토리를 통해 정적 리소스를 제공한다. 디렉토리에 파일을 저장하면 HTTP 요청을 통해 접근할 수 있다. 예를 들어, static/images 디렉토리에 이미지를 저장하면 ... Read More
-
Spring Boot 매개변수 이름 인식 오류
오류 2024-07-04T13:06:23.447+09:00 WARN 41872 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Ignoring exception, response commit... Read More
-
Processes and Threads: Concepts and Implementation Across Languages
프로세스(Process) 정의 컴퓨터에서 연속적으로 실행되고 있는 프로그램이다. 실행중인(메모리에 적재된) 프로그램 프로세스는 프로세스를 실행하기 위한 작업의 최소 단위인 테스크(Task)를 완료하기 위해서 자원(resources)가 필요 구조(Process Structure) Text S... Read More
-
Java Optional
Optional이란 무엇인가 Optional은 Java 8에서 도입된 클래스이다. 이는 null이 반환될 수 있는 메서드의 반환 타입으로 사용된다. Optional을 사용하면 값이 존재할 수도 있고, 존재하지 않을 수도 있는 상황을 명시적으로 처리할 수 있다. Optional은 다음과 같은 상황에서 유용하다: 명... Read More
-
CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조)
CSRF 란 CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조)는 사용자가 의도치 않은 요청을 특정 웹 애플리케이션에 보내게 함으로써 악의적인 행위를 수행하는 웹 보안 취약점이다. CSRF는 사용자가 이미 인증된 상태라는 점을 악용하며, 사용자가 모르게 서버에 요청을 보내도록 만들어 공격자... Read More
-
CORS(Cross-Origin Resource Sharing)
CORS 문제 CORS 문제는 프론트엔드와 백엔드가 서로 다른 도메인에 호스팅될 때 발생한다. 예를 들어, 프론트엔드가 https://frontend.example.com에, 백엔드는 https://api.example.com에 호스팅되는 상황을 생각할 수 있다. 기본적으로 웹 브라우저는 보안상의 이유로 서로 다른... Read More
-
Spring Boot 시작하기
Spring Boot란 스프링 프레임워크를 더 쉽게 사용할 수 있도록 만들어진 확장 프레임워크로, 초기 설정을 자동화하고 내장 웹 서버를 제공하여 빠르게 애플리케이션을 개발할 수 있게하는 도구 Spring Boot의 특징 관습에 의한 설정(Convention over Conf... Read More
-
웹소켓 (WebSocket)
웹소켓(WebSocket)은 HTML5 표준의 하나로, 클라이언트와 서버 간의 양방향 통신을 가능하게 하는 네트워크 프로토콜이다. HTTP 기반의 요청-응답 방식의 한계를 극복하고 실시간 통신을 구현하기 위해 도입되었다. 웹소켓 연결을 통해 한 번의 핸드셰이크로 연결이 성립되면 클라이언트와 서버는 별도의 요청 없이 양방... Read More
-
Spring gradle jar 생성
jar 파일 빌드, 실행, 삭제 jar 생성 build/libs안에 jar파일 생성 윈도우 ``` gradlew.bat build ``` 리눅스 ``` ./gradlew build ``` IntelliJ에서 UI로 실행 : Gradle 탭에서 Tasks > build 안에 실행 가능한 bo... Read More
-
MySQL nodejs 에러
1. MySQL의 user설정시 localhost는 %와 다르다. ‘name’@’%’ 유저가 ‘name’@’host’로는 접속 불가 %는 모든 ip에 대해 허용하지만 localhost는 허용하지 않는다. 그러므로’name’@’localhost’추가 설정 필요 2. Sequelize createdAt, updatedAt 자동생... Read More
-
express Redis 연동
요약 Key-Value형식의 NoSQL의 장점을 활용하여 데이터 검색이 빈번한 SessionID를 저장하는 db를 구현하다. Mac Redis 설치, 운용 설치하기 1. 설치 brew install redis sudo apt-get install redis-server 2. 버전확인 redis-server --version ... Read More
-
express Mysql 연동
요약 다른 web framework와 마찬가지로 express도 sql을 직접사용하는 방법과 ORM을 이용한 방법이 있다. 트래픽이 크지 않은 서비스라면 ORM을 이용한 방법을 추천하며, ORM을 위한 앤티티 객체를 작성할때 자동생성하는 라이브러리를 사용하는 방법까지 추천하다. 서버 코드에서 SQL을 직접 이용하는 방법... Read More
-
Daphne Intro
Daphne는 Django Channels 프로젝트의 일부로, ASGI(Asynchronous Server Gateway Interface) 프로토콜을 구현하는 웹 서버이다. Django는 기본적으로 WSGI(Web Server Gateway Interface) 서버로 동작하지만, Daphne는 비동기 기능을 필요... Read More
-
CGI, WSGI, ASGI
CGI, WSGI, ASGI는 웹 서버와 웹 애플리케이션 간의 통신을 위한 프로토콜이다. 각각의 기술은 특정한 요구사항과 사용 사례에 맞춰 발전해왔다. 이 문서에서는 각 기술의 정의, 동작 방식, 장단점을 설명한다. CGI (Common Gateway Interface) CGI는 웹 서버와 웹 애플리케이션 간의 표준 ... Read More
-
[프로젝트] OpenSesame
요약 기간: 2022.09.01 ~ 2022.12.03 사용 도구: c, OpenSSL, OP-TEE, ARMTrustzone, PGP, ubuntu 깃헙 리파지토리: 깃헙 리파지토리 링크 OpenSesame(열려라 참깨) 경희대학교 국제캠퍼스 22’ 2학기 캡스톤 프로젝트 2022 한국소프트웨어종... Read More
-
[프로젝트] 바다서원
Github | Blog 개인 라이브 강의 플랫폼 바다서원의 프로젝트 소개입니다. [](mailto:ktb.nemo@g... Read More
-
[프로젝트] Mungpy
Github | Blog 나와 닮은 유기견 매칭 서비스 '멍피'의 이미지 리파지토리 입니다.</br> 카카오X구름 제주 해커톤 카카오 대표이사상 (3위) 수상작으로 유저의 이미지를 업로드 하면 그와 닮은 유기견 이미지를 추천해주는 서비스 입니다. ... Read More
-
[프로젝트] Intrusion-Detection-System
요약 기간: 2023.04.01 ~ 2023.06.01 사용 도구: django ,DRF, python, Yolo, Pytorch, ai 깃헙 리파지토리: 깃헙 리파지토리 링크 요약 Yolo 알고리즘을 이용하여 카메라에 확인된 침입자(객체)를 판단하고 이를 웹사이트로 전송하여 사용자가 확인 가능하게 한다. 설... Read More
-
[프로젝트] Blog
This Project hosts a personal blog powered by Jekyll and deployed through GitHub Pages. The blog features a customized user interface with a toggleable, tree-structured c... Read More
-
[프로젝트] ACA
요약 기간: 2024.05.14 ~ 2024.05.28 사용 도구: java17 깃헙 리파지토리: 깃헙 리파지토리 링크 요약 이 프로그램은 같은 알고리즘 문제에 대한 두 가지의 코드를 각 테스트 케이스에 대해 컴파일, 빌드, 실행하여 결과와 수행 시간을 비교합니다. 의의 백준과 같은 프로그램에는... Read More
-
[프로젝트] LectBox
요약 기간: 2022.03.15 ~ 2022.06.01 사용 도구: django, DRF, python3, AWS, EC2, S3, CloudFront FE깃헙 리파지토리: FE 깃헙 리파지토리 링크 BE깃헙 리파지토리: BE 깃헙 리파지토리 링크 LectBox ‘22 봄학기 클라우드컴퓨팅 수업 프로젝트... Read More
-
[프로젝트] Bottles
익명 고민상담 SNS 요약 기간: 2023.08.01 ~ 2024.02.01 사용 도구: django, DRF, python3, AWS, EC2, S3, CloudFront FE깃헙 리파지토리: FE 깃헙 리파지토리 링크 BE깃헙 리파지토리: BE 깃헙 리파지토리 링크 🍶 Bottles 개요 ... Read More
-
[프로젝트] Scan-To-Image-Predictor
Scan-To-Image-Predictor 스캔된 이미지를 기반으로 원본 이미지를 예측하는 딥러닝 모델 구현 프로젝트 프로젝트 주제: Descanning 스캔된 이미지를 원본 이미지와 같은 고화질 이미지로 추론하는 딥러닝 모델을 구현한다. 모델 후보 DnCNN: 가우시안 노이즈를 제거... Read More
-
[프로젝트] Decide4Me
Decide4Me 프로젝트 소개 요약 기간: 2024.05.15 ~ (진행중) 사용 도구: Spring, React, Docker, Kubernetes, Mysql, Node.js, Vanilla JS FE깃헙 리파지토리: FE 깃헙 리파지토리 링크 BE깃헙 리파지토리: BE 깃헙 리파지토리 링크 ... Read More
-
JCF: Java Collections Framework
컬렉션 (Java Collections Framework, JCF) 자바 컬렉션 프레임워크(Java Collections Framework, JCF)는 데이터 구조를 효율적으로 다룰 수 있도록 자바에서 제공하는 클래스와 인터페이스의 집합이다. 이를 활용하면 데이터 저장, 검색, 수정, 삭제 등의 작업을 간편하게... Read More
-
Java Intro
본 문서는 다른 언어를 통해 언어, 객체지향에 대한 기본 개념이 있는 개발자가 JAVA를 빠르게 이해하기 위한 문서입니다. Java는 제임스 고슬링(James Gosling)이 개발하였다. 1995년 Sun Microsystems에서 처음 발표되었으며, 현재는 Oracle에서 관리하고 있다. Java는 엄... Read More
-
OP-TEE
실험환경 구분 환경 디바이스 프로세서 OS(REE) TEE 이론 도어락 FreeRTOS Cortex-M FreeRTOS KHU-T... Read More
-
Bidirectional Communication Implementation in C Using Raspberry Pi
1. Wi-Fi Wi-Fi는 무선 LAN(Wireless Local Area Network) 기술의 일종으로, 사용자들이 인터넷에 무선으로 연결할 수 있게 해주는 표준이다. Wi-Fi 기술은 IEEE 802.11 표준을 기반으로 하며, 다양한 주파수 대역(2.4GHz 및 5GHz)에서 동작한다. Wi-Fi는 고속 데이터 전송... Read More