분류 전체보기
-
저번 포스팅에서는 깃을 통해 작업 소스코드의 초기화, 스테이징, 커밋, 되돌리기를 어떻게 하는지에 대해 알아보았습니다. 이번 포스팅에서는 git의 큰 장점이라고 할 수 있는 동일한 작업 파일의 버전을 여러개 만들어 관리하는 방법에 대해 알아보겠습니다. git 사용법 튜토리얼 시리즈 1 초기화, 스테이징, 커밋, 되돌리기 2 깃 브랜치(branch) 같은 파일로 여러 버전 만들기 3 깃허브와 연동하기 4 브랜치 원격에서 다루기 5 PR (Pull Request) & Issue 6 오픈 소스 기여하기 ○ Git Branch(브랜치) 란? SW를 개발할 때, 깃의 브랜치기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있도록 해줍니다. 또 혼자서 작업하더라도 여러 버전을 만들어 놓을 때,..
[Git] git 사용법 튜토리얼2 - 깃 브랜치(branch) 같은 파일로 여러 버전 만들기저번 포스팅에서는 깃을 통해 작업 소스코드의 초기화, 스테이징, 커밋, 되돌리기를 어떻게 하는지에 대해 알아보았습니다. 이번 포스팅에서는 git의 큰 장점이라고 할 수 있는 동일한 작업 파일의 버전을 여러개 만들어 관리하는 방법에 대해 알아보겠습니다. git 사용법 튜토리얼 시리즈 1 초기화, 스테이징, 커밋, 되돌리기 2 깃 브랜치(branch) 같은 파일로 여러 버전 만들기 3 깃허브와 연동하기 4 브랜치 원격에서 다루기 5 PR (Pull Request) & Issue 6 오픈 소스 기여하기 ○ Git Branch(브랜치) 란? SW를 개발할 때, 깃의 브랜치기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있도록 해줍니다. 또 혼자서 작업하더라도 여러 버전을 만들어 놓을 때,..
2020.06.22 -
git 사용법 튜토리얼 시리즈 1 초기화, 스테이징, 커밋, 되돌리기 2 깃 브랜치(branch) 같은 파일로 여러 버전 만들기 3 깃허브와 연동하기 4 브랜치 원격에서 다루기 5 PR (Pull Request) & Issue 6 오픈 소스 기여하기 깃(Git) 이란? 깃은 버전 관리(형상 관리)를 할 수 있는 툴 중 하나이며, 깃은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료 공개 소프트웨어 입니다. 깃의 큰 특징 중 하나는 분산형 관리 시스템이라는 점입니다. 소스코드를 여러 개발 pc와 저장소에 분산해서 저장 가능하며, 그렇기 때문에 서버에 장애가 발생해도 로컬 저장소에 커밋을 할 수 있습니다. 또한 로컬 저장소들을 이용하여 중앙 저장소의 복원도 가능합니..
[Git] git 사용법 튜토리얼1 - 초기화, 스테이징, 커밋, 되돌리기git 사용법 튜토리얼 시리즈 1 초기화, 스테이징, 커밋, 되돌리기 2 깃 브랜치(branch) 같은 파일로 여러 버전 만들기 3 깃허브와 연동하기 4 브랜치 원격에서 다루기 5 PR (Pull Request) & Issue 6 오픈 소스 기여하기 깃(Git) 이란? 깃은 버전 관리(형상 관리)를 할 수 있는 툴 중 하나이며, 깃은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료 공개 소프트웨어 입니다. 깃의 큰 특징 중 하나는 분산형 관리 시스템이라는 점입니다. 소스코드를 여러 개발 pc와 저장소에 분산해서 저장 가능하며, 그렇기 때문에 서버에 장애가 발생해도 로컬 저장소에 커밋을 할 수 있습니다. 또한 로컬 저장소들을 이용하여 중앙 저장소의 복원도 가능합니..
2020.06.19 -
안드로이드를 무작정 개발하다 보면, 여러 스레드들이 충돌이 일어나 원하지 않는 결과가 나오거나 모듈의 순서가 맞지 않는 경우가 종종 있는데요. 스레드는 프로세스 안에서 돌아가는 코드와 별개로 병렬로 실행되며 여러개의 스레드가 존재할 수도 있습니다. "동기화"란, 여러 스레드가 같은 프로세스 안에서 서로 자원을 공유하기 때문에 영향을 주게 되는 것을 말하는데 만약 어떤 스레드가 처리하고 있던 내용을 중간에 다른 스레드가 처리하게 되면 충돌이 발생하거나 원치 않은 결과를 받을 수 있습니다. 이러한 현상을 스레드 간섭이라고 합니다. 그래서 오늘은 안드로이드 Handler, Thread, Looper, AsyncTask, Join, Syncronized 등 동기화에 관한 개념을 총 정리하도록 하겠습니다. ○ 안..
[Android] 핸들러, 스레드, 병렬처리, 동기화 왜 필요할까안드로이드를 무작정 개발하다 보면, 여러 스레드들이 충돌이 일어나 원하지 않는 결과가 나오거나 모듈의 순서가 맞지 않는 경우가 종종 있는데요. 스레드는 프로세스 안에서 돌아가는 코드와 별개로 병렬로 실행되며 여러개의 스레드가 존재할 수도 있습니다. "동기화"란, 여러 스레드가 같은 프로세스 안에서 서로 자원을 공유하기 때문에 영향을 주게 되는 것을 말하는데 만약 어떤 스레드가 처리하고 있던 내용을 중간에 다른 스레드가 처리하게 되면 충돌이 발생하거나 원치 않은 결과를 받을 수 있습니다. 이러한 현상을 스레드 간섭이라고 합니다. 그래서 오늘은 안드로이드 Handler, Thread, Looper, AsyncTask, Join, Syncronized 등 동기화에 관한 개념을 총 정리하도록 하겠습니다. ○ 안..
2020.06.02 -
● Android Speech Recognizer 안드로이드에서는 구글 SpeechToText, TextToSpeech 기술인 stt, tts를 내장 API로 지원하고 있습니다. 별도의 설치 없이 gradle에 특별한 세팅이 필요하지 않고 manifest에 몇 가지 권한을 주면 바로 불러와서 사용가능 합니다. Android Developers SpeechRecognizer 공식문서 ○ android.speech 클래스를 사용해 STT 기능 구현하기 1. AndroidManifest.xml 2. activity_main.xml 화면은 음성인식 시작 버튼과 음성인식 결과 텍스트뷰만 생성하였습니다. 3. MainActivity.java // android.speech 클래스에서 필요한 객체 임포트 import..
[Android] 구글STT, TTS 사용하기 (android.speech)● Android Speech Recognizer 안드로이드에서는 구글 SpeechToText, TextToSpeech 기술인 stt, tts를 내장 API로 지원하고 있습니다. 별도의 설치 없이 gradle에 특별한 세팅이 필요하지 않고 manifest에 몇 가지 권한을 주면 바로 불러와서 사용가능 합니다. Android Developers SpeechRecognizer 공식문서 ○ android.speech 클래스를 사용해 STT 기능 구현하기 1. AndroidManifest.xml 2. activity_main.xml 화면은 음성인식 시작 버튼과 음성인식 결과 텍스트뷰만 생성하였습니다. 3. MainActivity.java // android.speech 클래스에서 필요한 객체 임포트 import..
2020.05.26 -
○ gitignore.io 검색창에 운영체제, 개발환경(IDE), 프로그래밍 언어를 검색하면 .gitignore 파일을 자동으로 생성해 줍니다. .gitignore 파일이란? 프로젝트에 원하지 않는 백업 파일이나 로그파일 혹은 컴파일 된 파일들을 Git에서 제외시킬 수 있는 설정파일 한마디로 깃허브에 커밋할때 필요하지 않는 파일은 업뎃 시키지 않는 기능입니다. 이렇게 생성하면 # Created by https://www.gitignore.io/api/androidstudio # Edit at https://www.gitignore.io/?templates=androidstudio ### AndroidStudio ### # Covers files to be ignored for android develop..
[Git] .gitignore 자동 생성 및 적용하기○ gitignore.io 검색창에 운영체제, 개발환경(IDE), 프로그래밍 언어를 검색하면 .gitignore 파일을 자동으로 생성해 줍니다. .gitignore 파일이란? 프로젝트에 원하지 않는 백업 파일이나 로그파일 혹은 컴파일 된 파일들을 Git에서 제외시킬 수 있는 설정파일 한마디로 깃허브에 커밋할때 필요하지 않는 파일은 업뎃 시키지 않는 기능입니다. 이렇게 생성하면 # Created by https://www.gitignore.io/api/androidstudio # Edit at https://www.gitignore.io/?templates=androidstudio ### AndroidStudio ### # Covers files to be ignored for android develop..
2020.05.15 -
● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
[Android + NLP] Kkma형태소 분석기 안드로이드 스튜디오에서 사용하기● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
2020.05.12 -
○ 탐색 알고리즘 코딩테스트 단골 문제 BFS, DFS 흔히 BFS, DFS + 재귀 문제만 잘 풀어도 코딩테스트에 통과할 수 있다고 하는데요. 그만큼 단골문제로 등장하는 BFS(너비 우선 탐색), DFS(깊이 우선 탐색)에 대해 알아보고 관련 백준 예제도 풀어도보도록 하겠습니다. 우선 탐색 이란 무엇인가. 프로그래밍을 할 때 데이터베이스 안의 수 많은 자료에서 원하는 자료를 찾으려면 어떻게 해야할까요? 만약 데이터가 정렬이 되어있다면 이진탐색을 통해서 최대 로그N의 연산만으로 찾을 수 있겠지만, 정렬이나 분류가 되어있지 않는 자료라면 이야기가 달라집니다. 원하는 자료를 찾을 때 까지 하나씩 직접 확인하며 찾아야합니다. 이러한 무식한 방법이 바로 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 입니다..
[알고리즘] 탐색 BFS, DFS _ 백준 1260 파이썬○ 탐색 알고리즘 코딩테스트 단골 문제 BFS, DFS 흔히 BFS, DFS + 재귀 문제만 잘 풀어도 코딩테스트에 통과할 수 있다고 하는데요. 그만큼 단골문제로 등장하는 BFS(너비 우선 탐색), DFS(깊이 우선 탐색)에 대해 알아보고 관련 백준 예제도 풀어도보도록 하겠습니다. 우선 탐색 이란 무엇인가. 프로그래밍을 할 때 데이터베이스 안의 수 많은 자료에서 원하는 자료를 찾으려면 어떻게 해야할까요? 만약 데이터가 정렬이 되어있다면 이진탐색을 통해서 최대 로그N의 연산만으로 찾을 수 있겠지만, 정렬이나 분류가 되어있지 않는 자료라면 이야기가 달라집니다. 원하는 자료를 찾을 때 까지 하나씩 직접 확인하며 찾아야합니다. 이러한 무식한 방법이 바로 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 입니다..
2020.05.08 -
○ 텐서플로우 라이트, 텐서플로2.0도 Support TensorFlow 2.0을 사용하면 ML 응용 프로그램을 훨씬 쉽게 개발할 수 있습니다. Keras를 TensorFlow에 긴밀하게 통합하고 기본적으로 열악한 실행 및 Pythonic 함수 실행을 통해 TensorFlow 2.0은 Python 개발자에게 친숙한 응용 프로그램 개발 경험을 제공합니다. ML의 경계를 넓히는 연구원을 위해 우리는 TensorFlow의 저수준 API에 많은 투자를했습니다. 이제 내부적으로 사용되는 모든 op를 내보내고 변수 및 검사 점과 같은 중요한 개념에 대한 상속 가능한 인터페이스를 제공합니다. 이를 통해 TensorFlow를 다시 빌드하지 않고도 TensorFlow의 내부를 구축 할 수 있습니다. 텐서플로 라이트 공식..
[Android + Keras] .h5파일을 .pb와 .tflite 파일로 변환하기(Tensorflow Lite)○ 텐서플로우 라이트, 텐서플로2.0도 Support TensorFlow 2.0을 사용하면 ML 응용 프로그램을 훨씬 쉽게 개발할 수 있습니다. Keras를 TensorFlow에 긴밀하게 통합하고 기본적으로 열악한 실행 및 Pythonic 함수 실행을 통해 TensorFlow 2.0은 Python 개발자에게 친숙한 응용 프로그램 개발 경험을 제공합니다. ML의 경계를 넓히는 연구원을 위해 우리는 TensorFlow의 저수준 API에 많은 투자를했습니다. 이제 내부적으로 사용되는 모든 op를 내보내고 변수 및 검사 점과 같은 중요한 개념에 대한 상속 가능한 인터페이스를 제공합니다. 이를 통해 TensorFlow를 다시 빌드하지 않고도 TensorFlow의 내부를 구축 할 수 있습니다. 텐서플로 라이트 공식..
2020.05.06