본문 바로가기

전체 글564

3-6. 벡터 연산의 장점 https://colab.research.google.com/drive/1ecUpkKFkX5Ri6y6lUdM52kQioSVq6BxU?usp=sharing 2024. 9. 16.
3-5. 브로드캐스팅 https://colab.research.google.com/drive/1gV1KQIFIxSknJhGk6H4TLc2nSR_A6Bef?usp=sharing 2024. 9. 16.
3-4. 배열의 연산4 - 비교연산/삼각함수 https://colab.research.google.com/drive/1O4pi4LBmR5Ymz_OOD5nMAXDtDmK5gfcN?usp=sharing 2024. 9. 16.
3-3. 배열의 연산3 - min/max/sum/mean/std/cumsum/median https://colab.research.google.com/drive/1TeSOuu46pRC0PRF6PjzkQyRwUUQUGPqO?usp=sharing 2024. 9. 16.
3-2. 배열의 연산2 - 내적(dot product), 절대값, 올림, 내림, 반올림, 버림) https://colab.research.google.com/drive/1o3YzI44ep7DTEF95aAmr4lKkDJePp7sb?usp=sharing 2024. 9. 16.
3-1. 배열의 연산1 - 사칙연산/제곱/제곱근/몫/나머지 https://colab.research.google.com/drive/1uSdBOafd9zsexKOGQXFBVonNZ4yZjrCC?usp=sharing 2024. 9. 16.
2-3. 배열의 boolean인덱싱 https://colab.research.google.com/drive/14-ASVyK6jr4L10Z2e_wLLuxjvM2Qi-RO?usp=sharing 2024. 9. 16.
2-2. 배열의 fancy인덱싱 https://colab.research.google.com/drive/163JucjaO-QCKjchRWgdfA_XvylTi-Ht7?usp=sharing 2024. 9. 16.
2-1. 배열의 index 접근하기 https://colab.research.google.com/drive/1B36oh6qDppCP5hVrB8LDOq8_AkYT4YfF?usp=sharing 2024. 9. 16.
1-6. 시드 값을 통한 난수 생성 제어 https://colab.research.google.com/drive/1wIkdnA1YPF-F7ii5c6FCNUWnQz8qDutf?usp=sharing 2024. 9. 16.
1-5. 난수로 N차원 배열생성하기 - rand, randn, randint(표준편차) https://colab.research.google.com/drive/1RYPhg0GO9Xr9EUzQl6CCpbJ8W2WkRaMs?usp=sharing np05.ipynbColab notebookcolab.research.google.com 2024. 9. 16.
1-4. 특정 범위의 값을 가지는 N차원 배열 생성하기 - arange, linspace, logspce https://colab.research.google.com/drive/1v46uLQYC8q4I7Q4rLBJ_TMOCi-jG3JwN?usp=sharing 2024. 9. 16.
1-3. 정해진 형식의 N차원 배열 생성하기 - zeros, ones, full, eye https://colab.research.google.com/drive/1_m9kLu6V8-ji2-b9zBrrJ3iiEm6bRCPP?usp=sharing np03.ipynbColab notebookcolab.research.google.com 2024. 9. 16.
1-2. N차원 배열의 데이터 타입 https://colab.research.google.com/drive/19CvxnM390DHigLSNSp-uTnFzLLwO-rcl?usp=sharing 2024. 9. 16.
1-1. N차원 배열 생성하기 Colab 열기  np01.ipynbColab notebookcolab.research.google.com 2024. 9. 16.
N차원 배열의 개념 1차원 배열# 선언 # 1차원 배열 [4]array_1d = [1, 2, 3, 4]   2차원 배열# 선언# 2차원 배열 [2][3]array_2d = [ [1, 2, 3], # 첫 번째 행 [4, 5, 6] # 두 번째 행]axis=0은 행, axis=1은 열을 가르킨다. 3차원 배열# 선언# 3차원 배열 [2][3][4] -> 크기가 3행 4열인 2차원 배열의 개수가 2개인 다차원 배열array_3d = [ [ [1, 2, 3, 4], # 첫 번째 2차원 배열의 첫 번째 행 [5, 6, 7, 8], # 첫 번째 2차원 배열의 두 번째 행 [9, 10, 11, 12] # 첫 번째 2차원 배열의 세 번째 행 ], [ .. 2024. 9. 16.
파이썬 고급 문법(class~모듈과 패키지) 클래스 (class)클래스는 객체 지향 프로그래밍에서 객체를 정의하는 틀이다. 클래스는 데이터(멤버변수)와 함수(메소드)를 포함할 수 있다. 클래스는 여러 객체를 생성할 수 있는 청사진 역할을 한다.class Person: def __init__(self, name): self.name = name def greet(self): print(f"Hello, my name is {self.name}") 생성자생성자는 클래스의 인스턴스가 생성될 때 호출되는 함수이다. 객체의 초기 상태를 정의하는 데 사용된다.class Person: def __init__(self, name): self.name = name # 초기화할 때 전달받은 값을 멤버 변수에 저장.. 2024. 9. 13.
파이썬 중급 문법 (함수~with) 함수def add(a, b): # 전달값 - a, b return a + b # 반환값 - return 키워드result = add(3, 5)  기본값: 기본값이란 함수의 인수에 미리 값를 설정해 두는 것이다. 따라서 함수 호출 시 값을 전달하지 않아도 기본값으로 출력되어 오류가 생기지 않는다. def greet(name="Guest"): return f"Hello, {name}!"print(greet()) # Hello, Guest!print(greet("John")) # Hello, John!  키워드값매개변수가 여러 개이고, 기본값으로 모두 설정된 상태에서 특정 매개변수의 값만 변경하고 싶다면 키워드 값을 사용하면 된다.def get_price(is_vip=False, .. 2024. 9. 13.
파이썬 초급 문법2 (if~리스트 컴프리핸션) if문if 조건문: 수행할 문장 수행할 문장 ....elif 조건문: 수행할 문장 수행할 문장 ...else: 수행할 문장 수행할 문장 ....  for 반복문for 변수 in 리스트(또는 튜플, 문자열): 수행할_문장1 수행할_문장2 ... # 예시 - 1>>> test_list = ['one', 'two', 'three'] >>> for i in test_list: ... print(i)... one two three# 예시 - 2>>> a = [(1,2), (3,4), (5,6)]>>> for (first, last) in a:... print(first + last)...3711# 예시 - 3>>> str = '.. 2024. 9. 13.
파이썬 초급 문법 (슬라이싱~ 자료형 변환) 슬라이싱슬라이싱이란, 어디부터 : 어디까지를 추출해주는 것이다.정확히 말하면 어디부터 : 어디 직전까지 이다.a = [1, 2, 3, 4, 5]print(a[1:3]) #[2, 3]print(a[:3]) #[1, 2, 3]  문자열 처리# [문자열 더하기]snack = '꼬깔콘'num = '2개'plz = snack + num # 꼬깔콘 2개plz += '주세요'# 꼬깔콘 2개 주세요.# [여러줄 문자 만들기]snack = ''' 꼬깔콘은너무 맛있는 과자'''# 꼬깔콘은# 너무# 맛있는 과자  문자열 메소드 zfill()숫자의 길이를 맞추기위해 앞쪽에 0을 채움replace(바꿀값,새로운값)문자열을 찾아서 새로운문자열로 바꿈strip('삭제할문자들')양쪽에 지정한 문자를 삭제하거나 공백을 삭제rstrip.. 2024. 9. 13.
파이썬 기초 문법 (자료형 ~ 불리안) 자료형intfloatstringbolllsit: [] -> 수정 가능 / 연산 속도 下tuple: () -> 수정 불가능 / 연산 속도 上dict: {}Nonex = 30y = 0.134s = 'string'bool = Trueli = [10, -324.33, 'a', "bbb"]tup = (10, -233.33, '안녕', "KK")dict = {"a": 1, "b": "둘", 'c': "3"}nothing = None  변수변수 이름 = 값#[예시]a = 10b = "hello"c = True 다른 언어들과 다르게 따로 타입명을 명시하지 않아도 파이썬이 입력 값에 따라 자동으로 타입을 파악한다. 변수명문자 또는 _로 시작 - ex) name, _name문자, 숫자, _로 구성 - ex) name123.. 2024. 9. 13.
연결된 테이블 2개의 Entity(Foreign Key) 게시판이 있고 그 게시판의 댓글이 있는 서버를 구축한다고 해보자.그럼 우선 Table을 두개 만들어야한다. Post와 Comment 테이블을 만들어보자. [POST]Column NameData TypeDescriptionidBIGINT게시글 고유 ID(Primary Key)titleVARCHAR게시글 제목contentVARCHAR게시글 내용authorVARCHAR게시글 작성자  [COMMENT]Column NameData TypeDescriptionidBIGINT댓글 고유 ID(Primary Key)contentVARCHAR댓글 제목authorVARCHAR댓글 작성자  이렇게 테이블을 만들면 문제가 있다. 테이블 댓글 모두 잘 만들어지지만 특정 댓글이 어떤 게시글에 포함된건지 알 수 없다. 즉, 서로를 .. 2024. 9. 5.
Spring을 이용해 DB와 연동된 ToDoList iOS 앱 제작(3) - 앱 제작 iOS 앱제작은 간단하게 구성하여 사진 없이 글로 설명하겠다. 1. 테이블뷰 todolist의 목록은 테이블뷰를 통해서 나타냈다. viewDidLoad() 메소드에서 Alamofire를 이용하여 DB에 저장된 ToDo를 가져와 테이블 뷰에 뿌려주었다. 2. AlamofireAlamofire를 이용해서 API 통신을 좀 더 쉽게 처리하였다. 3. 데이터 전달특정 버튼을 누르거나 동작을 수행하면 델리게이트 패턴을 이용해서 Alamofire가 있는 메소드를 실행시켰다.또한 성공 값을 이용해야하는 부분도 델리게이트 패턴을 이용해서 받아오고 그 값을 이용해 테이블 뷰를 다시 구성해주었다.  아래는 전체 화면 구성이다.  Spring 파일: https://github.com/iOS-junsoo/todolist-sp.. 2024. 8. 29.
Spring을 이용해 DB와 연동된 ToDoList iOS 앱 제작(2) - 서버제작 [전체 목차]1. 스프링 부트 프로젝트 생성2. 프로젝트 열기, 파일 구조 형성3. 모델이 되는 객체, 객체 생성자 정의4. Repository 개발5. Sevice 개발6. 서버 단위 테스트7. Controller 개발8. DB(H2) 연결9. 통합테스트10. JPA에서 Spring Data JPA로 전환  1. 스프링 부트 프로젝트 생성  2. 프로젝트 열기, 파일 구조 형성이 단계에서는 Domain, Controller, Repository, Service의 패키지를 만들어준다.  3. 모델이 되는 객체, 객체 생성자 정의 - Domain//Domain - 해당 패키지는 객체를 생성하는 곳입니다.package todolist.todolist_spring.domain;public class Todo .. 2024. 8. 29.
Spring을 이용해 DB와 연동된 ToDoList iOS 앱 제작(1) 전체 구조 위의 이미지처럼 데이터가 전송되고 데이터를 받아온다. (화살표 방향은 단방향이지만 양방향으로 소통한다.) 2024. 8. 29.
스프링 데이터 JPA 정의스프링 데이터 JPA란? 스프링 프레임워크의 일부로, 데이터베이스와 상호작용을 간편하게 만들어주는 도구이다. 핵심 기능기본적인 데이터 베이스 작업 자동화데이터를 저장, 조회, 수정, 삭제하는 작업을 자동으로 처리해주는 여러 메서드를 제공한다.예) save(), findAll()인터페이스 기반 개발단순히 인터페이스를 정의하는 것만으로도, 스프링 데이터 JPA가 필요한 메서드를 자동으로 구현해준다쿼리 메서드 지원메서드 이름만 잘 지으면, SQL을 직접 작성하지 않아도 데이터 베이스에서 원하는 데이터를 쉽게 조회할 수 있다.예를 들면 findByName(String name)이라는 메서드를 작성하면, 자동으로 데이터 조회하는 SQL이 생성된다.  1. 스프링 데이터 JPA 회원 Repository 만들기파.. 2024. 8. 27.
회원 관리 - 전체 구조 2024. 8. 27.
JPA를 통해서 DB와 연결하기 JPA란?JPA (Java Persistence API)는 자바에서 데이터베이스와 상호작용하기 위한 표준 기술이다.JPA를 사용하면 개발자가 직접 SQL을 작성하지 않고도 데이터 베이스의 데이터를 관리할 수 있다.  쉽게 말하면 JPA는 자바 프로그램이 데이터베이스와 쉽게 이야기할 수 있게 해주는 도구이다. 예를 들어 게임에서 아이템을 창고에 넣거나 꺼내올 때, JPA는 이 작업을 쉽고 빠르게 할 수 있도록 도와준다. 우리가 직접 창고가 있는 곳까지 가서 넣거나 빼지 않아도 JPA라는 도구가 알아서 일을 처리해준다. 1. build.gradle 파일에 JPA, h2데이터 베이스 관련 라이브러리 추가하기dependencies { implementation 'org.springframework.boot:sp.. 2024. 8. 26.
H2 데이터 베이스 설치 및 테이블 생성 1. h2 데이터 베이스 설치https://www.h2database.com 2. 다운 받은 폴더에서 터미널을 열어준다.h2 폴더 우클릭 후 폴더에서 새로운 터미널 열기! 3. 열린 터미널에서 아래의 명령어 차례대로 입력하기//권한 주는 명령어(mac)chmod 755 h2.sh//실행(웹페이지 열기)./h2.sh4. 데이터베이스 파일 생성 실행을 하면 아래의 웹페이지가 뜬다.이제 데이터베이스 파일을 생성해보자.JDBC URL에 최초 한번만 h2:~/test 해당 경로를 입력하고 연결을 클릭한다.그리고 터미널에서 cd .을 해보면 test.mv.db 파일이 생성될 것이다. 이후 부터는 JDBC URL에 jdbc:h2:tcp://localhost/~/test 으로 입력하고 연결해준다. 5. 테이블 생성하기.. 2024. 8. 26.
숫자함수 SQL에서 숫자 함수는 숫자 데이터를 처리하고 계산하는 데 사용됩니다. 이러한 함수들은 다양한 연산과 수학적 작업을 수행할 수 있도록 해줍니다. 아래에 주요 숫자 함수들을 간단히 설명드리겠습니다.주요 숫자 함수1. ABSABS 함수는 숫자의 절대값을 반환합니다. 즉, 음수를 양수로 변환합니다.구문: ABS(숫자)예시:SELECT ABS(-5) AS result;결과: 52. CEILCEIL 함수는 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다. 소수점을 올림합니다.구문: CEIL(숫자)예시:SELECT CEIL(4.2) AS result;결과: 53. FLOORFLOOR 함수는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환합니다. 소수점을 내림합니다.구문: FLOOR(숫자)예시:SELECT.. 2024. 8. 26.