본문 바로가기

dev218

[javascript] 자바스크립트 ES6 (ECMAScript 2015) 원문: https://www.w3schools.com/js/js_es6.asp JavaScript let let은 블록 스코프 내에서 변수를 선언할 수 있게 해줍니다. var x = 10; // Here x is 10 { let x = 2; // Here x is 2 } // Here x is 10 JavaScript const const로는 상수를 선언할 수 있습니다. (상수 값을 가지는 자바스크립트 변수) const는 let과 비슷하지만 값을 수정할 수 없습니다. var x = 10; // Here x is 10 { const x = 2; // Here x is 2 } // Here x is 10 Arrow Functions 함수를 작성할 화살표 함수로 좀더 짧은 문법을 사용할 수 있습니다. func.. 2019. 11. 22.
[javascript] 자바스크립트 랜덤숫자 사용하기(Math.random) 자바스크립트에서 Math.random() 함수를 사용하면 0에서 1 사이의 숫자를 리턴합니다. (0포함 1제외) // Math.random() console.log(Math.randon()); 0에서 10 사이의 랜덤 값을 얻고 싶다면 Math.random() 함수에 10을 곱하면 0 2019. 11. 22.
[objective-c] iOS 탈옥 탐지 방법 참고: How to check your app is installed on a jailbroken device 참고: https://github.com/thii/DTTJailbreakDetection iOS 탈옥은 애플의 보안규약을 뚫는 과정입니다. 그래서 iOS에 대한 root 접근을 허용하고 공식 애플 앱스토어에서 제공하지 않는 추가 앱, 확장 및 테마를 다운로드하여 설치할 수 있게 해줍니다. 만약 보안기능에 충실한 앱을 만들어야 한다면 탈옥하지 않은 순정폰에서만 실행되도록 해야합니다. 모든 경우에 대해서 탈옥을 탐지하기는 힘듭니다. 왜냐하면 탈옥 탐지 코드를 속이도록 하는 탈옥 방법도 있기 때문입니다. 하지만 보안 체크를 늘림으로서 앱 해킹을 더욱더 어렵게 만든다면 충분히 해볼만한 가치가 있을 것 .. 2019. 2. 19.
[linux] 리눅스 kill 명령어 사용법 (프로세스 죽이기) 참고: https://www.howtoforge.com/linux-kill-command/ 리눅스에서 작업을 할 때 응용프로그램이나 프로세스가 멈추는 것을 볼 수 있습니다. 이 때의 유일한 해결책은 그 프로세스를 종료하는 것입니다. 리눅스는 이러한 시나리오에서 사용할 수 있는 kill 유틸리티를 제공합니다. kill 명령어 kill 명령어는 대개 프로세스를 죽일 때 사용합니다. 하지만 내부적으로는 프로세스에 시그널을 보내 원하는 작업을 하게 하는 명령어입니다. 이 툴을 사용하려면 다음 구문을 사용합니다. $ kill [options] [...] 프로세스 죽이는 방법 죽이려는 프로세스의 pid를 얻은 다음 kill 명령어의 인자로 넘기면 됩니다. $ kill [pid] 예를들어 node.js로 실행 중인 .. 2019. 2. 13.
[swift] 문자열 읽기/쓰기 Version: Swift 4.2, Xcode 10, iOS 12 Text 문자열에 대한 파일 read/write 시 String 객체의 맴버함수를 사용할 수 있습니다. 파일에서 문자열을 읽어오는 방법 func read(fileUrl: URL) -> String? { var text: String? do { text = try String(contentsOf: fileUrl) } catch { print(error.localizedDescription) } return text } 파일에 문자열을 쓰는 방법 func write(fileUrl: URL, text: String) { do { try text.write(to: fileUrl, atomically: false, encoding: .utf8) }.. 2019. 2. 9.
[swift] Document/Library 디렉토리 경로 가져오기 Version: Swift 4.2, Xcode 10, iOS 12 현재 로드된 앱의 document 디렉토리와 library 디렉토리를 가져오는 코드입니다. func getDocumentDirectory() -> URL? { return FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first } func getLibraryDirectory() -> URL? { return FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first } FileManager.default.urls의 리턴 값은 array 이므로 배열의 첫번째 값을 사용하도록 first.. 2019. 2. 9.
[swift] CocoaPods Tutorial: 프로젝트와 Pods 연동하기 Version: Swift 4.2, Xcode 10, iOS 12 CocoaPods는 라이브러리 관리자로서 프로젝트와 라이브러리 간 의존성을 관리하는데 이러한 작업을 Podfile 하나로 지정할 수 있게 해줍니다. CocoaPods는 라이브러리 간 종속성을 맞춰주고 라이브러리를 프로젝트에 링크까지 해줌으로서 개발자가 다른부분에 신경을 덜 쓰고 바로 빌드할 수 있도록 해줍니다.CocoaPods 준비CocoaPods를 설치하기위해선 macOS에 기본으로 포함된 Ruby를 사용하는게 가장 간단한 방법입니다. 일반적인 맥에서 gem을 설치하려면 sudo 명령어를 사용해야 합니다. $ sudo gem install cocoapods 프로젝트에 적용기존 프로젝트와 CocoaPods를 연동하기 위해선 Podfile이.. 2019. 2. 9.
[swift] Draw Image Tutorial: 그림 그리는 앱 만들기 Version: Swift 4.2, Xcode 10, iOS 12UIKit을 활용해 화면 터치로 간단한 그림 그리는 앱을 만들겠습니다. iOS의 UIKit에는 이미 그림 그리기 관련 API가 많기 때문에 그냥 적절히 활용하면 쉽게 드로잉앱을 만들 수 있습니다.이 튜토리얼에서 다룰 주제는 선그리기, 선의 속성 정하기, 지우기 등 입니다.준비사항전체 코드가 담겨있는 프로젝트는 첨부파일로 확인할 수 있습니다. 현재 여러가지 기능이 있는 복잡한 앱을 만드는게 아니기 때문에 ‘Single View App’ 템플릿으로 프로젝트를 생성합니다. 프로젝트 생성이 성공했으면 Project Navigator에서 Main.storyboard를 선택하고 다음 이미지처럼 연필과 지우개 버튼, UIImageView를 만듭니다.UI.. 2019. 2. 9.
[c++] 더하기, 두 수의 합을 출력 다음 코드는 변수를 사용하여 두 수의 합을 구하는 프로그램이다. #include int main() { int a = 0; a = 10 + 20; std::cout 2018. 4. 24.
[c++] 문자열 여러 행 출력하기 (cout) 다음은 cout을 이용해 여러행의 문자열을 출력하는 코드이다. #include int main() { std::cout 2018. 4. 24.
[linux] 리눅스 ls 명령어 사용 예제 (파일 목록 보기) 원문: https://www.tecmint.com/15-basic-ls-command-examples-in-linux/1. 그냥 파일 목록 보기ls 명령어에 아무 옵션도 붙이지 않고 실행하면 파일 타입, 크기, 날짜 등의 정보없이 파일의 목록만 나열한다. [root@localhost /]# ls bin dev home lost+found misc net proc sbin smartagent sys usr boot etc lib media mnt opt root selinux srv tmp var 2. 좀더 상세한 목록 보기-l 옵션(알파벳 엘)은 파일이나 디렉토리의 크기, 수정시간, 소유자, 권한의 정보를 추가로 보여준다. [root@localhost ~]# ls -l 합계 68 -rw-------. 1.. 2018. 3. 15.
[linux] 리눅스 df 명령어 사용 예제 (디스크 용량 확인) 원문: https://www.tecmint.com/how-to-check-disk-space-in-linux/ 리눅스는 디스크 용량 관련 유틸리티로 'df'를 제공한다. 'df'는 disk filesystem의 약자로 사용가능 공간이나 사용한 공간 등의 정보를 리포트 해주지만 단순 숫자의 나열이 아니라 사람이 직관적으로 내용을 파악할 수 있도록 해주는 옵션도 있다. 1. 파일시스템의 디스크 사용량 확인하기 'df' 명령어는 디바이스 이름, 전체 블럭 수, 전체 디스크 공간, 디스크 사용량, 빈공간, 마운트위치를 보여준다. [root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup 1797106.. 2018. 3. 9.
[linux] 리눅스 cat 명령어 사용 예제 (파일 내용 보기) 원문: https://www.tecmint.com/13-basic-cat-command-examples-in-linux/cat 명령어는 리눅스나 유닉스같은 운영체제에서 가장 자주 사용하는 명령어 중 하나입니다. cat 명령어는 파일을 만들거나 내용 보기, 합치기, IO 리다이렉트 등의 기능을 합니다.1. 파일의 내용 보기아래의 예제는 /etc/passwd 파일의 내용을 보여준다.[root@localhost /]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin2. 여러 파일의 내용 보기아래 예는 test1과 test2의 파일 내용을 보여준다.[.. 2018. 3. 9.
[linux] 리눅스 vi 색깔 테마 바꾸기 참고: http://sisiblog.tistory.com/168vim에서는 글자의 색을 간단히 바꿀 수 있도록 몇가지 색상 테마를 제공한다. 이 테마를 사용하는 방법은 ':color [테마 이름]' 이와 같이 사용하면 된다.':color desert' 라고 입력하면 desert 테마로 색상이 바뀌는 것을 확인할 수 있다. 여기서 vim이 제공하는 테마의 이름이 알고싶다면 '/usr/share/vim/vim[VER]/colors/' 이 경로에 '테마이름.vim'으로 확인할 수 있다. 또한 vi 명령모드에서 ':color ' 입력하고(명령 뒤 공백) 탭을 누르면 저장되있는 설정을 돌아가며 설정할 수 있고 기본으로 돌리고 싶다면 default 테마를 선택하면 된다. 2017. 7. 11.
[linux] 리눅스 wget 명령어 - 다운로드 따라하기 참고: http://sisiblog.tistory.com/25리눅스 서버 구축 시 패키지 매니저를 사용하지 않고 입맛대로 빌드하여 사용하고 싶을 때가 있다. 이럴 경우 소스코드를 포함하는 아카이브를 구해야 하는데, 이동식 디스크를 사용할 수도 있지만 네트워크가 연결된 서버라면 웹에서 파일을 다운로드 받는 편이 수월하다.wget으로 파일을 다운로드 하려면 http나 ftp 주소를 알아야한다. 여기서는 적당히 크기가 있는 우분투 배포판을 가지고 다운로드하겠다.wget 명령어 형식은 'wget [다운받을 파일의 주소]'이다. 위의 그림과 같이 입력한 후 실행하면 대용량의 파일도 다운받을 수 있다. 위의 그림은 우분투 iso 파일을 다운받는 중에 캡쳐한 화면이다. 다음카카오 미러를 통하여 다운로드 받고있고 진행.. 2017. 7. 7.
[linux] 리눅스 putty, vi로 'Hello World' 프로그램 만들기 vi 사용 방법: http://sisiblog.tistory.com/176집에있는 컴퓨터로 외부 서버에 접속하여 프로그래밍 하려면 주로 텔넷이나 SSH 클라이언트를 사용한다. 여기서는 터미널 프로그램으로 putty를 사용하겠다.Host Name에 원격 서버의 IP 주소를 입력하고 Port에 할당받은 포트를 입력한 후 Open을 눌러 연결 시도한다. 서버와의 연결이 성공하면 로그인 ID와 비밀번호를 입력한다. 성공하면 환영 메시지나 로그가 출력되고 쉘에 접속하게 된다. 위 그림은 현재 로그인한 계정의 /home 디렉토리로 접속됐다. mkdir 명령어로 테스트용 디렉토리를 만들고 그 디렉토리에 hello.c 라는 이름의 파일을 만든다. vi의 사용법은 상단의 링크에서 확인할 수 있다. 이제 코딩하기 직전까지.. 2017. 7. 6.
[linux] 리눅스 vi 명령어 - 사용법 따라하기 vi 명령어 요약: http://sisiblog.tistory.com/168문서 파일을 만들거나 편집하려면 명령줄에 'vi [파일이름]'을 입력한다. 파일이름 항목에 기존에 존재하는 파일을 넣으면 그 파일을 읽어 편집이 가능하게하고, 존재하지 않는 파일이면 새로 파일을 만들어 편집할 수 있게 한다.현재 디렉토리에는 asdf.txt가 없는 상황이다. 여기에 'vi asdf.txt'를 입력하면 asdf.txt를 만들고 편집할 수 있는 화면이 나온다. 위 그림은 vi가 실행된 화면이다. 최초 실행 시 편집모드가 아닌 명령모드로 열리기 때문에 실질적인 문서 편집을 할 수 있는 상황은 아니다. 여기서 편집을 하려면 키보드의 'i'를 입력한다. (소문자 i, 필요에 따라 a 또는 o를 입력할 수 있다. 자세한 기능.. 2017. 7. 6.
[java] 자바 랜덤으로 숫자 생성하기 (random) 참고: https://developer.android.com/reference/java/util/Random.html 랜덤으로 뭔가를 뽑아내려면 java.util 패키지의 Random 클래스를 사용한다. Random random = new Random(); int randomValue = random.nextInt(10); 위의 코드는 0부터 9까지의 숫자를 랜덤으로 리턴한다. int minimumValue = 123; int maximumValue = 456; Random random = new Random(); int randomValue = random.nextInt(maximumValue - minimumValue + 1) + minimumValue; 특정 범위의 값을 얻고 싶다면 위와 같이 변위.. 2017. 6. 26.
[linux] 리눅스 "rm -rf /" 사용 예제 시스템 정보삭제하는데 재귀적으로 강제로 루트부터rm -rf /실수로 입력하지 못하도록 되어있음 /proc, /sys 등은 남겨두고 모두삭제 2017. 6. 16.
[linux] 리눅스 find 명령어 사용 예제 (파일 찾기) 참고: http://www.binarytides.com/linux-find-command-examples 1. 현재위치 아래에 있는 모든 디렉토리와 파일 표시 $ find $ find . $ find . -print 2. 특정 디렉토리에서 찾기 $ find ./sub1 파일이나 디렉토리 이름에 와일드 카드 사용 $ find ./ -name "*test*" 3. 파일만, 디렉토리만 찾기 $ find ./ -type f -name "sub*" $ find ./ -type d -name "sub*" 관련 글 리눅스 재귀적 grep 사용 방법 2017. 6. 16.