[DB] H2 DB 설치와 초기세팅
·
DB
H2 설치 https://h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp h2database.com 초기 세팅 다운받은 폴더의 압축을 풀어준다. 이후 cmd 창으로 h2가 존재하는 폴더에 접근한 뒤 명령어를 통해 h2를 실행한..
[자율주행] djitellopy & opencv Object Detection - (2)
·
ML/OpenCV
Object Detection Tello 카메라를 통해 받아온 영상의 색상을 검출하는 과정은 다음과 같다.Camera&OpenCV로 받아온 BGR 컬러 영상을  HSV로 변환설정된 HSV 채널 이진화중점 찾기import cv2hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)lower_red1 = np.array([0//2, 255//3, 40])upper_red1 = np.array([15//2, 255, 200])lower_red2 = np.array([345//2, 255//3, 40])upper_red2 = np.array([360//2, 255, 200])rowMask = cv2.inRange(hsv, lower_red1, upper_red1)upperMask = c..
[자율주행] djitellopy & opencv Object Detection - (1)
·
ML/OpenCV
djitellopy와 opencv를 통한 비디오 스트림 예제 drone.streamon()while True: img = drone.get_frame_read().frame() # 이미지 절대적 크기 지정 img = cv2.resize(img,(360,240)) # imshow("name", 변수) cv2.imshow("Image",img) # delay, 단위: millisecond cv2.waitKey(1) resizepython: cv.resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] ) -> dst- src: input image, 원본 이미지- dts: output image, src와 동일한 유형- dsize..
[공모전] 2021 슬기로운 코딩생활 최우수상 후기
·
회고 & 후기/회고 & 후기
개요  나는 당시 경영학부 학생이었고 Python으로 통계학을 배우며 코딩에 관심을 가지게 되었는데, 슬기로운 코딩생활에서 약 2주 간 비대면 교육 기간을 주는 것을 활용하기 위해서 참여하였다. 또한 내가 배운 프로그래밍으로 아이템을 제작하는 것이 흥미로웠기에 참여를 결심했다.  기획부터 MVP모델 제작까지 모두 비대면 환경에서 혼자 해결하느라 그리 쉬운 것은 아니었다. 또 지금 생각해보면 당시에는 프로그래밍에 입문할 시기여서 구글링에 대한 개념 자체가 없었다. 그래서 진짜 기초적인 것들도 운영진 분들께 많이 여쭈어보면서 대회에 참여했는데, 다행스럽게도 운영진 측에서 많은 도움을 받을 수 있어 코딩을 처음 접하는 사람들도 노력만 한다면 충분히 수상이 가능한 대회였다. 사실 2주 간 교육 과정에서 귀찮아서..
[백준/11004] K번째 수 | Python 정렬 함수의 알고리즘
·
PS/BOJ&Programmers
K번째 수  Baekjoon Online JudgeBaekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.www.acmicpc.net 알고리즘N(1Ai(-10**9 범위가 위와 같이 주어졌기 때문에, List를 정렬하는 sorted()나 sort()로 하면 당연히 시간 초과 코드일 줄 알았는데 의외로 정답이었다.그래서 이번 기회를 통해 python의 리스트 정렬 연산의 원리와 복잡도에 대해 알아보려한다. sort() This method sorts the list in place, using only comparisons between items. This method modifies the sequence in place for economy of space..
[자율주행] OpenCV와 영상처리 | 필터링 | 영상 잡음 전처리
·
ML/OpenCV
Python과 Tello Drone 자율주행Part1. OpenCV와 영상처리영상처리(Image Processing)란?입출력이 영상인 모든 형태의 정보 처리 OpenCV란?영상처리와 컴퓨터 비전을 위한 오픈소스 라이브러리로 C, C++, Python 등에서 사용 가능하다.💡 영상처리의 기본 과정1. 영상 입력받는다.2. 영상 데이터를 전처리한다.3. 전처리된 영상 데이터에서 특징을 추출한다.4. 추출된 특징으로 정보를 해석하거나 인식한다.우리가 앞선 메뉴얼에서 실행해보았던 video_effect.py를 실행하면 카메라로 추출되는 영상과 Canny Edge 영상이 잘 나올 것이다. 해당 예제 파일에서 tellopy의 get_video_stream, av의 open, cv2의 imshow 등의 라이브러리..
[자율주행] Tello SDK 환경 세팅 | 간단한 이착륙 코드 | OpenCV 비디오 스트림
·
ML/OpenCV
환경 세팅 TelloPy tellopy는 pip 설치가 돼 있다면 터미널에서 아래 명령을 쳐서 쉽게 받을 수 있다. pip3 install tellopy 설치 뒤에는 import tellopy를 통해 패키지를 사용할 수 있다. VSC에서 다음과 같이 tello 프로젝트를 진행할 폴더를 생성하자. 필자는 TelloProjects라고 이름을 지어서 폴더를 생성해주었다. 여기서 위 과정을 따라 tellopy 라이브러리를 설치하고 import tellopy를 했음에도 불구하고 라이브러리를 사용할 수 없는 경우에는 tellopy를 직접 빌드하여 설치하는 해결 방법이 있다. git clone cd TelloPy python setup.py bdist_wheel pip install dist/tellopy-*.dev..
[CS] 비트마스킹 | 비트 연산자 | 비트마스킹과 집합
·
CS/OS
비트마스킹(Bitmasking a.k.a. lightweight) 컴퓨터는 숫자나 데이터를 이진수로 표현한다. 이진 표현을 수정하고 활용하는 과정이 비트마스킹이다. 비트마스킹은 비트 연산을 사용하여 특정 비트의 값을 설정하거나 검사하는 방법을 제공한다. 비트마스킹을 통해 메모리를 절약하고 연산 속도를 향상시킬 수 있다. 비트 연산자 AND(a&b) 둘다 1이면 1, 아니면 0 OR(a|b) 둘다 0이면 0, 아니면 1 XOR(a^b) 같으면 0, 다르면 1 NOT(~a) 0 → 1, 1 →0 LS(a > 2) a를 2비트 만큼 오른쪽 시프트 비트마스크와 집합 비트마스크를 활용하여 집합 연산을 쉽고 빠르게 사용할 수 있다. 이를 통해 문제 해결을 쉽고 빠르게 할 수 있다! 원소의 개수가 N인 집합이 있다고..
[Backend] 객체 지향 특징 | 다형성 | 좋은 객체 지향 설계 5 가지 원칙(SOLID) | EJB
·
Dev/Spring & JPA
The hell of EJB…. EJB(Enterprise Java Beans): 자바당 정파 기술 이론은 좋은데 실무적으로 사용하기에 복잡하고 힘들면서, 느리다. Spring(스프링) EJB 컨테이너 대체 Hibernate EJB 엔티티빈 기술을 대체 JPA 새로운 표준 정의 객체 지향 특징 추상화, 캡슐화, 상속, 다형성 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 “객체”들의 모임으로 파악하고자 하는 것이다. 각각의 개체는 메시지를 주고 받고, 데이터를 처리할 수 있다. ⇒ 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 sw 개발에 많이 사용된다. 유연하고, 변경이 용이하다? 레고 블럭 조립하듯이 부품을 갈아 끼우듯이 컴포넌트..
[python/AI] Python 외부 라이브러리 설치 및 관리 총정리
·
ML
ML 관련 프로젝트를 하다보면 외부 라이브러리 관리가 까다로움을 느낀다.Python을 통해서 다양한 작업을 수행할 수는 있지만, 다양한 연산을 지원하는 라이브러리 관리도 필수적이다.pip파이썬 라이브러리를 관리해주는 프로그램이다. 파이썬의 다양한 라이브러리를 사용하기 위해서는 pip가 필요하다. pip는 파이썬으로 작성된 라이브러리를 관리해주는 시스템으로, 파이썬 관련 명령어에 다양하게 활용된다. MacOS 유저는 brew, 우분투/리눅스 유저들은 apt와 비슷하다고 생각하면 된다. pip는 Python 2.7.9 이후 버전, Python 3.4 이후 버전에는 내장되어있으므로 따로 설치할 필요가 없다. pip vs pip3pip: Python2 버전 패키지 매니저pip3: Python3 버전 패키지 매니..
[백준/1032] 명령 프롬프트 | 문자열 비교
·
PS/BOJ&Programmers
명령 프롬프트 알고리즘문자열 비교 알고리즘이다.이런 문제를 풀 때는 모든 보기를 다 비교해야 할지, 일부로도 해결이 가능한지 판단한다.어차피 N의 범위가 적으니까 할 수 있는 건 다 해서 풀어낸다.전체 코드내가 작성한 코드import sys; input=sys.stdin.readlinen=int(input())file=[input() for _ in range(n)]tmp=[]for i in range(n): for j in range(i+1, n): if file[i] != file[j]: a = file[i] b = file[j] for k in range(len(a)): fo..
[백준/1009] 분산 처리 | 반복되는 숫자 어떻게 효율적으로 처리할까
·
PS/BOJ&Programmers
 분산 처리 알고리즘승수의 마지막 자리 반복001122 4 8 633 9 7 144 6556677 9 3 18 8 4 2 699 1 수의 끝자리만 가져오는 두 가지 방법문자열 활용 a = str(a) a = int(a[-1])나머지 활용(%10, %100, %1000, ....)a %= 10 # 끝 한 자리만a %= 100 # 끝에서부터 2개전체 코드import sys; input=sys.stdin.readlinet=int(input())for _ in range(t): a,b = map(int,input().split()) a = str(a) a = int(a[-1]) if a == 1 or a == 5 or a == 6: print(a) # 4 번씩 반복..
sebinChu
Studying IT with cobinding