본문 바로가기

분류 전체보기

(54)
자바스크립트 변수 선언 방법 비교 var, let, const 자바스크립트 변수 선언 방법 비교 var, let, const 1: 자바스크립트의 변수 선언 방식 변수는 프로그래밍에서 핵심적인 개념 중 하나입니다. 자바스크립트에서는 다른 언어와 달리 여러가지 변수 선언 키워드를 제공합니다. var부터 최신 ES6에 도입된 let과 const까지 살펴보겠습니다. 2: 각각의 변수 선언 키워드(var vs. let vs. const) var: - 함수 스코프를 가집니다. - 호이스팅 현상으로 인해 먼저 정의되기 전에도 사용할 수 있습니다. - 재선언이 가능합니다 . let: - 블록 스코프를 가집니다. - 호이스팅 현상은 발생하지만 초기화되기 전까지 접근할 수 없습니다. - 재선언은 불가능하며, 값의 변경은 가능합니다 const: - 블록 스코프를 가집니다. - 상수로서..
Docker Compose 개념과 사용법 명령어 정리 Docker Compose 개념과 사용법 명령어 정리 Docker Compose는 여러 개의 컨테이너를 정의하고 관리하기 위한 도구입니다. 이 글에서는 Docker Compose의 기본 개념과 활용 방법에 대해서 알아보겠습니다. Docker Compose 개요 Docker Compose는 도커 컨테이너간의 관계, 네트워크 및 볼륨 설정 등을 간략한 구성을 통해 관리할 수 있는 도구입니다. 이를 통해 애플리케이션의 여러 구성 요소들을 쉽게 묶어 관리할 수 있으며 YAML 형식의 파일로 작성됩니다. Docker Compose 설치 및 실행 a) 설치 Windows 및 Mac의 경우: Docker Desktop 설치시 자동으로 포함됩니다. https://www.docker.com/products/docker-..
도커(Docker) 명령어 총 정리 도커(Docker) 명령어 총 정리 Docker는 컨테이너 기술을 기반으로 애플리케이션을 실현하는 가상화 플랫폼입니다. 도커에서 자주 쓰이는 명령어에 대해 알아보겠습니다 Docker 개요 Docker는 컨테이너 기술을 활용하여 애플리케이션과 필요한 라이브러리 및 종속성을 묶어 하나의 패키지로 관리할 수 있는 플랫폼입니다. 이를 활용하면 코드, 라이브러리, 시스템 도구 등을 포함한 완전한 개발 환경을 쉽게 이식 및 배포할 수 있습니다. 자주 사용하는 도커 명령어 a) 이미지 관련 명령어 도커 이미지 목록 조회: docker images 이미지 받기(pull): docker pull 이미지 삭제: docker rmi 이미지 업로드(push): docker push 이미지 태그(tag): docker tag ..
서울 3대 돈까스 맛집 합정 크레이지 카츠 방문 후기 서울3대 돈까스 , 돈카츠 맛집 합정 크레이지 카츠이다. 워낙 대기 웨이팅이 많다고 해서 엄두도 못내다가 테이블링 앱으로 미리 예약하고 가면 괜찮다는 후기를 보고 방문했다. 내 차례가 오면 10분안으로 입장 해야한다 2명에서 시킨 크레이지 세트 로스카츠가 제일 맛있는데 한정수량이여서 빨리 가는걸 추천한다. 전체적으로 튀김옷이 엄청 얇으면서 바삭하면서 식감이 좋아서 다 맛있다 개인적인 순위는 로스 -> 등심 -> 안심 둘이서 겨우 다 먹었다 아무래도 튀김류라 빨리 질린다 너무 오래 기다려서 먹는건 추천하지 않고 테이블링 앱을 잘 활용하여 방문 하면 좋을것같다 재방문의사 있음!
모놀리식 마이크로서비스 아키텍처 차이점과 장단점 모놀리식 마이크로서비스 아키텍처 최근 IT 관련 아티클들을 둘러보면 모놀리스로부터 마이크로서비스 아키텍처로 전환하는 이야기가 빈번하게 보입니다. 이런 이야기들을 통해 대두되는 모놀리스와 마이크로서비스는 각각 소프트웨어 아키텍처 패턴에 대한 개념입니다. 특히, 꽤 최근에 등장한 마이크로서비스 아키텍처 때문에 두 가지 패턴 사이에서 비교가 자주 이루어집니다. 이 두 패턴은 서로 다른 장점과 단점을 가지고 있습니다. 지금부터 두 개의 아키텍처 패턴에 대해 자세히 살펴보도록 하겠습니다. 모놀로식(Monolithic) 모놀로식(Monolithic) 아키텍처는 하나의 소프트웨어를 구성하는 모든 모듈과 코드를 한 프로젝트에서 통합적으로 관리한다는 의미입니다. 이 방식에서 애플리케이션을 가동하기 위해서는 프로젝트를 실..
Django에서 Raw SQL Query 사용하기: 사용 사례와 주의 사항 Django는 기본적으로 ORM(Object-Relational Mapping)을 사용하여 데이터베이스 관련 작업을 처리합니다. 하지만 경우에 따라 직접 작성한 SQL 쿼리를 실행하는 것이 필요할 수 있습니다. 이 글에서는 Django에서 Raw SQL Query를 사용하는 방법과 사용 사례, 주의 사항을 살펴보겠습니다. Raw SQL Query 사용 방법 Django에서 직접 작성한 SQL 쿼리를 실행하려면, raw() 메서드를 사용할 수 있습니다. raw() 메서드는 주로 모델의 매니저(Manager)에 사용되며, 원하는 SQL 문을 실행한 후 그 결과를 모델 인스턴스로 반환합니다. 예시: python from django.db import models class MyModel(models.Model..
Django REST Framework(DRF) Serializer 이해하기, 장단점 Django REST Framework(DRF)는 Django 기반의 웹 API 개발을 위한 프레임워크입니다. 이 글에서는 DRF에서 중요한 역할을 하는 Serializer에 대해 알아보겠습니다. Serializer란? Serializer는 Django REST Framework에서 데이터의 직렬화(Serialization)와 역직렬화(Deserialization)를 담당하는 컴포넌트입니다. Django의 Model 인스턴스나 QuerySet을 JSON, XML 등의 컨텐츠 형태로 변환하거나, 반대로 클라이언트로부터 전달받은 데이터를 Model 인스턴스로 변환하는 작업을 수행합니다. Serializer는 데이터 유효성 검사와 같은 추가 기능도 제공합니다. Serializer 사용 방법 기본적으로 DRF에..
스택(Stack)과 큐(Queue): 개념과 활용 방법 스택(Stack)과 큐(Queue): 개념과 활용 방법 스택(Stack)과 큐(Queue)은 자료구조의 기본 개념 중 하나입니다. 이 글에서는 스택과 큐의 개념, 내부 동작 방식, 그리고 각각의 활용 방법에 대해 살펴보겠습니다. 스택(Stack) 스택은 후입선출(LIFO, Last-In-First-Out)의 구조를 가진 자료구조입니다. 스택의 내부 동작 방식은 데이터의 삽입(push)과 제거(pop)가 동일한 쪽에서 이루어지며, 최상위 항목(top)에만 접근이 가능합니다. 스택의 활용 방법으로는 함수 호출(Stack-based memory allocation) 등이 있습니다. 큐(Queue) 큐는 선입선출(FIFO, First-In-First-Out)의 구조를 가진 자료구조입니다. 큐는 데이터의 삽입(e..
해시 테이블(HashTable): 개념 및 활용 방법 해시 테이블(HashTable): 개념 및 활용 방법 해시 테이블(HashTable)은 데이터를 저장하는 자료구조 중 하나입니다. 이 글에서는 해시 테이블의 개념, 내부 동작 방식 및 활용 방법 등을 살펴보겠습니다. 해시 테이블이란? 해시 테이블은 키(key)와 값(value)을 쌍으로 저장하는 자료구조로, 특정한 값을 입력하면 해당 값이 저장되어 있는 위치를 반환하는 해시 함수(hash function)로 액세스할 수 있습니다. 해시 테이블은 데이터 검색 속도가 빠르다는 장점이 있으며, 데이터의 삽입, 삭제, 검색 등 다양한 작업에 적합합니다. 해시 함수와 해시 충돌 해시 함수는 임의의 길이를 가진 입력 값에 대해 고정된 길이의 결과 값을 반환하는 함수입니다. 해시 함수는 입력 값이 동일하면 항상 동일..
자바스크립트를 활용한 브라우저 개발자 도구 차단 방법 자바스크립트를 활용한 브라우저 개발자 도구 차단 방법 브라우저 개발자 도구는 웹 개발자들이 웹 페이지의 코드를 디버깅하고 분석하는 데 유용한 도구입니다. 그러나 때로는 보안 및 저작권 문제로 인해 개발자 도구의 사용을 제한하고 싶을 수도 있습니다. 이 글에서는 자바스크립트를 사용하여 브라우저 개발자 도구를 차단하는 방법과 보안의 한계에 대해 알아보겠습니다. 브라우저 개발자 도구 차단 방법 자바스크립트를 사용하여 브라우저 개발자 도구의 사용을 차단할 수 있지만, 이는 완벽한 차단이 아닌 일시적인 방법에 불과합니다. 일반적으로 다음과 같은 방법들을 사용하여 개발자 도구의 사용을 어렵게 만들 수 있습니다. 아래는 예시 코드입니다: document.addEventListener('keydown', functio..
자바스크립트 우클릭 방지: 빠르고 간편한 구현 방법 자바스크립트 우클릭 방지: 빠르고 간편한 구현 방법 자바스크립트를 사용하여 웹 페이지에서 우클릭을 방지하고, 원하는 요소의 보호와 사용자 경험을 향상시킬 수 있습니다. 이 글에서는 자바스크립트를 이용한 우클릭 방지 기능의 구현 방법과 주의점을 다루겠습니다. 자바스크립트를 사용한 우클릭 방지 구현 자바스크립트를 사용하여 웹 페이지 전체를 대상으로 우클릭 방지를 구현하는 방법은 다음과 같습니다. javascript document.addEventListener("contextmenu", function (e) { e.preventDefault(); // 우클릭 메뉴를 방지하도록 기본 동작 제거 }); 특정 요소에 대해서만 우클릭 방지를 구현하려면 해당 요소에 이벤트 리스너를 등록합니다. javascript ..
파이썬 스페셜 메소드(Special Method): 이해와 사용법을 통한 효율적인 클래스 구현 파이썬 스페셜 메소드(Special Method) 매직 메소드 : 이해와 사용법을 통한 효율적인 클래스 구현 파이썬 클래스를 구현할 때 스페셜 메소드를 사용하면 더욱 풍부하고 직관적인 기능을 제공하는 객체를 만들 수 있습니다. 이 글에서는 파이썬 스페셜 메소드에 대해 알아보고 활용법을 설명하겠습니다. 스페셜 메소드(Special Method)란? 스페셜 메소드는 클래스 내부에서 미리 정의된 특별한 메소드로, 파이썬 인터프리터가 이를 인식하여 클래스와 인스턴스에 특별한 기능을 추가합니다. 이러한 메소드는 주로 두 개의 underscore(_)로 둘러싸이며, double underscore 또는 "dunder" 메소드라고도 불립니다. 주요 스페셜 메소드 다음은 파이썬에서 제공하는 주요 스페셜 메소드의 예입니..
트리(Tree) 자료구조의 이해와 활용: 특징, 구현 및 사용 사례 알아보기 트리(Tree)는 계층적인 구조를 가진 자료구조로, 많은 분야에서 사용되며 효율적인 검색, 정렬 등의 연산을 가능하게 합니다. 이 글에서는 트리 자료구조의 특징, 구현 및 사용 사례를 살펴보겠습니다. 트리(Tree) 자료구조란? 트리는 계층 구조를 가진 노드(Node)로 구성된 비선형 자료구조입니다. 트리에는 루트 노드(Root Node), 부모 노드(Parent Node), 자식 노드(Child Node) 등으로 구성되며, 이러한 관계를 통해 일련의 노드들이 연결됩니다. 주요 용어로는: 루트 노드(Root Node): 트리 구조의 첫 번째 노드로, 모든 노드의 조상입니다. 부모 노드(Parent Node): 자식 노드를 가지고 있는 노드입니다. 자식 노드(Child Node): 한 노드에 연결된 하위 ..
ArrayList와 LinkedList 비교: 특징, 성능 차이 및 활용 상황 파악하기 자료구조의 선택은 프로그래밍의 효율성과 성능에 큰 영향을 미칩니다. ArrayList와 LinkedList는 서로 다른 특성을 가진 리스트 구조입니다. 이 글에서는 두 자료구조의 특징, 성능 차이 및 활용 상황을 알아보겠습니다. ArrayList와 LinkedList의 특징 ArrayList: 동적 배열로 구현된 리스트로, 인덱스를 사용하여 원소에 빠르게 접근할 수 있습니다. 원소 삽입/삭제 시 모든 원소를 이동시켜야 한다는 단점이 있습니다. LinkedList: 노드를 통해 이전/다음 원소와 연결되어 있는 리스트입니다. 원소 삽입/삭제가 빠르지만, 원소에 접근하려면 앞에서부터 순차적으로 찾아야 하는 단점이 있습니다. 성능 차이 원소 접근: ArrayList가 인덱스를 사용하여 원소에 직접 접근하기 때문..
자료구조(DataStructure)의 종류와 특징, 사용법 이해하기 자료구조는 프로그래밍의 핵심 요소로, 데이터를 효과적으로 저장 및 처리하기 위한 구조를 의미합니다. 이 글에서는 주요 자료구조의 종류와 특징, 그리고 사용법에 대해 알아보겠습니다. 자료구조(DataStructure)란? 자료구조란 데이터를 저장하고 구조화하는 방법입니다. 주어진 문제의 성격에 맞춰 적절한 자료구조를 선택하고 활용하면 프로그램의 효율성, 가독성, 유지 보수성이 크게 향상됩니다. 자료구조의 종류와 특징 자주 사용되는 다양한 자료구조 중 몇 가지를 소개하겠습니다. 각 자료구조의 특징과 장단점을 이해하고 적절한 상황에 맞게 활용해야 합니다. 배열(Array): 고정된 크기의 연속적인 메모리 할당으로 구성된 자료구조입니다. 인덱스를 사용하여 빠른 접근이 가능하지만, 크기 변경이 어렵다는 단점이 있..
파이썬 클래스와 인스턴스 이해하기: 개념, 예제 코드 및 활용 방안 소개 파이썬 클래스와 인스턴스 이해하기: 개념, 예제 코드 및 활용 방안 소개 파이썬은 객체 지향 프로그래밍 언어로, 클래스와 인스턴스를 활용하여 구조화된 코드를 작성할 수 있습니다. 이 글에서는 파이썬의 클래스와 인스턴스 개념을 소개하고 예제를 통해 이해를 돕겠습니다. 클래스(Class)란? 클래스는 객체의 공통된 속성(attribute)과 동작(method)을 추상화한 설계도입니다. 즉, 클래스를 통해 연관된 데이터와 기능을 하나로 묶어서 캡슐화할 수 있으며, 더 나아가 상속과 같은 객체 지향의 기능을 활용할 수 있습니다. 간단한 클래스 예시: python class Person: def __init__(self, name, age): self.name = name self.age = age def int..
파이썬 데코레이터의 원리 및 활용법: 코드 가독성과 효율성 향상 시키기 파이썬 데코레이터는 코드의 확장성과 재사용성을 개선하여 가독성과 효율성을 향상시키는 방법입니다. 이 글에서는 파이썬 데코레이터의 원리와 활용법에 대해 알아보겠습니다. 데코레이터란? 데코레이터는 함수나 메소드의 기능을 변경하지 않으면서 부가적인 처리를 추가할 수 있는 기법입니다. 파이썬에서는 기존 함수를 호출하는 것이 아닌, 함수를 감싸고 있는 새로운 함수를 호출함으로써 이 기법을 구현합니다. 데코레이터 작성하기 데코레이터는 전달받은 함수를 개조하여 반환하는 함수를 사용해 작성할 수 있습니다. 예제를 통해 간단한 데코레이터를 만들어 보겠습니다. python def my_decorator(func): def wrapper(): print("Something is happening before the func..
파이썬 GIL(Global Interpreter Lock) 이해하기: 병렬처리에 관한 성능 제한과 해결 멀티스레딩을 활용할 때 파이썬의 Global Interpreter Lock(GIL)이라는 특징에 자주 부딪힙니다. 이번 글에서는 GIL에 대한 이해와 이로 인한 병렬 처리 성능 제한 문제 및 해결 방법을 알아보겠습니다. 파이썬 GIL(global interpreter lock) 이란? 파이썬 GIL은 CPython 인터프리터에서 스레드가 동시에 실행되지 않도록 제어하는 메커니즘이자 잠금 기능입니다. GIL은 동시에 실행되는 스레드가 공유 리소스에 접근할 때 발생하는 동기화 문제를 방지하기 위해 도입되었습니다. 그러나 이로 인해 하나의 프로세스 내에서 여러 스레드를 실행하더라도 한 번에 하나의 스레드만 실행되어 CPU 바인드 작업에 병목 현상이 발생할 수 있습니다. GIL(global interpreter..
파이썬 제너레이터와 이터레이터: 차이점, 장단점, 사용법 파이썬 제너레이터와 이터레이터는 파이썬에서 데이터를 순차적으로 처리하는 데 사용되는 객체입니다. 이터레이터는 데이터를 순차적으로 읽을 수 있는 객체이며, 제너레이터는 이터레이터를 생성하는 함수입니다. 이터레이터 이터레이터는 __iter__() 메서드를 구현하는 객체입니다. __iter__() 메서드는 이터레이터를 반환합니다. 이터레이터는 next() 메서드를 사용하여 데이터를 순차적으로 읽을 수 있습니다. next() 메서드는 다음 데이터를 반환하고, 더 이상 데이터가 없으면 StopIteration 예외를 발생시킵니다. 제너레이터 제너레이터는 yield 키워드를 사용하여 데이터를 생성하는 함수입니다. yield 키워드는 함수의 실행을 중단하고 데이터를 반환합니다. 함수가 다시 호출되면 yield 키워드..
성수 훈연 카이센동 맛집 푸디랜드 성수 훈연 22년 10월3일 방문 유튜브 푸디랜드 채널에서 너무 맛있게 보여서 방문했다 당연히 웨이팅이 있을거라 예상했는데? 이날 비가와서그런지 바로 입장했다 훈연동, 우나기동을 주문했다 훈연동 미쳤고~ 사진으로보면 재료가 엄청 많아보이는데 그정도는 아니다. 소고기가 있어서 특이했고 맛있었음! 아 그리고 시그니처동은 직원분이 기계로 훈연해주시는데 사진은 못찍었다 우나기동 장어밑에 교꾸(일본식 계란찜?)이 크게 깔려있다. 우나기동은 일반보다는 으로 시키는걸 추천!! 일반 우나기동은 장어가 특에비해 절반만 나오는 것 같다 덜어서 가위로 잘라먹으면 된다 사진좀 잘나온듯? 성수에는 워낙 맛집이 많아서 어딜가는 평타는 치는 것 같다. 성수 훈연도 미친맛은 아니지만 맛있었고 이날 웨이팅없이 바로 먹어서 매우 만족했..