Posts
da-nyee
Cancel

Introduction IntelliJ에서 프로그램을 실행시켜 콘솔을 확인했을 때 한글이 깨져 출력되는 경우가 종종 있다. 예를 들면, 위의 사진처럼 알 수 없는 문자들이 나타난다. 최근에도 콘솔 한글 깨짐 현상을 겪어 구글링을 통해 문제를 해결했다. 이런 문제는 어떻게 해결해야 하는지 기록해두는 게 좋을 것 같아 포스팅을 한다. Meth...

CORS? 교차 출처 자원 공유(Cross-Origin Resource Sharing) 한 출처의 웹 애플리케이션이 다른 출처의 자원에 접근하는 권한을 브라우저에서 허용하게 하는 HTTP 헤더 기반 메커니즘 Origin URL의 Protocol, Host, Port를 통해 같은 출처인지 다른 출처인지 판단할 수 있다. ...

Bubble Sort def bubble_sort(arr=[4, 9, 2, 5, 7]): for i in range(1, len(arr)): for j in range(1, len(arr)): if arr[j-1] > arr[j]: arr[j-1], arr[j] = arr[...

Array 정적 길이 제공 크기를 한번 결정하면 변경할 수 없다. 데이터 탐색에 유리하다. (Random Access) ➡ O(1) 데이터 추가, 삭제에 불리하다. ➡ O(n) Vector 동적 길이 제공 동기화 기능 제공 크기를 한번 결정해도 변경할 수 있다. ➡ capacity를 초과하면 현재 크기의 100%가 ...

DAO DAO(Data Access Object)는 DB의 데이터에 접근하기 위한 객체이다. DB 접근 로직 / 비즈니스 로직을 분리하기 위한 용도로 사용한다. DB에 접속하여 데이터 CRUD(Create, Read, Update, Delete) 작업을 시행하는 클래스이다. DB 접근 로직은 코드 간결화, 모듈화, 유지보수 등의 목적...

Binary Search? Binary Search는 오름차순 정렬된 자료에서 특정 데이터를 찾는 알고리즘이다. Binary Search의 시간 복잡도는 O(logN)이다. Linear Search? Linear Search는 정렬되지 않은 자료에서도 특정 데이터를 찾을 수 있는 알고리즘이다. Linear Search의 시간 복잡도는 O(N)이다...

Introduction Synchronous vs Asynchronous: 처리해야 하는 작업들을 어떠한 흐름으로 처리할 것인가에 대한 관점이다. Blocking vs Non-blocking: 처리돼야 하는 하나의 작업이 전체적인 작업 흐름을 막느냐, 안 막느냐에 대한 관점이다. Synchronous Request 이후 Re...

Introduction 컴퓨터과학(CS), 운영체제(OS) 기초를 다잡을겸 컴파일(Compile), 링크(Link), 빌드(Build)에 대해 알아보자. Compile 개발자가 작성한 source code를 binary code(컴퓨터가 이해하는 기계어)로 변환하는 과정이다. 해당 작업을 해주는 프로그램이 Compiler이다. Java...

Introduction 비슷한 듯 다른 추상 메서드와 인터페이스. 헷갈리는 두 개념을 제대로 정의해보자. Abstraction 선언부(어떤 것이 동작하는지)는 보여주고, 내부 구현부(어떻게 동작하는지)는 숨기는 형태. 추상 메서드와 인터페이스 둘 다 추상화를 위해 사용된다. Abstract Class 추상 메소드(abstrac...

Introduction 알고리즘 문제 풀이 시 최소값, 최대값 구할 때 자주 사용하는 무한대. 두 가지 방법이 있다. ‘float’ Data Type 무한수는 float형에만 적용 가능하다. int형에는 적용 불가능하다. >>> positive = float("inf") # 양의 무한대 >>> pr...