분류 전체보기 612

[Spring 입문] 1주차 chap 03 - 스프링 부트에서 JPA로 데이터베이스 다뤄보자

CHAPTER 03 스프링 부트에서 JPA로 데이터베이스 다뤄보자 들어가면서... 기존의 Java 개발자분들과 이 책의 저자는 다음과 같은 고민을 하게 된다. '어떻게 하면 관계형 데이터베이스를 이용하는 프로젝트에서 객체지향 프로그래밍을 할 수 있을까?' 그 문제의 해결책으로 JPA라는 자바 표준 ORM 기술을 제시한다. 기존 프로젝트 환경을 개편하는 사람들은 대부분 JPA를 선택한다. * ORM이란? 메타데이터 설명자를 사용하여 객체 코드를 관계형 데이터베이스에 연결하는 프로그래밍 기술을 말한다. https://velog.io/@rhee519/Object-Relational-Mapping Object-Relational Mapping(객체 관계형 매핑, ORM) Object-Relational Mapp..

[Android 입문] 1주차 스터디 -View와 Layout

Android 안드로이드는 구글에서 만든 스마트폰용 운영체제이다. 리눅스(Linux)기반이며 자바를 사용한다. 1. TextView TextView는 화면에서 Text를 표시할 때 사용하는 뷰위젯이며, Button 과 EditText의 부모 클래스이다. Button, EditText 의 부모 클래스 -> TextView 의 부모 클래스 -> View 클래스 이번 실습 과제였던 LayoutPractice의 일부이다. TextView는 안드로이드 프로젝트를 처음 만들었을 때 생기는 xml 레이아웃 리소스에도 표시된다. TextView에는 text와 관련된 다양한 속성들이 존재한다. 대표적으로 android:text TextView에 text를 설정한다. android:gravity TextView의 Text..

[Spring 심화] 1장 오브젝트와 의존관계

1장 오브젝트와 의존관계 ☘️스프링이란 '어떻게 오브젝트가 설계되고, 만들어지고, 어떻게 관계를 맺고 사용되는지 관심을 갖는 프레임워크'이다. 1.1 초난감 DAO 💡DAO (Data Access Object) DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. 사용자 정보를 DB에 저장하고 조회할 수 있는 간단한 DAO를 하나 만들어보자. public class UserDao { public void add(User user) throws ... { Class.forName("com.mysql.jdbc.Driver"); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook", "spr..

[ML입문] week1 - 나의 첫 머신러닝, 데이터 다루기

1. 인공지능 1) 인공지능 : 사람처럼 생각하고 추론하는, 지능이 있는 컴퓨터 시스템 알고리즘 이러한 인공지능은 기능에 따라 여러 하위범주를 가진다. 그 중 머신러닝과 딥러닝이 가장 대표적이다. 2) 머신러닝 인공지능의 하위 범주 중 하나이다. 머신러닝은 데이터를 통해 컴퓨터가 스스로 학습하고 작업을 수행하도록 한다. 다른 인공지능에 비해 소프트웨어와 관련이 있다는 점에서 차이가 있다. 대표적인 머신러닝 라이브러리는 ‘사이킷런’이다. 3) 딥러닝 머신러닝의 하위 범주 중 하나이다. 딥러닝은 머신러닝 중에서도, 인공신공망을 사용한다. 대표적인 딥러닝 라이브러리는 '텐서플로' 이다. 2. 지도 학습과 비지도 학습 지도학습과 비지도학습은 타겟 데이터, 즉 데이터의 정답를 제공하느냐를 기준으로 나뉜다. 1) ..

[Android 심화] 1주차 스터디 - Jetpack Compose 입문(1)

Jetpack Compose란? Android 앱의 사용자 인터페이스(UI)를 구축하는 데 사용되는 UI 라이브러리 1. Column, Row, Text Column: 수직 방향으로 UI 요소를 배치하는 레이아웃 컴포저 Row: 수평 방향으로 UI 요소를 배치하는 레이아웃 컴포저 Text: 텍스트를 화면에 표시하기 위한 Composable Modifier: Composable 요소의 스타일, 크기, 여백, 패딩 등을 제어하기 위한 도구 Arrangement(정렬) 및 Alignment(배치) : Arrangement와 Alignment는 Composable 요소의 정렬 및 간격을 조절하는 열거형이다. Arrangement는 컨테이너의 수평 방향 배치, Alignment은 컨테이너의 수직 방향 정렬과 관계..

[Algorithm] 1주차 스터디 - 알고리즘 기초 및 배열

목차 1. 복잡도 2. 자료형 3. C++ 표준 입출력 4. 배열 5. 1주차 필수 문제 풀이 1. 복잡도 시간복잡도 : 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계 - 주로 O 표기법(가장 큰 대표항으로 시간복잡도를 나타내는 방법)을 이용하여 표기한다. - O(1) < O(log N) < O(N) < O(N log N) < O(N^2) < O(2^N) < O(N!) 공간복잡도 : 입력의 크기와 문제를 해결하는데 필요한 공간의 상관관계 - 배열의 차원과 관련되어있다. 2. 자료형 정수 자료형 : char(1 byte), short(2 byte), int(4 byte), long long(8 byte) *1 byte = 8 bit - 할당된 메모리 범위를 넘어서는 경우 overflow 및 und..

[Flutter] 1주차 스터디_Functional programming 과 Asychronous programming

Functional programming 프로그램을 함수들로 구성하는 프로그래밍 패러다임 함수는 인자를 받아 결과를 반환하는 것으로 구성되며, 상태와 상태의 변화가 없는 함수를 사용하는 것을 권장 Iterable 데이터 타입에 활용할 수 있는 대표적인 function 1. Iterable 사이의 형 변환 List → Map : asMap() .keys/.values → Iterable List → Set : toSet() 또는 Set.from(listName) 자동으로 중복 제거 Map/Set → List : toList() 2. map 각 요소에 함수를 적용할 수 있으며, 각 요소를 새로운 값으로 대체해줌 단, 원본이 변경되는 것이 아니고 새로운 리스트를 만들어냄 함수의 파라미터로 함수를 전달 → ma..

[스프링 입문] 1주차 chap 01 - 인텔리제이로 스프링 부트 시작하기

간단 실습 정리 1. 인텔리제이 설치 2. 인텔리제이 커뮤니티를 통한 프로젝트 생성 3. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경 - 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 plugi..

[스프링 입문] 1주차 Chap 02 - 스프링 부트에서 테스트 코드를 작성하자

대부분의 서비스 회사가 테스트 코드에 관해 요구함, 절대 빠질 수 없는 테스트 코드 2.1 테스트 코드 소개 TDD : 테스트가 주도하는 개발 단위 테스트 : 기능 단위의 테스트 코드를 작성하는 것, TDD와 달리 테스트 코드를 꼭 먼저 작성 X, 순수하게 테스트 코드만 작성 이번 장에서 배우는 것 -> 단위 테스트 코드 단위 테스트 코드를 작성함으로써 얻는 이점 개발단계 초기에 문제를 발견하게 도와줌 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인 가능 기능에 대한 불확실성 감소 시스템에 대한 실제 문서 제공 필자의 경험담 빠른 피드백 자동검증 개발자가 만든 기능을 안전하게 보호해줌 테스트 코드 작성은 100% 익혀야 할 기술이자 습관이다 !! 테..

[5월 3주차] GDSC Sookmyung Weekly AI Trend - Google I/O 2023, Kaggle, Google Competition, BEHRT, ImageBind

5월 3주차 GDSC Sookmyung Weekly AI Trend 역시 Google은 Google? Google이 공개한 혁신적인 변화 소개 에디터 | 손수경 이번 주 Google I/O가 개최되었다. Google I/O란 구글에서 개최하는 개발자 컨퍼런스인데, I는 숫자 1을 의미하고 O은 숫자 0을 의미한다. 2023 Google I/O에서는 다양한 생성 모델을 통한 발전 사항에 대한 주제가 많았다. 그 중 주요 내용은 다음과 같다. 1. Google Photos - Magic Eraser 생성 모델을 통해서 아이의 위치를 바꾸더라도 어색하지 않게 이미지를 생성해준다. 2. PaLM 2 구글의 새로운 언어 모델(LLM)인 PaLM 2는 구글의 업데이트 된 Bard의 채팅 도구에 도움을 줄 것이라고 ..