분류 전체보기 264

[Android] 안드로이드 구조, init process

안드로이드 구조는 아래의 출처에서 확인할 수 있다. 아래의 내용은 출처의 내용을 가져온 것이다. https://source.android.com/devices/architecture 애플리케이션 프레임워크. 애플리케이션 프레임워크는 애플리케이션 개발자가 가장 자주 사용합니다. 하드웨어 개발자는 개발자 API에 대해 알고 있어야 합니다. 이는 다수의 API가 기본적인 HAL 인터페이스에 매핑되고 구현 드라이버에 대한 유용한 정보를 제공할 수 있기 때문입니다. 바인더 IPC. 바인더 IPC(프로세스 간 커뮤니케이션) 메커니즘은 애플리케이션 프레임워크에서 경계를 교차 처리하고 Android 시스템 서비스 코드를 호출할 수 있게 해줍니다. 그러면 상위 수준의 프레임워크 API가 Android 시스템 서비스와 상..

카테고리 없음 2020.06.02

[Colab] Sobel Prewitt Laplacian LoC 연산

먼저 위의 4가지 연산은 영상 처리에서 사용되는 개념이고 연산들이다. Edge, 즉 경계선을 검출하는데 사용이 되며 영상에서의 edge란 영상의 밝기가 낮은 값에서 높은 값으로, 또는 이와 반대로 변하는 지점에 존재하는 부분을 의미한다. edge는 영상안에 있는 객체의 경계(boundary)를 가리키는 것으로서, 모양(shape), 방향성(direction)을 탐지할 수 있는 등 여러 정보가 담겨있다. edge detection이란 에지에 해당하는 화소를 찾는 과정이다 한마디로 하자면, Edge는 어떤 객체와 배경 혹은 다른 객체와의 경계를 의미한다. 이런 Edge를 탐지하기 위해서는 밝기 값의 변화로 파악하는데 이 변화를 1차 미분과 2차 미분을 통해 확인한다. 1차 미분으로 Edge의 존재여부를, 2..

[Github] Markdown 사용

Markdown은 텍스트 기반의 마크업언어로 HTML로 변환이 가능하다. 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다. 깃헙의 저장소Repository에 관한 정보를 기록하는 README.md는 깃헙을 사용하는 사람이라면 누구나 가장 먼저 접하게 되는 마크다운 문서였다. 마크다운을 통해서 설치방법, 소스코드 설명, 이슈 등을 간단하게 기록하고 가독성을 높일 수 있다는 강점이 부각되면서 점점 여러 곳으로 퍼져가게 된다. 결과 URL: https://github.com/gjxo12/Reserch_Report/issues/1 First: UnderScore, ** [내용] ** , 기울임과 강조 '** 내용', '_ 내용'..

Git Github 시작하기

여기서는 윈도우환경에서 Git과 Github를 사용하는 방법에 대해 실습해본다. 참고 Reference는 이곳이다. https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners 1) 먼저 Git을 설치하고 Github 계정을 생성한다. Git: https://git-scm.com/ Github: www.guthub.com 이제 디렉토리를 하나 생성해서 그곳을 git과 연동시키는 작업이다. 이와 같이 새 디렉토리를 생성한다. 아래의 명령 프롬프트는 Git을 설치하고 오른쪽 클릭으로 git bash here를 실행하면 터미널을 열 수 있다. 2) Git 초기화 이제 이 폴더를 Root로 git 저장소를 초기화한다. 초기화는 ‘git init’..

[백준] 18808 스티커 붙이기

문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/18808 출처에 문제를 만든 사람이 유명한 사람이다. 구현과 BFS,DFS 위주의 기업테스트와 유사하게 까다롭게 문제를 만든다. 연습용으로 풀어보기 좋으니 풀어보자. 이 문제의 설계는 아래와 같다. 1) 격자판을 모두 탐색하면서 조건에 부합하면서 가능한 곳에 색종이를 놓기 (Run()함수) 2) 색종이를 회전시키는 함수 (rotate() 함수) 이 두가지를 구현하는 문제이다. 이런 구현 문제는 항상 회전이 알맞게 움직이는지, 모든곳을 조건에 맞게 탐색하는지 테스트데이터를 하나 만들어서 확인해야 오류나 에러를 최대한 줄일수 있다. 주석처리로 된곳이 확인한 부분들이다. 이외의 부분들은 코드의 주석을 확인하자. 123456..

알고리즘 2020.05.20

[백준] 17281 야구?

문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/17281 삼성 A형 기출문제 문제집에 야구공 모양의 문제이다. 이 문제는 처음에 아무리봐도 이해가 잘 되지 않았다. 그래서 처음에 해설을 참고할 수 밖에 없었다. 이 문제는 1) 순열을 통해 전체 경우를 찾는데, 4번타자는 항상 처음에 배치되는 조건을 만든다. 2) 야구의 규칙대로 구현을 한다. 인데 각 줄에 있는것이 무슨 의미인지 이해를 못했다. 각 줄은 1~n 이닝이니 순서와 상관이 없다. 우리는 순열을 사용해서 3아웃이 되면 다음 이닝에 따른 값을 사용하면 되는 문제이다.... 구현부분은 잘 작성이 안되어서 해설코드를 그대로 참고하여 내 코드에 맞게 조금만 수정하였다. 문제는 처음에 순열을 next_permuta..

XSD: XML 스키마 정의

XSD는 XML 스키마 정의(XML Schema Definition)를 의미한다. XSD는 XML 문서의 구조 및 해당 문서가 포함할 수 있는 적법한 요소와 속성을 명시하는 것이며 해당 XML 문서가 유효한(valid) XML 문서로써 포함할 수 있는 관계를 정의한다. XSD의 구성요소는 아래와 같다. xmlns:xs: XSD의 요소와 타입에 사용할 W3C의 XML 스키마 네임스페이스를 명시한다. targetNamespace: 요소를 정의할 XML 스키마 네임스페이스를 명시한다. xmlns: 기본 XML 스키마 네임스페이스를 명시한다. elementFormDefault: 해당 스키마를 이용해 선언한 XML 문서의 모든 요소가 네임스페이스를 만족한다는 것을 명시한다. 이전에 만든 XML 문서를 토대로 XS..

python 2020.05.13

[python] XML 파일 만들기

XML파일을 만들어야 해서 직접 XML파일을 만들려하다 그것보다는 파이썬을 통해서 XML파일을 만들 수 있다고 해서 파이썬 언어로 작성하여 XML파일을 만들었다. 파이썬에서는 XML파일을 만들기 위한 표준 라이브러리를 지원하며 별도의 패키지 설치 없이 사용할 수 있다. 1 2 from xml.etree.ElementTree import Element,SubElement,ElementTree,dump #-*-coding:utf-8 -*- Colored by Color Scripter cs 위와 같이 라이브러리를 import하면 된다. 트리 구조의 XML에서 Element를 root로 지정하여 트리구조의 XML을 만들수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ..

python 2020.05.08

[Android] Exoplayer

Exoplayer는 오픈소스 미디어 플레이어 라이브러리이다. 기존의 MediaPlayer 보다 더욱 작고 유연하며 안정적이므로 많은 개발자들이 사용하는 오픈 소스 라이브러리이며 2014년 구글에서 오픈소스로 공개하였다. 우리가 즐겨보는 유튜브는ExoPlayer 를 사용한다. 공식 Github 홈페이지에 자세한 사항이 나와있다. https://github.com/google/ExoPlayer 위의 사이트에 접속하면 기본적으로 어떻게 안드로이드 앱에 적용시키고 무엇인지 그리고 전체 소스코드를 확인할 수 있다. 전체 소스코드의 일부 분석 또한 간단하게 진행할 것이다. https://exoplayer.dev/hello-world.html 에서 Exoplayer에 대한 정보를 얻을 수 있으며 지원 가능한 포맷, ..

Ubuntu, Android 2020.05.07

[python] 엑셀 데이터 추출 및 메모장 데이터 가져오기

엑셀 데이터 추출 엑셀 데이터를 정리할 일이 생겨 데이터가 많아 파이썬 프로그래밍으로 해결할 일이 있었다. 엑셀 데이터에는 아래와 같다. 데이터는 웹 사이트의 공개된 샘플 자료이다 여기서 지역에 대한 데이터가 필요한데 이 지역데이터만 뽑기 위해서 프로그램을 적용해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 from openpyxl import load_workbook import re import sys def cleanText(readData): p = re.compile("[^0-9]") #print(p) #print("".join(p.findall(read..

python 2020.04.30