전체 글 182

알고리즘의 개념

-알고리즘의 개념 알고리즘이란 '어떤 문제를 해결해 가는 논리적인 과정'으로 정의할 수 있다. -자료구조와 알고리즘의 관계 자료구조와 알고리즘은 데이터와 그 데이터를 처리하는 방법의 관계라고 볼 수 있다. 밀접하고, 상호 의존적인 관계 -알고리즘 표현법 1. 일반 언어 표현 2. 순서도 표현 3. 의사코드(Pseudo Code) 표현 -알고리즘 성능 측정 1. 시간복잡도 : 알고리즘을 통해 결과값을 도출해내는 시간을 기준으로 성능을 측정하는 방법 -알고리즘 성능 표기 1. 빅-오 표기법 : O(1), O(log n), O(n), O(n log n), O(n^2), O(n^3), O(2^n) 등 * 자료구조와 효율적인 알고리즘을 공부해야 하는 이유 : 데이터가 많아질수록 효율적인 알고리즘을 사용해야 많은 ..

자료구조의 개념

- 자료구조의 개념 자료구조란 컴퓨터 프로그래밍 언어에서 효율적인 자료(데이터)의 형태를 말한다. 현대 사회에서는 많은 정보와 데이터가 발생한다. 이를 저장하고 처리할 때 단순한 방식으로 저장한다면 효율성이 떨어진다. 데이터를 잘 정리해서 저장해 놓는다면 데이터를 찾을 때 훨씬 빠르고 효율적인 결과를 도출할 수 있다. - 자료구조의 종류 1. 정수, 실수, 문자, 문자열 등의 데이터 형 2. 리스트, 스택, 큐 등의 선형 자료구조 3. 트리와 그래프의 비선형 자료구조 4. 순차 파일, 색인 파일, 직접 파일 등의 파일 자료구조

새로운 시작

글의 제목을 '다시 시작'으로 할지, '새로운 시작'으로 할지 제목부터 고민이 되는 글입니다. 결론은 새로운 시작으로 글의 제목을 달고 첫 글 머리를 고민한 내용으로 쓰다니..정말 어설픈 글 짜임새가 아닐 수 없습니다. 정말 오랜만에 오롯이 저를 위한 주말을 보내고 있습니다. 물론 모든 주말이 절 위한 시간이었지만, 쓸데없는 걱정, 잡생각..등을 잊고 None한 상태로는 처음인 것 같습니다. 마음과 생각을 비우니 오히려 글을 쓰는 속도는 수월하네요. 근 2개월 간 크게 느낀 점 중 하나는 '내려놓음'으로써 일의 효율이 높아질 수 있다는 점입니다. 어떤 일을 맡아서 수행할 때 잘해야한다는 압박감과 수행에 대한 책임감은 일의 효율을 저하시키더군요. 기합과 힘이 바짝 들어가 있는 건 제겐 오히려 독이더군요. ..

My hobby is writing 2021.08.29

[Spring] @Entity @Id @GeneratedValue @Column 코드 뜯기

Spring 공부를 하다보면 @ 골뱅이라 불리는 Annotation을 심심치 않게, 아니 자주 볼 수 있습니다. 성격상 이것에 대해 대충 넘긴다면 개발에 활용할 수 없을 것 같다는 생각이 들었고, 예제 코드를 작성해서 작성의도, 작성의미 등을 하나 하나 자세히 뜯어보는 포스팅을 올려보려고 합니다. 오늘 뜯어볼 코드는 @Entity, @Id, @GeneratedValue, @Column 입니다. import javax.persistence.*; import java.io.Serializable; @Entity public class User implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullabl..

Programming/Spring 2021.07.02

[JAVA STUDY] 3주차 : JAVA 연산자, 자바 연산자 종류

목표 자바가 제공하는 다양한 연산자에 대한 학습 학습내용 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof (객체 타입 확인) 대입 연산자 assignment(=) operator 화살표(->) 연산자 삼항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 산술 연산자는 수학적인 계산에 사용되는 연산자 class Main { public static void main(String[] args) { // result 의 값은 3 int result = 1 + 2; System.out.println(result); // result 의 값은 2 result = result - 1; System.out.println(result); // resul..

Programming/Java 2021.06.07

[JAVA STUDY] 2주차 : Java 프리미티브 타입(Primitive type), 변수(Variable), 배열(Array)

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법 학습내용 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 기본형에는 모두 8개의 자료형(타입)이 있으며, 크게 논리형, 문자형, 정수형, 실수형 4가지로 구분된다. 논리형 - True / False 중 하나를 값으로 가지며, 조건식과 논리적 계산에 활용한다. 문자형 - 문자를 저장하는데 사용하며, 변수 당 하나의 문자만 저장할 수 있다. 정수형 - 정수의 값을 저장하는데 사용된다. 주로 int와 long을 ..

Programming/Java 2021.06.05

[JAVA STUDY] 1주차 : JVM, 컴파일, 바이트 코드, JIT 컴파일러, JVM 구성요소, JDK, JRE

목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해 학습내용 JVM이란 무엇인가 컴파일하는 방법 및 원리 실행하는 방법 및 원리 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다. 여기서 가상 머신이란 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다. 또한, JVM은 스택 기반의 가상 머신이다. JVM의 역할 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 JAVA API와 함께 실행 JAVA와 OS사이에서의 중개자 역할로 OS에 구애받지 않고 재사용 가능(Write Once, Run Any..

Programming/Java 2021.05.26

[AI] Image generator

Image Generator for making image train dataset¶ Written by. Supreme-YS¶ Augmentation 하고자 하는 이미지 파일 형식을 img_1, img_2, img_3..과 같은 넘버링 형태로 전처리 필요. image_path : generate 작업이 필요한 이미지 파일 경로 gen_image_path : generate 작업 이후 저장되는 폴더 (폴더명은 개인에 맞게 변경 가능), 반드시 생성 필요. count : 압축해제 된 폴더에 있는 이미지 갯수, 초기값 0 gen_count : 이미지 당 제너레이트 하고자 하는 이미지 갯수, 초기값 0 In [ ]: # 필요한 모듈 import from numpy import expand_dims from k..

AI 2021.05.22

AWS SageMaker

Sagemaker 머신러닝 개발 플랫폼 - Web base IDE Prepare -> Build -> Train & Tune -> Deploy & Manage 개발환경 / 학습환경 / 추상환경을 나눠서 작업하여 작업의 효율성을 높일 수 있다. 라벨링(Labeling) Annotating 관련해서 User가 원하는 형태로 할 수도 있고, 자동으로 작업을 할 수도 있다. 모델개발(Build) Notebook instance RDS와 유사 Jupyter 환경으로 개발 가능 SageMaker Studio(협업) SSO 로그인 : 사용자에게 초대 메일 발송, 초기 로그인 시 패스워드 세팅 IAM 로그인 : 전용URL로 접속 학습과 최적화 (Train & Tune) SageMaker의 내부 구조 도커 & 컨테이너 ..

Cloud/AWS 2021.04.08

AWS IAM ( Identify and Access Management )

IAM ( Identify and Access Management ) AWS 리소스를 사용하는 그룹, 유저, 사용권한 등을 전체적으로 관리하는 서비스 모든 서비스에 걸쳐 영향을 미치기 때문에 팀 작업 및 공동 작업시에 필수적으로 알아야 하는 서비스 Group 탭 그룹을 추가, 삭제 하고, 그룹마다 세부적인 리소스 사용권한을 부여하고, 유저들을 그룹별로 묶어 관리할 수 있습니다. 그룹에 소속된 유저는 자동으로 그룹이 가지고 있는 권한을 부여받게 됩니다. User 탭 유저를 추가, 삭제하고 유저를 그룹에 소속시키거나, 특정 유저에게만 권한을 부여할 수 있습니다. Access Type : Programmat..

Cloud/AWS 2021.04.07