목록분류 전체보기 (66)
꾸준하고 즐겁게
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문제 문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근..
Ubuntu 환경에서 ROS 설치하기 http://wiki.ros.org/ Documentation - ROS Wiki ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under wiki.ros.org 위 사이트를 보고 설치 진행했다. sudo sh -c 'echo "deb http://packages.ros.o..
ROS의 기본 개념 ROS는 Robot Operating System으로, 로봇 응용 프로그램의 개발을 위한 운영체제와 같은 로봇 소프트웨어 플랫폼이다. Meta-Operating System에 속하며, 소프트웨어와 하드웨어의 중간 역할, 미들웨어라고도 한다. 메타라는 말은, 주로 뭔가가 하나로 통합되어있는 경우를 얘기할 때 많이 사용된다. 디바이스 드라이버, 라이브러리, 디버그 도구, 메세지 통신 구동 도구, 컴파일 도구, 인스톨러, 패키지 생성 및 릴리즈를 하나로 할 수 있게 해주는 역할을 한다. 로봇 소프트웨어 프레임워크를 기반으로 다양한 목적의 응용 프로그램을 개발, 관리, 제공하고 있으며, 유저들이 개발한 패키지 또한 유통해준다. 하드웨어인 로봇과 센서, 그리고 응용 소프트웨어가 서로의 말을 알..
https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 문제들이 나한테 많이 어렵다. 할 일도 너무 많다. 이전처럼 한 주에 10문제씩 뚝딱..
python flask 프레임워크 설치는 이전 글을 참조하면 된다. https://gradient-descent.tistory.com/59 가상환경 만들고 환경설정하기 + 활성화/비활성화 하기 공부하는 과정에서 너무 여러개의 가상환경을 만들었다. 어디서 듣고 보는 대로 명령어를 작성하기 바빴어서, 정말 엉망진창이다. 이걸 배울 당시에는 한곳에 몰아서 다 설치해서 뭘 해도 뚝딱 gradient-descent.tistory.com 환경설정 먼저 github에 테스트용으로 쓸 레퍼지토리를 하나 만들어주기로 했다. 이름도 대충 지어주었다. github desktop에서 열어주기로 한다. 같은 이름의 레퍼지토리를 사용했다가, 깃허브에서만 지웠던 것 같다. 정말 개판이다. 이래서 정리를 잘해주어야한다. 당시에 수업..
공부하는 과정에서 너무 여러개의 가상환경을 만들었다. 어디서 듣고 보는 대로 명령어를 작성하기 바빴어서, 정말 엉망진창이다. 이걸 배울 당시에는 한곳에 몰아서 다 설치해서 뭘 해도 뚝딱뚝딱 잘 되는 환경을 구축하지 않고 굳이 가상환경을 나눠서 사용하는 이유가 궁금했다. 당시엔 이해하지 못하고, 조금 더 시간이 지나서 다른 것들을 해보다가 알게 됐다. 라이브러리나 패키지들 사이에 충돌이 일어나거나 서로 호환이 되지 않아서 버전을 달리해야하는 경우가 생기기 때문이였다. 사실 이번에도 다시 한 번 실감했던 부분이다. 시간이 촉박하다는 핑계로 가상환경을 나누지 않고 여러 프로젝트를 한 번에 진행하다가, 사용해야할 파이썬 버전이 다른 걸 뒤늦게 알고 한창 정신 없는 와중에 애먹었다. 나 같은 초보자가 고작 이거 ..
# 캠이나 카메라를 통해 실시간으로 전달받은 영상을 처리하는 코드이다. import cv2 import numpy as np # 캠으로부터 데이터 가져온다. cap = cv2.VideoCapture(0) # 저장될 영상은 mp4형식이다. # 캠이 여러대인 경우 인자로 0, 1, 2, 3...을 넣어주면 된다. # 캠으로부터 정보를 읽어들일 수 없는 경우 에러 메세지를 반환한다. if cap.isOpened() == False: print("Unable to read camera") # 캠으로부터 정보를 읽어들일 수 있으면, else: # 프레임의 정보 가져와 변수에 저장한다. frame_width = int(cap.get(3)) frame_height = int(cap.get(4)) #캠으로 들어온 비디..
오늘 Rasbian OS 설치와 환경설정을 모두 마쳤다. OS설치도 환경 설정도 에러 한 번 없이 너무 순조로웠다. 하지만 그 과정이 번거롭기는 마찬가지다. 한참 프로젝트를 하다가 OS부터 다시 설치해야하는 상황이 온다면 정말 울고 싶을 것이다. 필히 백업을 해두어야한다는 걸 알았다. 그래서 이번엔 백업을 해보는 내용의 글이다. SD카드를 컴퓨터에 연결했다. 연결만 하면 뭔가 크게 잘못됐다는 듯이 포맷하라는 메세지부터 튀어나왔었는데, 모든 게 순조로웠던 오늘은 확실히 달랐다. 시간차를 두고 나오더라. 이 메세지만 보면 장염 걸려서 새벽에 싸다싸다 응급실에 실려갈 때의 느낌이 든다. 속이 허하고 정신이 아찔하다. 일단 몰려오는 변의를 틀어막고 창을 닫았다. https://sourceforge.net/pro..
API API(Application Programming Interface, 애플리케이션 프로그래밍 인터페이스, 응용 프로그램 프로그래밍 인터페이스)란, 원래 응용프로그램을 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 리눅스도 API가 있다. 윈도우즈에도 API가 있다. 윈도우를 쓴다면 우리가 흔히 보는 알집 같은 것들도 윈도우즈의 API를 이용해서 만든 프로그램이다. 보다 넓은 의미로 쓰여서는, 저장되어있는 데이터를 바로 클라이언트가 억세스할 수 있는 게 아니라 한 단계를 더 거쳐서 억세스할 수 있게 제공하는 기능이다. 뒤에 나오겠지만, 그 거치는 곳을 Restful API라고 부른다. 만들어낸 앱을 클라이언트에게 서비스로 제공하기 위해서 서..
61. 다음 설명에 해당하는 기술로 알맞은 것은? ① CDMA ② PSTN ③ PDSN ④ CSMA/CD Carrier Sense Multiple Access/Collision Detection IEEE 802.3, LAN의 이더넷 전송 프로토콜에서 사용한다. 즉 우리가 사용하는 인터넷 환경에서 항상 적용되고 있는 방식이다. Carrier Sense : 회선의 상태에 따라 Multiple Access : 누구든 동시에 접근할 수 있으면서 Collision Detection : 충돌을 검사하여 제어하는 통신 방식 참고 : https://itwiki.kr/w/CSMA/CD 62. 다음 설명에 해당하는 프로토콜로 알맞은 것은? ① IP ② VRRP ③ TCP ④ UDP 신뢰성이 요구되는 애플리케이션에서는 TC..