분류 전체보기 57

Getting started GStreamer : Hello wolrd

Getting started GStremaer 는 freedesktop의 gstreamer 예제에 대해 번역 및 참고하여 개발해보았을때 필요하다고 느꼈던 내용 들을 아주 살짝 추가/제거하여 작성했습니다. https://gstreamer.freedesktop.org/documentation/tutorials/basic GStreamer 개념 스트리밍 미디어 어플리케이션을 만들기 위한 프레임워크 디비오 파이프라인 개념과 다이렉트쇼의 몇가지 아이디어로 시작됨 MP3, Ogg/Vorbis, MPEG-1/2, AVI, Quicktime, mod 등과 같은 다양한 포맷을 지원하는 미디어 플레이어를 만들 수 있는 컴포넌트를 포함하고 있다. GStreamer는 다양한 코덱과 기능을 제공하는 플러그인을 기반으로한다. 플..

Getting started OpenGL ES with EGL

Getting started EGL What is EGL ? EGL이란 native window system과 grapic API를 연결해주는 그래픽 인터페이스를 의미 *ref : https://docs.imgtec.com/OpenGLES_HelloAPI_Guide/OpenGLES_Introduction/topics/createEGLDisplay.html * EGL은 display 개념을 사용한다. 이것은 렌더링 된 그래픽을 출력하여 보여줄 추상 객체를 의미한다. 주어진 윈도우 시스템에 대한 기본 디스플레이를 작성한 후 EGL은 이 핸들을 사용하여 렌더링에 사용할 EGLDisplay 핸들을 가져올 수 있다. EGL Configuration은 어플리케이션에 필요한 기능과 그리기에 사용할 수 있는 표면 유형..

Getting Started Wayland !

Getting started wayland on Linux 내용을 정리하기에 앞서 맨 하단의 Refer Site 를 꼭 한번 들르시길 바랍니다. 특히 :star: 표시가 된 사이트는 wayland를 분석하고 사용함에 있어서 큰 도움이 되는 사이트입니다. What is Wayland wayland는 X11을 대체하기 위한 윈도우 시스템으로 컴포지터와 클라이언트가 통신하기 위한 프로토콜이다. wayland는 라이브러리로써 X11을 대체하기 위해 weston과 같은 컴포지터가 필요한데, weston은 wayland의 compositor 참조 구현을 의미합니다. compositor는 윈도우 시스템에서 윈도우들의 함성을 담당함으로써 하나의 장면을 만들어내는 역할을 합니다. 또한 compositor는 KMS( Ke..

Pointer magic for efficient dynamic value representations

nikic’s article Pointer magic for efficient dynamic value representations nikic의 블로그에 소개된 JavaScript의 실행 속도를 개선할 수 있었던 몇 가지 트릭을 C++을 통해 소개합니다 이 방법을 이용하면 C에서도 JavaScript와 같은 방식으로 변수 접근이 가능해지며, 이를 통해 유연하고 효과적인 개발 방식을 적용할 수 있습니다 https://nikic.github.io/2012/02/02/Pointer-magic-for-efficient-dynamic-value-representations.html#the-trivial-approach-tagged-unions List The trivial approach: Tagged union..

20200907 바쁜하루

9월 12일 카카오 블라인드 코테가 진행된다는 소식 때문에 일주일 전부터 프로그래머스 카카오 기출 문제들을 풀고 있다. 개인적으로 느끼는건데 백준 삼성 기출문제보다 훨씬 지문이 난해하고 조건들이 까다로운 것 같다. 이 와중에 진행하던 개인 프로젝트는 C++을 기반으로 CNN을 적용시켜보려했는데 현재 컴퓨터의 하드웨어 영향인지 텐서플로우 2.0 버전 C++ 모듈이 제대로 올라가지 않았다. ( 무려 4일이나 밤새 투자했는데... ) 참고로 컴퓨터는 AMD 기반에 따로 내장그래픽, window OS로 진행하고 있었다. 추가로 원하는 직무의 스타트업이 있어서 코딩 테스트를 보고 합격 여부를 기다리는 중인데.. 코딩 테스트가 너무 어려워서 좋은 결과가 나올지 걱정이다 ㅠㅠ 프로그래머스에서 2문제를 보았는데 2문제..

일기장/하루 2020.09.07

1063 킹 ( Simulation )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 1063 킹 - 이 문제는 시뮬레이션 문제로, 주어진 지문의 조건을 '그대로' 구현하면 되는 문제이다. - 주어진 킹과 돌의 위치를 기반으로 움직임에 대한 명령어 대로 킹과 돌을 움직여주면 된다. - 자세한 내용은 코드의 주석을 참고하자.

20200819 딥러닝은 어려워 ( feat.자아성찰 )

학부시절 머신러닝을 어느정도 경험해보았다는 자신감에 QILT 프로젝트에 딥러닝을 추가해보려 했는데... 이게 참 ㅎㅎ 새삼 느끼는게 학부시절에 얼마나 무식하고 단순하게 머신러닝을 접하고 사용했는지를 새삼 깨닫고 있다. 사실 이전 회사를 관두고 나는 무엇을 하고 싶은건지 무엇을 개발하고 싶은건지에 대해 많은 고민을 했었는데.. 처음에는 기존에 해오던 업무 중 자율주행자동차에 대한 개발을 하고 싶은거라고 생각했다. 그런데 백수로 지내며, 공부를 해내가며 생각을 정리해보니 내가 하고 싶은 것은 사람의 감각기관을 모사하는 프로그램을 개발하고 싶었던 것 같다. 좀더 직관적으로 표현하면 어떠한 데이터들을 분석해 그것이 가지는 의미를 도출하는 그런 과정, 그것을 통해 새로운 것을 보여줄 수 있는 것을 개발하고 싶은 ..

일기장/하루 2020.08.19

텐서플로우 강의 사이트

개인 프로젝트인 QILT의 딥러닝을 적용하기 위해 텐서플로우를 공부하고 있다. 텐서플로우의 도큐먼트도 상당히 잘 갖추어졌지만 초심자로써 따라하기가 벅차 구글링을 하다 정말 좋은 강의사이트들을 찾게 되었다. 1. 모두를 위한 머신러닝/딥러닝 강의 ( 시즌1 ,모모딥) http://hunkim.github.io/ml/ 모두를 위한 머신러닝/딥러닝 강의 hunkim.github.io HKUST 김정훈 교수님이 올리신 강의로 몇년 지난 강의다보니 텐서플로우 1.x 버전으로 진행되고 있는 강의이다. 하지만 수학도 잘 모르는 글쓴이조차 딥러닝의 로직이 어떻게 돌아가는지 이해할 수 있을 정도로 쉽게 그리고 중요한 요점들에 대해 잘 가르쳐주시기에 추천하는 바이다. 2. 모두를 위한 머신러닝/딥러닝 강의 ( 시즌 2 ,..

TensorFlow 2020.08.19

17141 연구소2 ( BFS, BackTracking )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 17141_연구소2 - 이 문제는 조합을 이용하여 바이러스를 선택, 선택된 바이러스를 BFS를 이용하여 확산시킴으로 전체 지도를 덮는데 얼마만큼의 시간이 걸리는지 구하는 문제이다 - 입력된 지도에서 확산시킬 수 있는 바이러스 M개의 위치를 임의의 조합으로 선정, 선정된 바이러스를 확산시켜 최종적으로 몇초가 걸리는지, 가장 적게 걸린 시간이 언제인지 구하는 문제이다. - 문제 풀이는 BFS와 백트래킹을 활용하여 풀이했다. - 자세한 내용은 코드의 주석을 참고하자.

16988_Baaaaaaaaaduk2_Easy ( BFS, BackTracking )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 16988_Baaaaaaaaaduk2_Easy - 이 문제는 조합으로 나오는 모든 경우에 대해 BFS 탐색을 이용해 풀 수 있는 문제이다 - 입력으로 주어진 바둑판 상황에 대해 "검은 돌을 두개 놓을 수 있는" 모든 경우에 대해 구하고(조합), 각 상황에 따라 흰돌 (상대의 돌)이 죽는 상황인지, 죽는다면 몇개 죽는지에 대해 BFS탐색으로 확인을 해주어 풀 수 있다. - 문제 풀이는 BFS와 백트래킹을 활용하여 풀이했다. - 자세한 내용은 코드의 주석을 참고하자.