분류 전체보기
클라우드 기반 Jupyter Notebook (Cloud Base Notebook) 종류
클라우드 기반 Jupyter Notebook (Cloud Base Notebook) 종류
2023.01.19클라우드 기반 노트북은 클라우드 컴퓨팅 플랫폼에서 실행되는 웹 기반 노트북 애플리케이션입니다. 사용자는 코드를 생성, 편집 및 실행할 수 있을 뿐만 아니라 브라우저 창에서 마크다운을 사용하여 작업을 문서화할 수 있습니다. 클라우드 기반의 노트북은 사용자의 로컬 시스템이 아닌 원격 서버에 저장되고 실행됩니다. Jupyter Notebook과 같은 기존 데스크톱 기반 노트북 애플리케이션과 유사하지만 인터넷 연결이 있는 곳이면 어디에서나 액세스할 수 있다는 이점을 가지고 있고 로컬 하드웨어 없이도 GPU 및 TPU와 같은 강력한 계산 리소스에 액세스할 수 있을 뿐만 아니라 다른 사람과 쉽게 협업하고 작업을 공유할 수 있다는 장점을 가지고 있습니다.인기 있는 클라우드 기반 노트북 서비스로는 Google Cola..
[Python] 자료형 - 리스트 (List)
[Python] 자료형 - 리스트 (List)
2023.01.18Python에서 list는 순서가 있는 요소들의 집합을 나타내는 객체입니다. list 객체는 인덱싱, 슬라이싱, 연산, 관련된 함수들(append, extend, insert, remove, pop, count, sort, reverse, ...)를 지원합니다. 순서를 가지며, 인덱싱, 슬라이싱 기능을 지원 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 있음 변경 가능(mutable) 객체 요소들의 순서를 유지하며, 인덱싱, 슬라이싱 기능을 지원 # list 생성 lst = [1, 2, 3, 4, 5] print(lst) # [1, 2, 3, 4, 5] # list 요소 추가 lst.append(6) print(lst) # [1, 2, 3, 4, 5, 6] # list 요소 제거 lst.remov..
[Python] 자료형 - 집합(Set)
[Python] 자료형 - 집합(Set)
2023.01.18Python에서 set 자료형은 순서가 없고, 중복되지 않는 요소들의 집합을 나타내는 객체입니다. set 객체는 집합 연산(union, intersection, difference, symmetric difference)을 지원하며, 관련된 함수들(add, remove, discard, clear, pop, ...)를 지원합니다. set 객체는 순서를 가지지 않으며, 인덱싱, 슬라이싱 기능을 지원하지 않음 set 객체는 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 없음 set은 변경 가능(mutable) 객체 set 객체는 요소들의 순서가 없기 때문에, 특정 요소가 있는지 확인하는 것은 O(1) 의 시간 복잡도 # set 생성 s = set([1, 2, 3, 4, 5]) print(s) # {1..
[Python] 텍스트 파일에 내용 추가
[Python] 텍스트 파일에 내용 추가
2023.01.18Python에서 텍스트 파일에 내용을 추가하려면, 먼저 파일을 열어야 합니다. 파일을 추가 모드로 열려면 open 시 mode에 'a'를 입력하여 append 파일 모드를 사용해야 합니다. 파일을 열고 파일에 내용을 추가 하기 위해서 file.write() 함수를 사용합니다. with open("example.txt", "a") as file: file.write("This text will be added to the file.") 다른 방법으로는 아래와 같이 작성 할 수 있습니다. f = open("example.txt", "a") f.write("This text will be added to the file.") f.close() 더보기 참고 : 'w' 파일 모드를 사용하면 파일을 쓰기 모드로 열..
[Python] File 끝 확인
[Python] File 끝 확인
2023.01.18Python 파일의 끝을 찾기 위한 방법을 소개하겠습니다. 파일을 읽어들이는 open() 함수를 사용합니다. 예를 들어, myfile.txt라는 파일을 읽어들이는 경우 아래와 같은 코드를 사용할 수 있습니다. with open("myfile.txt", "r") as f: lines = f.readlines() print(lines[-1]) 위 코드에서 readlines() 함수를 사용하여 파일의 모든 라인을 읽어들입니다. 그리고 lines 리스트의 마지막 요소를 출력하면 파일의 끝을 찾을 수 있습니다. 간편하게 파일을 열고 닫기 위해서 with open을 사용하였습니다. (파일을 읽어들이는 경우 seek() 함수를 사용하여 파일의 끝에서부터 일정 길이만큼 파일을 읽어들일 수도 있습니다.) read(), ..
[Python] File 수정, 생성 시간 확인하기
[Python] File 수정, 생성 시간 확인하기
2023.01.18Python으로 파일 수정 시간, 생성 시간을 확인하려면 os.path 모듈을 사용할 수 있습니다. import os file_path = "path/to/file.py" modification_time = os.path.getmtime(file_path) creation_time = os.path.getctime(file_path) print("Modification time:", modification_time) print("Creation time:", creation_time) 위 코드에서 os.path.getmtime(file_path)는 파일의 수정 시간을 반환하며, os.path.getctime(file_path)는 파일의 생성 시간을 반환합니다. Output: Modification tim..
[Python] File 개수 확인
[Python] File 개수 확인
2023.01.18Python으로 파일 개수를 확인하려면, 먼저 해당 폴더에 있는 파일들을 리스트로 받아와야 합니다. 그리고 그 리스트의 길이를 확인하면 파일 개수를 알 수 있습니다. import os folder_path = "path/to/folder" file_list = os.listdir(folder_path) file_count = len(file_list) print(file_count) Output : 13 파일 개수를 확인하는 다른 방법은 glob 라이브러리를 사용하면 특정 경로에 있는 파일들을 패턴으로 찾을 수 있습니다. folder_path + '/*'라는 패턴으로 해당 폴더 안에 있는 모든 파일을 찾아서 그 개수를 확인합니다. import glob folder_path = "path/to/folder..
[Python] 문자열 줄바꿈 하는 방법
[Python] 문자열 줄바꿈 하는 방법
2023.01.17Python에서는 개행 문자 \n을 사용하여 문자열에 줄 바꿈을 추가할 수 있습니다. 예를 들면 다음과 같습니다. string = "This is the first line.\nThis is the second line." print(string) Output: This is the first line. This is the second line. 문자열 클래스의 join() 메서드를 사용하여 여러 문자열을 줄바꿈으로 합칠 수도 있습니다. 예를 들면 다음과 같습니다. lines = ["This is the first line.", "This is the second line."] string = "\n".join(lines) print(string) 이렇게 하면 위의 Output과 동일하게 출력됩니다. ..
[Python] dictionary를 JSON으로 변환
[Python] dictionary를 JSON으로 변환
2023.01.17Python에서는 json module의 json.dumps() Method를 사용하여 dictionary를 JSON 문자열로 변환합니다. import json my_dict = {'a': 1, 'b': 2, 'c': 3} json_string = json.dumps(my_dict) print(json_string) Output : '{"a": 1, "b": 2, "c": 3}' json.dump() Method를 사용하여 JSON 문자열을 파일로 저장할 수 있습니다. with open("data.json", "w") as f: json.dump(my_dict, f) json.dumps() 메서드에는 추가 파라미터를 지정할 수 있습니다. indent, separators, sort_keys 등이 있습니다..
간편 심사 서비스
간편 심사 서비스
2023.01.16사람에게 의존한 심사 과정의 불편함과 비효율을 해결하기 위한 솔루션을 개발했습니다. 간편 심사 서비스는 손쉽게 서류를 접수하고 심사/규칙을 설정하여 자동으로 심사하는 간편 심사 서비스입니다. Problem 서류 심사라는 업무는 서류를 일일이 살펴보고 정보를 확인한 뒤 결과를 판단하는 작업으로 많은 기업이 이 작업을 위해 많은 인력과 시간을 소비합니다. 또한 서류의 종류와 양은 증가함에 따라 사람에 의존한 서류 심사는 매우 어려움이 많습니다. (정확도, 속도 등) Solution Rule과 OCR, 공통 API등을 활용하여 문서를 빠르게 분석하고 오류 없이 결과를 만드는 솔루션을 생각했습니다. Concept 개발을 하기 전 Concept을 발사믹 스튜디오 (Balsamiq) 통해 그리고 UI/UX와 기능을..
드림 스튜디오(Dream Studio - Stable Diffusion) 사용기 (사용법)
드림 스튜디오(Dream Studio - Stable Diffusion) 사용기 (사용법)
2023.01.09지난 2022년 8월, 영국의 오픈소스 인공지능 연구회사 스테빌리티 AI(Stability AI)에서 텍스트를 입력하면 그에 맞는 이미지를 생성하는 Stable Diffusion을 오픈소스로 공개하였습니다. 공개된 Stable Diffusion을 이용하여 수많은 기획자와 개발자들이 자신들의 영역에 맞게 다양한 방향으로 확장 개발하였고 깃허브나 유투브를 보더라도 이미 많은 응용사례가 소개되고 있습니다. (곧 Stable Diffusion 소스를 활용한 방법에 대해 소개하는 글을 작성하도록 하겠습니다.) 스테빌리티 AI는 Stable Diffusion 을 이용해 드림 스튜디오(Dream Studio)라는 전문 유료 이미지 생성 서비스를 선보였습니다. 유료지만 가입을 하면 200회 무료 크레딧이 제공되고, 다..
오픈소스 라이선스 (정리)
오픈소스 라이선스 (정리)
2023.01.06라이선스 종류 오픈소스 라이선스를 분류한 기준은 다음과 같습니다. Reciprocal vs Permissive 오픈소스 라이선스를 분류할 때 가장 중요한 기준은 Copyleft 조항이 있는지 여부입니다. Copyleft조항 즉, 배포시 소스코드 제공의무 있는지(Reciprocal) 없는지 (Permissive)로 우선 분류됩니다. 조합저작물 작성 및 타 라이선스 허용 Copyleft 중에서도 타 라이선스를 허용하는지에 따라 Strong Copyleft/ Weak Copyleft로 나눌 수 있습니다. 추가 제약 존재 Copylef가 아닌 라이선스 즉 Permissive 라이선스의 경우,공통 준수사항 외에 추가적인 제약사항이 존재하는지 여부로 나눌 수 있습니다. 추가로, 라이선스의 출현 배경에 따라서 크게 ..