Group Study (2022-2023) 83

[Machine Learning] 2주차 스터디 - CNN의 이해(2)

스탠포드대학에서 발표한 CNN 강의 영상을 듣고 자료를 정리했습니다. Lecture 3 | Loss Functions and Optimization https://youtu.be/h7iBpEHGVNc Lecture 4 | Introduction to Neural Networks https://youtu.be/d14TUNcbn1k Lecture 3 | Loss Functions and Optimization loss function이란? score에 대해 불만족하는 정도를 정량화 한 것이다. SVM(Support Vetor Machine)의 loss function SVM 기계학습 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 분류, 회귀분석에 사용 고차원에서 결정경계를 기준으로 데이..

[Spring 입문] 2주차 스터디 - 스프링 부트에서 JPA로 데이터베이스 다뤄보기

목차 JPA 프로젝트에 Spring Data JPA 적용하기 Spring Data JPA 테스트 코드 작성하기 등록/수정/조회 API 만를기 JPA Auditing으로 생성시간/수정시간 자동화하기 더 알아보기 3. 스프링 부트에서 JPA로 데이터베이스 다뤄보자 3.1 JPA 소개 JPA 등장 배경 현대의 웹 애플리케이션에서 관계형 데이터베이스(RDB)는 빠질 수 없는 요소 → 객체를 관계형 데이터베이스에서 관리하는 것이 중요! → 관계형 데이터베이스가 SQL만 인식할 수 있기 때문에 모든 코드가 SQL 중심으로 → 반복적인 SQL의 생성, 수십, 수백 개의 테이블의 명령어를 반복 & 객체지향 프로그래밍 언어와의 패러다임이 달라 데이터를 저장할 수 없음 → 상속, 1:N 관계 등 다양한 객체 모델링을 데이..

[React] 2주차 스터디 - (심화) PURE REDUX: COUNTER

0. Redux의 핵심 개념 Store 상태가 관리되는 오직 하나의 공간 컴포넌트와는 별개로, 스토어 안에 앱에서 필요한 상태를 저장 컴포넌트에서 상태 정보가 필요할 때 스토어에 접근 getState(): 현재 state를 가져오는 메소드 subscribe(): 변화를 감지하는 메소드 Action 앱에서 스토어에 운반할 데이터 객체 형식 { type: 'ACTION_CHANGE_USER', // 필수 payload: { // 옵션 name: 'myname', age: 25 } } Reducer 데이터를 변경하는 함수 Action -> Reducer -> Store Action을 Reducer에 전달하기 위해서는 dispatch() 메소드 사용 dispatch(): Reducer에게 보내는 메시지 Redu..

[node.js입문] js 동기와 비동기 함수와 비동기 처리의 시작

1. 동기와 비동기 1)동기(synchronous): 자바스크립트의 경우 기본적으로 동기적인 언어이다. 동기적이라는 것은 위에서부터 순차적으로 시행한다는 것이다 예제코드 Console.log(‘1’); Console.log(‘2’); Console.log(‘3’); 위 코드의 경우 순서대로 읽어서 1,2,3을 출력하는 동기적인 함수의 예시이다. 2) 비동기(asynchronous) 비동기적인 것은 언제 코드가 실행될 수 있는지 모르는 것으로 대표적으로 setTimeOut과 같은 함수가 있다. SetTimeOut은 웹api로 우리가 지정한 시간이 지나면 콜백함수를 불러와준다. l 여기서 call back 함수란 우리가 전달해준 함수를 나중에 다시 불러와 주는 함수를 의미. function printnow(..

[React] 2주차 스터디 - (입문) React의 핵심 개념 익히기 (컴포넌트, Props, State, Lifecycle)

4 엘리먼트 렌더링 1) 엘리먼트에 대해 알아보기 엘리먼트는 리액트 앱의 가장 작은 빌딩 블록으로 즉, 리액트 앱을 구성하는 요소를 의미한다. 엘리먼트는 원래 웹사이트에 대한 모든 정보를 담고 있는 객체인 DOM(Document Object Model)에서 사용하는 용어이다. 실제 브라우저 DOM에 존재하는 엘리먼트는 DOM 엘리먼트, 리액트의 Virtual DOM에 존재하는 엘리먼트가 리액트 엘리먼트이다. => 리액트 엘리먼트는 DOM 엘리먼트의 가상 표현으로 볼 수 있다. 리액트 엘리먼트는 컴포넌트 유형과 속성 및 내부의 모든 자식에 대한 정보를 포함하고 있는 자바스크립트 객체 형태로 존재한다. Virtual DOM은 변경된 부분을 계산하고 해당 부분만을 다시 렌더링한다. 엘리먼트는 불변성을 가져, ..

[Algorithm] 2주차 스터디 - 정렬

주제 : 정렬 (sort) c++의 sort() 함수 C++ STL 함수의 sort() 함수는 quick sort 알고리즘을 바탕으로 만들어졌다. 최악의 경우에 대해서도 어느 정도 개선된 quick sort 알고리즘이라고 할 수 있다. 따라서 대부분의 경우 O(n*logn) 의 시간복잡도를 가진다. sort() 함수 사용법 C++의 algorithm 헤더에 sort() 함수가 포함되어 있다. 사용 방법은 다음과 같다. #include #include using namespace std; int main() { int a[10] = {9, 3, 5, 4, 1, 10, 8, 5, 7, 2}; sort(a, a + 10); for (int i = 0; i < 10; i++) { cout

[Machine Learning] 1주차 스터디 - CNN의 이해(1)

스탠포드대학에서 발표한 CNN 강의 영상을 듣고 자료를 정리했습니다. Lecture 1 | Introduction to Convolutional Neural Networks for Visual Recognition https://youtu.be/vT1JzLTH4G4 Lecture 2 | Image Classification https://youtu.be/OoUX-nOEjG0 Lecture 1 | Introduction to Convolutional Neural Networks for Visual Recognition Computer Vision이란? 컴퓨터 과학의 연구 분야 중 인간이 시각적으로 하는일들을 대행하도록 시스템을 만드는 것이다. Vision의 역사 생물학적 Vision 빅뱅을 시작으로 생물이..

[Machine Learning] 1주차 스터디 - 머신러닝의 용어와 개념 & 선형 회귀(Linear Regression)

머신러닝의 용어와 개념 인공지능의 한 분야이다. (사람이 학습하듯이 컴퓨터에도 데이터들을 줘서 학습하게 함으로써 새로운 지식을 얻어내게 하는 것) 어떠한 자료나 현상을 바탕으로 프로그램이 학습해서 일을 함 학습에는 2가지 방법이 있다. 정해진 Data (supervised learning) Data 스스로 학습 (unsupervised learning) 1. Supervised Learnig은 컴퓨터가 입력값과 그에 따른 출력 값이 있는 data set을 이용하여 주어진 입력에 맞는 출력을 찾는 학습 방법이다. 입력된 문제에 대한 답을 예측하는 데 사용된다. ex) 상품 추천, 질병 진단 등 학습 훈련 데이터(training data)가 필요하다. 예로, 개와 고양이 사진을 구분하는 것을 들 수 있다. ..

[Spring 심화] 1주차 스터디 - 1장 오브젝트와 의존관계

스프링 자바(객체지향)을 기반으로 한 기술 오브젝트(사이클)이 중요하다 다형성 [객체 지향 특징] : 역할(interface)와 구현(객체)로 나누는 것. 단순, 유연, 변경이 편리해진다. 다형성을 통해 클라이언트는 대상의 역할(interface)만 알면 되고, 내부구조를 모르거나 변경되어도 영향을 받지 않는다. 객체 설계 시 역할(interface)먼저 부여 → 이후 역할(객체) 만들기 실행 시점에 인스턴스를 유연하게 변경할 수 있다. ⇒ 클라이언트를 변경하지 않고 서버의 구현 기능을 유연하게 변경할 수 있다. ⇒ 제어의 역전(IoC), 의존 관계 주입(DI)는 다형성을 활용해 역할과 구현을 편하게 다룰 수 있도록 도와준다 좋은 객체 지향 설계의 5원칙 (SOLID) SRP : 단일 책임 원칙(sing..

[Spring 입문] 1주차 스터디 - 스프링부트 시작 / 테스트 코드 작성하기

1장 인텔리제이로 스프링 부트 시작하기 1.4 그레이들 프로젝트를 스프링부트 프로젝트로 변경 build.gradle 파일에서 해당 프로젝트의 플러그인 의존성 관리를 위한 설정 할 수 있다 buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' app..