줭 Blog 66

[Python] 진수 변환

진수 변환 - 파이썬은 기본적으로 10진수 형태로 숫자 표현 - 다른 진수 표현은 접두어 필요 1. n진수 -> 10진수 int(num, n) num : 숫자(string) n : 진법(2, 3, 8, 16 등) 2. 10진수 -> n진수 1) 접두어 있는 변환 # 1) 10진수 -> 2진수 bin(10) # 2) 10진수 -> 8진수 oct(10) # 3) 10진수 -> 16진수 hex(10) 그 외 진법들은 직접 코드 작성 필요 접두어 - 2진수 : 0b - 8진수 : 0o - 16진수 : 0x 2) 접두어 없는 변환 # 10진수 -> 2진수 format(10, 'b') # 10진수 -> 8진수 format(10, 'o') # 10진수 -> 16진수 format(10, 'x') 3. n진수 -> n진..

공부/파이썬 2023.01.23

[기타] JSON(JavaScript Object Notation)

1. JSON(JavaScript Object Notation)이란? - 속성(attribute)-값(value) 또는 키(key)-값(value) 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해, 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 - 원래는 JavaScript에서 객체를 표현하는 방법이라 JavaScript의 구문 형식을 따르지만 언어 독립형 데이터 포맷임 - 다양한 프로그래밍 언어에서 데이터를 주고 받기 위해 사용 2. JSON 문법 1) 수(Number) - 정수, 실수(고정 소수점), 실수(부동소수점) - C나 Java에서의 8진수와 16진수를 표현하는 방법은 지원되지 않음 2) 문자열(String) - 항상 큰 따옴표("")로 묶임 - 안에는 유니코드 문자들이 나열 - 특..

공부/기타 2021.10.15

[Eclipse] Project 종류

Eclipse IDE for Enterprise Java and Web Developers 2021-06 기준 주요 프로젝트 종류 Java Java Project : 기본 Java 프로젝트 Gradle Gradle Project : 빌드 방식이 Gradle인 프로젝트, build.gradle을 가짐 Maven Maven Project : 빌드 방식이 Maven인 프로젝트, pom.xml을 가짐 Web Static Web Project : 동적인 페이지 없이 순수하게 웹 콘텐츠로만 구성되어 있는 프로젝트 Dynamic Web Project : JSP와 같은 동적인 웹페이지를 가지는 웹 애플리케이션 개발을 위한 프로젝트 Web Fragment Project : 다른 웹 프로젝트에 하나의 라이브러리와 같은 형..

개발/기타 2021.10.15

[자료구조-05] 힙(Heap)

1. 힙(Heap)이란? - 최대값 및 최소값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(complete binary tree)를 기본으로 한 자료구조 - A가 B의 부모노드(parent node)이면, A의 키(key)값과 B의 키값 사이에는 대소관계가 성립함 - 단, 형제 사이에는 대소관계가 성립하지 않음 - 일종의 반정렬 상태(느슨한 정렬 상태) 유지 - 대부분은 자식노드의 개수가 최대 2개인 이진 힙(binary heap)을 사용 - 중복 허용 힙(Heap) vs 이진 탐색 트리(Binary Search Tree) - 힙은 중복된 값을 허용함 - 이진 탐색 트리는 중복된 값을 허용하지 않음 - 가장 높은(혹은 가장 낮은) 우선순위를 가지는 노드가 항상 루트 노드에 위치 - 우선순위 큐..

공부/자료구조 2021.10.13

[DB] 인덱스(Index)의 정의와 특징

1. 인덱스(index) 1) 정의 - 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스에서 테이블에 대한 동작의 속도를 높여주는 자료 구조 - 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성 가능 - 책의 색인과 같은 역할 2) 생성 ① 특정 컬럼에 인덱스 생성 ② 해당 컬럼의 데이터들을 정렬 ③ 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 3) 사용 - Where과 같은 조건 검색에서 주로 사용 - 정렬된 인덱스에 저장되어 있는 데이터의 물리적 주소로 이동하여 데이터를 가져옴 2. 장단점 1) 장점 - Full Table Scan 대신 인덱스를 사용하여 검색 속도와 성능을 향상시킬 수 있음 - 전반적인 시스템의 부하를 줄일 수 있음 - 부하가 심한 ORDER BY 작업..

공부/Database 2021.10.13

[Java] Logging, SLF4J, Logback

1. Logging - 프로그램 개발 중이나 완료 후 발생할 수 있는 오류에 대해 디버깅하거나 운영 중인 프로그램 상태를 모니터링하기 위해 필요한 정보(로그)를 기록하는 것 - java.util.logging, logback, log4j 등 다양한 Logging Framework 존재 2. SLF4J(Simple Logging Facade for Java) - 다양한 Logging Framework들의 추상화를 제공 (단독 사용 X) - Facade 패턴 -> 구현체의 종류에 상관없이 일관된 로깅 코드 작성 가능 - 개발에서 SLF4J API를 사용하여 로깅 코드를 작성 - 배포에서 바인딩된 Logging Framework가 실제 로깅 코드 수행 - Springboot의 기본 Logging Framewo..

공부/Java 2021.10.06

[웹서비스-02] Spring Data JPA, H2 설정

1. 데이터베이스와 JAVA 1) ORM(Object Relational Mapping) - 객체를 데이터베이스와 매핑하는 것 ( MyBatis, iBatis는 ORM이 아닌 SQL Mapper임에 주의 -> 쿼리를 매핑하기 때문 ) 2) JPA(Java Persistence API) - Java ORM에 대한 표준명세, Java에서 제공하는 API - 서로 지향하는 바가 다른 2개 영역(객체지향 프로그래밍 언어 & 관계형 데이터베이스)의 중간에서 패러다임 일치를 시켜주기 위한 기술 - 개발자 : 객체지향적 프로그래밍 JPA : 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행 3) Spring Data JPA - JPA는 인터페이스이므로 구현체가 필요 (Hibernate, Eclipse Link ..

[웹서비스-01] 개발환경 구성, 프로젝트 생성, 테스트 코드 작성

http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com https://github.com/jojoldu/freelec-springboot2-webservice GitHub - jojoldu/freelec-springboot2-webservice Contribute to jojoldu/freelec-springboot2-webservice development by creating an accou..