# FUNDAMENTAL

67개의 포스트
post-thumbnail

네이밍 컨벤션

명명 규칙 함수, 변수 또는 클래스의 이름을 지정할 때는 모두 동일한 원칙이 적용된다. 이름을 지을 때의 핵심 아이디어는 가능한 많은 정보를 전달하는 것이다. 코드에 넣는 작은 주석이라고 생각하면 될 것 같다. 식별자 규칙(문법적인 규칙) > 1. 숫자로 시작할 수 없다. 문자 사이에 공백을 둘 수 없다. 특수 문자는 사용할 수 없다. 관례 > 1. 카멜 표기법 사용 함수와 변수의 명명 규칙 의미있는 단어 선택 (맥락을 제공하라) 1. 카멜 표기법(camel case) 사용 카멜 표기법(Camel case) 또는 낙타 표기법은 프로그래밍에서 파일, 변수, 함수 등 대상의 이름을 띄어쓰기 없이 짓기 위하여 따르는 관례인 네이밍컨벤션(Naming

2023년 7월 18일
·
2개의 댓글
·
post-thumbnail

[Java] JDK, JRE, JVM

1. 하위 개념 JDK, JRE, JVM을 알기 전, 자바언어의 특징을 알고 넘어가야 한다. 자바언어의 특징 운영체제에 독립적 객체 지향 언어 자동 메모리 관리 네트워크, 분산처리 라이브러리 지원 멀티쓰레드 지원 동적 로딩 (Dynamic Loading) 지원 위 특징 중 해당 편에서는 운영체제에 독립적 이라는 특징을 중심으로 학습내용을 기술 하려한다. 2.JVM(Java Virtal Machine) Java 등장 이전 기존의 언어는 한 운영체제에 맞게 개발 된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 운영체제 별로 서로 다른 코드를 작성해야 했다. 이러한 과정에서, 윈도우와 리눅스 등 크로스 플랫폼 호환성 문제가 발생할 뿐 아니라, 각 os 맞게끔 개발 시간과 유지 보수에 리소스 소모를 야기한다. Java 등장 이후 하지만, 자바가 등장한 이후 부터는 더 이상 그런

2023년 6월 19일
·
0개의 댓글
·
post-thumbnail

Javascript coding challenge

Coding Challenge #1 Given an array of forecasted maximum temperatures, the thermometer displays a string with the given temperatures. Example: [17, 21, 23] will print "... 17ºC in 1 days ... 21ºC in 2 days ... 23ºC in 3 days ..." Your tasks: Create a function 'printForecast' which takes in an array 'arr' and logs a string like the above to the console. Try it with both test datasets. Use the problem-solving framework: Understand the problem and break it up into sub-problems! T

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

클래스(class)

클래스란 무엇인가 -클래스는 사용자 정의의 데이터형. -추상화,캡슐화,데이터 은닉의 특징을 가지고 있다. -클래스 기본 >- private : 여기에 선언된 멤버들은 public인터페이스 내의 멤버 함수를 통해 접근이 가능하다 > - public : 클래스 객체를 사용하여 직접 접근이 가능하다. >- 생성자 : 생성자는 클래스의 객체를 만들 때 실행되는 함수. 생성자 예시코드) 파괴자 : 파괴자는 클래스의 객체가 예시코드)

2022년 12월 23일
·
0개의 댓글
·

220908 FUNDAMENTAL 7. 문자열과 파일 다루기

1. 문자열 1) 인코딩과 디코딩 파이썬에서 모든 문자열은 유니코드로 표현 인코딩 (encoding) : 문자열 → 바이트로 변환하는 과정 ord() : 문자 → 유니코드 숫자로 반환 디코딩 (decoding) : 바이트 → 문자열로 변환하는 과정 chr() : 유니코드 숫자 → 문자로 반환 2) 문자열 다루기 이스케이프 문자 |이스케이프 문자|출력| |----|----| |\'|홑따옴표 '| |\"|겹따옴표 "| |\t|tab| |\n|줄바꿈| |\\|백슬래시 \| 원시 문자열(raw string) : print(r'Pleas don\'t touch it') ![](https://velog.velcdn.com/images/thwj

2022년 9월 8일
·
0개의 댓글
·

Var

Why it's called a var? Why it's called a var, is because it stands for the word variable. So that means you can* vary the data* that you keep inside it. so whenever the computer encounters the keyword var it essentially knows that it has to construct a new container. ![](https://velog.

2022년 8월 3일
·
0개의 댓글
·

재무관리 -01

재무관리 (Finance) 란, 자원 배분의 분제 (재무 의사 결정) 을 다루는 활동 기업 경영의 목표는 Maximize Value --> 주주 가치? 기업 가치? 투자 결정: 비유동자산(설비,기계장치,R&D,인적자원) 구성의 문제 자본 조달 결정: 자기자본과 타인자본(부채) 구성으로 판단 유동성/위험 관리: 유동자산과 유동부채의 구성 Core principle of Finance (1) Time Value of Money, (2) Risk-Return Tradeoff (3) No Arbitrage Principle 주식회사 제도 Type of Company Proprietorship Partnership Limited Company Corporation 기업은 독립된 법적 실체 (a Legal Entity)로 소유와 경영이 분리되어 있다. 소유주는 지분 증서 (Ownership)으로 구분되며, 이전(Transferable)

2022년 6월 11일
·
0개의 댓글
·

12. 사이킷런으로 구현해 보는 머신러닝

1. 다양한 머신러닝 알고리즘 1-1. 지도학습 (Supervised Learning) 분류(Classification) : 예측해야할 데이터가 범주형(categorical) 변수일때 분류 라고 함 회귀(Regression) : 예측해야할 데이터가 연속적인 값 일때 회귀 라고 함 예측(Forecasting) : 과거 및 현재 데이터를 기반으로 미래를 예측하는 과정 1-2. 비지도학습 (Unsupervised Learning) 클러스터링 : 특정 기준에 따라 유사한 데이터끼리 그룹화함 차원축소 : 고려해야할 변수를 줄이는 작업, 변수와 대상간 진정한 관계를 도출하기 용이 > 정답 유무, 데이터의 종류, 특성, 문제 정의에 따라 머신러닝 알고리즘은 굉장히 복합적으로 사용 1-3. 강화학습 (Reinforcement Learning) 학습하는 시스템을 에이전트라고 하고, 환경을 관찰해서 에이전트가 스스로 행동하게 한다. 모델은 그 결과로 특정 보상을 받아 이 보상

2022년 5월 20일
·
0개의 댓글
·
post-thumbnail

SKAdNetwork란? 쉽게 정리

What is SKAdNetWork SKAdNetwork는 Apple에서 사용자 개인 정보를 보호하면서 캠페인 성과를 측정할 수 있도록 만든 장치다. IDFA 없음 타 광고 ID 없음 ATT(App Tracking Transparency) 동의 없이 작동 핵심은 ‘타이머’ 유저가 app을 다운하고 실행하면, SKAdNetwork에서는 타이머가 실행되는데 이 타이머가 종료되는 순간 Ad Network에 비로소 포스트백을 보내게 된다. 타이머의 시간은 불규칙하기 때문에 광고주는 유저를 특정 지을 수 없게 된다. 그러면 ‘타이머’는 어떻게 움직이게 되는가? SKAdnetwork에서 작동하는 ‘타이머’는 ‘전환 가치’에 의해서 작동한다. 이 ‘전환 가치’는 6비

2022년 5월 15일
·
0개의 댓글
·

30. 컴퓨터 파워 UP

멀티태스킹 1. 동시성(Concurrency) 하나의 processor가 여러 가지 task를 동시에 수행하는 개념 다른 task를 수행할 수 있는 시간에는 task를 전환해서 효율적으로 여러 개의 task를 동시에 수행하는 것처럼 보임 2. 병렬성(Parallelism) 유사한 task를 여러 processor가 동시에 수행하는 것 동기 vs 비동기 (Synchronous vs Asynchronous) 동기 : 어떤 일이 순차적으로 실행됨, 앞 작업이 종료되기를 무조건 기다렸다가 다음 작업을 수행 비동기 : 어떤 일이 비순차적으로 실행됨, 바운드되고 있는 작업을 기다리는 동안 다른 일을 처리하는 것 I/O Bound vs CPU Bound I/O 바운드 : 입력과 출력에서의 데이터(파일)처리에 시간이 소요될 때 CPU 바운드 : 복잡한 수식 계산이나 그래픽 작업과 같은 엄청난 계산이 필요할 때 Process(프로세스)

2022년 2월 23일
·
0개의 댓글
·

29. 사이킷런을 활용한 추천 시스템 입문

추천 시스템 사용자(user)에게 관련된 아이템(item)을 추천해 주는 것 > ex) 영화추천 범주형, 이산적인 데이터를 숫자 벡터로 변환 계산한 숫자 벡터의 유사도를 계산해서 유사도가 가까운 (혹은 높은) 제품을 추천해줌 코사인 유사도(Cosine Similarity) 유사도를 계산하는 방법 중 가장 잘 알려진 방법 두 벡터 간의 코사인 값을 이용해 두 벡터의 유사도를 계산 코사인 유사도 범위 : -1 ~ 1사이의 값을 가짐 코사인 유사도가 1에 가까

2022년 2월 22일
·
0개의 댓글
·

220221 FUNDAMENTAL 29. 추천시스템

1. 추천시스템 사용자(user)에게 관련된 아이템(item)을 추천해 주는 것 추천 로직 범주형(categorical) 데이터를 다룸 (숫자 벡터/numerical vector로 변환한 뒤) 유사도를 계산함 종류 콘텐츠 기반 필터링(Content Based Filtering) 협업 필터링(Collaborative Filtering) 사용자 기반 아이템 기반 잠재요인 협업 필터링 (latent factor collaborative filtering) → 행렬 인수분해(matrix factorization) Deep Learning 적용 or Hybrid 방식 1) 콘텐츠 기반 필터링(Content Based Fil

2022년 2월 21일
·
0개의 댓글
·

28. 정보이론 톺아보기

1. Information Content 정보이론 : 추상적인 '정보'라는 개념을 정량화하고 정보의 저장과 통신을 연구하는 분야 정보를 정량적으로 표현하기 위해 필요한 세 가지 조건 일어날 가능성이 높은 사건은 정보량이 낮고, 반드시 일어나는 사건에는 정보가 없는 것이나 마찬가지이다. 일어날 가능성이 낮은 사건은 정보량이 높다. 두 개의 독립적인 사건이 있을 때, 전체 정보량은 각각의 정보량을 더한 것과 같다. Goodfellow, Bengio, Courville의 책 Deep Learning 2. Entropy 특정 확률분포를 따르는 사건들의 정보량 기댓값 확률 변수가 가질 수 있는 값의 가짓수가 같을 때 사건들의 확률이 균등할수록 엔트로피 값은 증가 앞면과 뒷면의 확률이 같은 동전을 던질 때 결과를 예측하기가 더 어렵기 때문에 불확실성이 커서 엔트로피 값이 최대가 됨 For Discrete Random Variables

2022년 2월 18일
·
0개의 댓글
·

25. Regularization

Normalization(정규화) 데이터의 형태를 좀 더 의미 있게, 혹은 트레이닝에 적합하게 전처리하는 과정 데이터를 z-score로 바꾸거나 minmax scaler를 사용하여 0과 1사이의 값으로 분포를 조정하는 것들이 해당 모든 피처의 범위 분포를 동일하게 하여 모델이 풀어야 하는 문제를 좀 더 간단하게 바꾸어 주는 전처리 과정 Regularization(정칙화) 오버피팅을 해결하고자 하는 방법 중에 하나 L1, L2 Regularization, Dropout, Batch normalization 모델이 train set의 정답을 맞히지 못하도록 오버피팅을 방해(train loss가 증가) 하는 역할 validation loss나 최종적인 test loss를 감소시키려는 목적 L1 Regularization 사이킷런이나 케라스, 텐서플로우 등의 패키지에서는 Lasso X가 2차원 이상인 여러 컬럼 값이 있는 데이터일 때 실제

2022년 2월 11일
·
0개의 댓글
·

24. 딥러닝 레이어의 이해(2)

분포 가설과 분산 표현 1. 희소 표현(Sparse Representation) 벡터의 특정 차원에 단어 혹은 의미를 직접 매핑하는 방식 2. 분포 가설 유사한 맥락에서 나타나는 단어는 그 의미도 비슷하다라는 가정을 함 3. 분산 표현 유사한 맥락에 나타난 단어들끼리는 두 단어 벡터 사이의 거리를 가깝게 하고, 그렇지 않은 단어들끼리는 멀어지도록 조금씩 조정한 단어 벡터 단어 간의 유사도를 계산으로 구할 수 있음 Embedding 레이어 단어의 분산 표현을 구현하기 위한 레이어 ex. 컴퓨터용 단어 사전 Embedding 레이어만을 훈련하기 위한 방법 : ELMo, Word2Vec, Glove, FastText 등 Weight는 단어의 개수, Embedding 사이즈로 정의됨 입력으로 들어온 단어를 분산 표현으로 연결해 주는 역할 -> 룩업 테이블(Lookup Table) 원-핫 인코딩을 위한 단어 사전을 구축

2022년 2월 9일
·
0개의 댓글
·

23. 딥러닝 레이어의 이해(1)

데이터의 형태 이미지 데이터 Red 채널, Green 채널, 그리고 Blue 채널까지 총 3개의 채널을 가짐 표기 방법 : Channel, Width, Height의 이니셜로 (C, W, H), (W, H, C) 레이어 하나의 물체가 여러 개의 논리적인 객체들로 구성되어 있는 경우, 이러한 각각의 객체를 하나의 레이어라 한다. Linear 레이어 Fully Connected Layer, Feedforward Neural Network, Multilayer Perceptrons, Dense Layer... 등 선형 변환(Linear Transform)을 활용해 데이터를 특정 차원으로 변환하는 레이어 (입력의 차원, 출력의 차원)에 해당하는 Weight를 가지는 특성을 가짐 입력 피처 전체가 매 출력에 미치는 영향의 가중치를 모든 입력 피처 사이에 전부 고려 이미지처럼 지역성(Locality) 그 자체가 엄청나게 중요한 정보가

2022년 2월 9일
·
0개의 댓글
·

21. TF2 API

TensorFlow2 API로 모델 구성하기 Sequential 입력 1가지, 출력 1가지 방식 -> 입출력이 여러 개인 경우 적합하지 않은 모델 Functional keras.Model을 사용 입력과 출력을 규정함으로써 모델 전체를 규정 -> 더 자유로운 모델링 진행 가능 다중 입력, 출력을 가지는 모델을 구성 Model Subclassing keras.Model을 상속받은 모델 클래스를 만드는 방식 제일 자유로운 모델링 진행 가능

2022년 1월 28일
·
0개의 댓글
·

20. 비지도학습

1. 비지도학습(Unsupervised Learning) 지도학습과 다르게 training data로 정답(label)이 없는 데이터가 주어지는 학습방법 주어진 데이터가 어떻게 구성되어 있는지 스스로 알아내는 방법 아무도 정답을 알려주지 않은 채 오로지 데이터셋의 특징이나 패턴을 기반으로 모델 스스로가 판단 예시 군집화(clustering) 차원축소(dimensionlity reduction) 생성 모델(generative model) 2. 클러스터링(1) K-means 데이터X가 무엇인지에 대한 정답(label)과 y가 될 수 있는 분류 기준이 없는 비지도학습에서 클러스터링이란 명확한 분류 기준이 없는 상황에서도 데이터들을 분석하고 유사한 것들끼리 묶어 주는 대표적 알고리즘 k값이 주어졌을 때, k개의 기준점을 중심으로 가장 가까운 데이터들을 뭉침 좌표축 위에 있는 데이터들 사이의 거리를 계산하기 위해서 "유클리드 거리"를 사용

2022년 1월 26일
·
0개의 댓글
·

19. 선형 회귀와 로지스틱 회귀

1. 회귀분석 회귀분석(Regression Analysis) 관찰된 여러 데이터를 각 연속형 변수 간의 관계를 모델링하고 이에 대한 적합도를 측정하는 분석 방법 예시) 부모와 자식의 키 관계 부동산 가격 예측 1인당 국민 총소득과 배기가스 배출량 사이의 관계 예측 선형 회귀분석의 기본 가정 (1) 선형성 : 예측하고자 하는 종속변수 y와 독립변수 x간에 선형성을 만족하는 특성. 그러므로 비선형회귀분석에서는 해당하지 않는다. (2) 독립성 : 독립변수 x간에 상관관계가 없이 독립성을 만족하는 특성. 다중 회귀분석에서 중요한 기본가정으로 단순회귀분석에서는 해당하지 않는다. (3) 등분산성 : 분산이 같다. 이는 잔차가 특정한 패턴 없이 고르게 분포했다는 의미 (4) 정규성 : 잔차가 정규성을 만족하는지 여부. 정규분포를 띄는지 확인 -> 4가지 기본가정을 만족해야 유의한 회귀모델이 나온다. 그렇지 못할 경우 Step

2022년 1월 24일
·
0개의 댓글
·