목록Develop - (37)
코드 한 줄
인증서를 만들지 않으신 분들은 이전 포스팅을 참고해주시기 바랍니다.해당 포스트에서는 생성한 인증서를 안드로이드 단말기에 설치하는 내용을 담고 있으며, 루팅된 환경에서 진행했습니다. 가장 먼저, 생성해둔 인증서를 단말기로 옮깁니다.cmd)adb push 1127f18c.0 /sdcard/ 설치 과정은 Android 14 를 기준으로 나뉩니다. Android 14 미만 단말기에서의 설치 먼저, 기존에 설치되어 있는 인증서를 백업합니다.(백업할 위치는 적절히 수정해줍니다)adb shell)cp /system/etc/security/cacerts/* /data/local/tmp/mycerts/ 미리 생성해두었던 인증서를 옮깁니다.(인증서의 파일명은 다를 수 있습니다)adb shell)mv /sdcar..

본 과정은 윈도우에서 진행되었으며 openssl 이 설치되어 있다는 가정하에 진행합니다.해당 포스트에서는 인증서를 생성하는 단계까지의 내용만 담고 있습니다. 먼저 아래의 openssl.cnf 파일을 준비합니다.(TEST 에 해당하는 부분은 적절히 변경해줍니다)# openssl.cnf[ req ]default_bits = 2048default_md = sha256default_keyfile = digi_cert.keydistinguished_name = req_distinguished_nameextensions = v3_careq_extensions = v3_ca[ v3_ca ]basicConstraints = critical, CA:TRUE, pathlen:0subjec..
안드로이드 단말기의 설정 앱에서 프록시를 설정하는 방법이 아닌, shell 에서 명령어를 이용하여 설정하는 방법 입니다.adb shell settings put global http_proxy :ex) adb shell settings put global http_proxy localhost:8080ex) adb shell settings put global http_proxy 192.168.0.1:9999 아래는 모든 설정을 취소하는 방법 입니다.adb shell settings put global http_proxy :0
사용자 환경 : Mac OS X 10.12.6 전달된 파라미터가 정확히 전달 되었는 지를 확인할 필요가 있다. 간단하게 확일할 수 있는 방법을 확인해보자. 파라미터를 전달할 때 파라미터의 수가 적을 때는 문제가 없지만, 많은 양을 전달할 때에는 하나하나 echo를 사용하여 확인할 수가 없다. 따라서 많은 양의 파라미터를 확인하고자 할 경우, 다음과 같이 확인할 수 있다. 위와 같이 print_r($_GET)을 사용한다면 get 방식으로 전달 받은 모든 파라미터를 확인할 수 있다. 확인하면 다음과 같이 결과가 나온다. post 방식도 get 방식과 같은 방법으로 사용할 수 있다.
사용자 환경 : macOS Sierra 10.12.6, Python 3.6.4, PyCharm 2017.3.4 build PC-173.4674.37. 이 글을 읽기 전, 1편 포스팅을 숙지 하셔야 됩니다. 설치는 다 했으니 본격적으로 실행에 옮겨보자. 1. 우선 필요한 파이썬 라이브러리들을 임포트 한다. from bs4 import BeautifulSoup from selenium import webdriver 2. driver라는 이름의 변수에 webdriver 객체를 만들어 저장한다. from bs4 import BeautifulSoup from selenium import webdriver # 위치 지정 driver = webdriver.Chrome("(~저장경로)/chromedriver") 저장경..
사용자 환경 : macOS Sierra 10.12.6, Python 3.6.4, PyCharm 2017.3.4 build PC-173.4674.37. 먼저 웹 크롤링이란 웹 사이트에서 원하는 정보를 자동으로 수집하는 것을 의미한다. 본인은 크롤링을 위해 파이썬 라이브러리인 BeautifulSoup과 Selenium을 사용했다. 첫 번째로 BeautifulSoup을 설치해보자. https://www.crummy.com/software/BeautifulSoup/#Download 빨간줄을 클릭해 다운을 받고 압축을 해제한다. 본인은 맥을 사용하고 있으므로 터미널을 열어 설치를 마무리한다. 1. 압축을 해제한 폴더로 이동한다. $> cd (압축푼경로~)/beautifulsoup4-4.6.0/ 2. 설치한다. $..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 링크드 리스트(linked list)의 머리 노드(head node)와 정수 N이 주어지면, 끝에서 N번째 노드(node)를 제거하고 머리 노드(head node)를 리턴하라. 단, 리스트를 한번만 돌면서 풀어야 한다. N은 리스트 길이보다 크지 않다. 예제 } Input : 1 -> 2 -> 3 -> 4 -> 5, N = 2 Output : 1 -> 2 -> 3 -> 5 Input : 1 -> 2 -> 3, N = 3 Output : 2 -> 3 Input : 1, N = 1 Output : null 이 문제는 두 개의 포인터를 쓰면 쉽게 풀린다. 첫 번째 포인터를 먼저 N만큼 보낸다. 그리고 첫 번째 포인터와 두 번째 포인터를 동시에 하나씩 움..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 문자열 배열(string array)이 주어지면, 제일 긴 공통된 접두사(prefix)의 길이를 찾아라 예제 } Input : ["apple", "apps", "ape"] Output : 2 // "ap" Input : ["hawaii", "happy"] Output : 2 // "ha" Input : ["dog", "dogs", "doge"] Output : 3 // "dog" 이 문제는 가장 긴 공통된 접두사가 첫 단어라고 가정하고, 각 문자마다 모든 단어에 비교한다. 비교하는 방식은 단어의 같은 위치에 문자가 있는지 확인한다. 만약 문자가 다르거나, 문자가 없으면 현재의 문자 위치까지만 공통된 접두사이다. int longestPrefixLen..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 정수 배열(int array)과 정수 N이 주어지면, N번째로 큰 배열의 원소를 찾아라. 예제 } Input : [-1, 3, -1, 5, 4], 2 Output : 4 Input : [2, 4, -2, -3, 8], 1 Output : 8 Input : [-5, -3, 1], 3 Output : -5 이 문제는 “Quick Select”의 알고리즘을 사용하는 대표적인 문제이다. Quick select는 퀵 정렬(quick sort)를 이용하는 알고리즘이다. 퀵 정렬의 pivot을 정하고 1차 정렬을 하면 pivot의 원소 위치는 최종 정렬된 배열의 위치가 된다. 이것을 이용하여 모든 배열을 정렬 하지 않고, pivot의 값을 비교하여, 찾는 값에..
사용자 환경 : IntelliJ IDEA 2017.3.2 (Community Edition)Build #IC-173.4127.27, built on December 26, 2017JRE: 1.8.0_152-release-1024-b8 x86_64JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.oMac OS X 10.12.6 콜라츠 추측이란? 어떤 수 n에 대하여 n이 홀수일 경우, 3을 곱하고 1을 더한다. n이 짝수일 경우, 2로 나눈다. n이 1이 될 때까지 반복하며 그 과정을 출력하는 프로그램을 만들어보자. 먼저, 본인은 다음과 같은 변수를 선언했다. private int N; private boolean tf; private int cnt; 입력받을 N과, wh..