자동화 or 테스팅 용도로 많이 사용되는 Makefile 사용법을 포스팅하겠습니다. 1. 이름이 'Makefile' 인 파일을 만든다.-> Makefile.c, Makefile.txt 가 아닙니다. 그냥 Makefile입니다.-> ex) touch Makefile 2. 실행-> 콘솔에서 make 를 칩니다. 3. 내부 문법-> 최 상단의 매크로, targer부터 실행을 합니다. 만약 dependency가 있다면 dependency를 찾아 재귀 호출을 합니다.-> 아래 코드를 보시면 CC 는 gcc라 선언했습니다. 이렇게 한다면 긴 커맨드를 짧게 축약할 수 있겠죠.,-> target의 커맨드부터 실행이 됩니다. 그랜데 dependency가 있네요. dependency를 찾아 다음 줄로 넘어갑니다.-> de..
nc [options] [targer host] [ports] -n : 호스트 네임과 포트를 숫자로만 입력받는다 -v : verbosity 를 증가 시킨다. 더 많은 정보를 얻을수 있다. -o [filename]: 보내거나 받은 데이터를 헥스덤프하여 파일에 저장한다.-u : TCP connection 대신에 UDP connection 이 이루어 진다.-p [port number or name] : local-port 를 지정한다. 주로 -l 과 같이 사용하게 된다.-s [ip address or DNS] : local ip address 를 지정한다. 모든 플렛폼에서 지원되지는 않는다.-l : listen 모드로 nc을 띠우게 된다. 당연히 target host는 입력하지 않는다. -p와 같이 사용하게 ..
.gitignore 이란 .gitignore 파일 내부에 적힌 파일 목록들을 Git에 Push하는 일련의 과정에서 무시하고 Push를 합니다. 예를 들어 .gitignore 파일에 test.txt 라고 적혀있다면 test.txt라는 파일은 깃에 등록이 되지 않습니다. 작성법1. .git 파일과 동일한 위치에 .gitignore 파일 생성2. 모든 경로는 .gitignore기준 상대경로 // .gitignore 내부file.txt -> 해당 파일 무시 file.* -> 이름이 file인 모든 파일 무시(확장자 상관없음) folder/ -> folder 폴더 내부의 모든 파일 무시 !test.txt -> text.txt는 무시하지않는다.
1에 이어서 포스팅 하겠습니다. AsyncTask는 스레드를 사용하는 매우 편리한 방법입니다. 방법을 외우기만 한다면 매우 편리하죠. 개인의 취향이긴 하지만 저는 AsyncTask를 더욱 선호합니다. AsyncTask의 특징으로는 1. 백그라운드 작업을 쉽고 간단하게 할 수 있다. 2. 결과를 UI 스레드에서 하는 메소드가 있으므로 UI 스레드에 쉽게 접근 3. 메모리 누수(leak) 현상이 일어나지 않도록 액티비티가 종료될 때 cancel해주어야 함 4. 화면전환시 AsyncTask의 처리를 해주지 않기 때문에 예외현상이나 leak이 나타날 수 있다. Main ThreadAsyncTask의 구조Sub ThreadonPreExecute()doInBackground()onProgressUpdate()onP..
먼저 프로세스와 쓰레드의 개념에 대해서 설명하겠습니다. 프로세스란? 강으로 비유하자면 하나의 큰 흐름이자 명칭입니다. 한강에는 수많은 지류들이 있습니다. 그러나 우리는 이 모든걸 통틀어서 한강이라고 합니다. 물론 지류가 없이 큰 줄기하나의 강이 존재할 수 도 있습니다. 이런한 형태들의 프로그램 흐름을 프로세스라 합니다. 시스템적으로 설명하자면 디스크에 저장되어있는 '프로그램'이 메인메모리에 공간을 할당받고 CPU에 의해 실행된 상태를 프로세스라고 합니다. 요약하자면 프로세스는 프로그램의 커다란 흐름입니다. (하나의 프로그램이 여러 프로세스로 이루어질 수 있지만 이는 혼란을 초래하므로 넘어가겠습니다.) 쓰레드란? 쓰레드란 위에서 말한 여러가지 흐름입니다. 그것이 하나가 될 수도있고 여러가지가 될 수도 있습..
액티비티 위에 그림을 그리고 이미지를 출력하는 기능에 대해서 포스팅 하겠습니다. 기본적으로 두가지의 클래스를 사용합니다. 1. Canvas 점, 선, 원, 사각형 그리기/ 텍스트 쓰기/ 이미지 출력 등의 기능을 제공합니다. 2. Paint 펜 두께지정, 색상 선택, 스타일 선택, 글꼴 선택 등의 기능을 제공합니다. 기본적인 구현 순서는 다음과 같습니다. 1. View 클래스를 상속 받는 클래스 생성 2. OnDraw() 메소드 Overriding 3. Paint 객체 생성하고 Canvas에 그리기 4. onTouchEvent() 메소드 구현 5. 액티비티에 추가하기 Paint 클래스의 메서드에 대한 자세한 내용은 아래 링크를 참고하시기 바랍니다.Paint | Android DevelopersPaint p..
이번 포스팅은 앱을 앱답게 만드는 기능입니다. 스마트폰 내부에 파일의 형태로 데이터를 저장시킴으로써 데이터의 저장과 불러오기가 가능합니다. 안드로이드에서의 파일입출력은 자바와 비슷하게 이루어집니다. 좀 더 자세히, 효율적으로 사용을 하고 싶다면 자바의 파일입출력을 먼저 공부하시기 바랍니다. Byte단위 처리 FileInputStream / FileOutputStream 클래스 BufferedInputStream / BufferedOutputStream 클래스 문자 단위 처리 FileReader / FileWriter 클래스 BufferedReader / BufferedWriter 클래스 위 클래스 들을 주로 사용하여 이루어집니다. 이 포스팅에서는 크게 3가지의 파일입출력을 다룰 것 입니다. 1. 내장메모..
웹뷰는 다음 화면과 같이 앱 내에서 웹페이지를 띄워주는 방식입니다. 요즘같은 하이브리드 앱 시대에 많이 사용되는 컴포넌트 이며 구현도 간단해 널리 이용됩니다. 구현 순서는 다음과 같습니다. 1) Manifest에 접속권한 등록 2) 레이아웃에 웹뷰 추가 3) Activity에 코드작성 1. Manifest에 INTERNET권한 등록다음 권한을 AndroidManifest에 추가합니다. 2. 레이아웃에 웹뷰 추가 3. 코드로 구현webView = (WebView)findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); // 자바스크립트 사용하기 webSettings.setJavaScriptEnabled(true); // Web..
Intent를 통해 객체를 넘겨받고 싶을때가 있을 것 입니다. 예를 들면 어떤 사람의 인적사항, 물건의 정보 등을 액티비티간에 주고받고 싶다면 Intent를 사용해야 겠다고 생각은 할 것이나, 실제로는 주고 받아지지 않을 것 입니다. 객체를 주고 받기위해서는 바로 객체 클래스에 Parcelable을 상속받아 사용해야 합니다. Intent의 사용법은 앞 포스팅 7.Intent에 설명되어 있습니다. 간단하니 바로 시작하겠습니다. 1.객체 클래스제가 이전에 다른 앱을 위해 작성하였던 코드이지만 단순히 메서드만 보면 이해가 힘드시기에 코드를 통째로 붙였습니다. Parcelable 인터페이스를 상속받아 추상메서드를 모두 구현하여 줍니다. 또한 오버라이딩을 하여 아래와 같이 구현하여 줍니다. 한가지 팁이자면 변수를..
이번 포스팅은 바로 그리드 뷰 입니다. 구현방식이 이전 포스팅인 리스트뷰와 너무너무 비슷합니다. 커스텁 어댑터를 사용해 포스팅을 하도록 하겠습니다. 다만 이전의 포스팅과는 다르게 ViewHolder가 아니라 레이아웃을 상속받은 클래스를 ViewHolder대신 사용해 보겠습니다. 자세한 코드 설명은 없이 코드 첨부하고 포스팅을 마치겠습니다. 1. 레이아웃 제작 2. Data Class 제작public class Fruit { private String name; private int image; private String price; public Fruit(String name,int image, String price){ this.name = name; this.image = image; this.pri..
- Total
- Today
- Yesterday
- p-value
- 통계적 가설 검정
- Preprocessing
- #AWS
- Confustion Matrix
- Gradient descent algorithm
- Memory segmetation
- #handsonlab
- Algorithm
- ausg
- Markov Decision Process
- branch
- rl
- MySQL
- Reinforcement Learniing
- AWS
- #ausg
- sequelize
- MDP
- gitgnore
- Android
- Linux
- Reinforcement Learning
- commands
- #ab
- git
- 강화학습
- System
- Android Studio
- OS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |