일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cmd1
- pwnable
- 6566
- 코틀린
- tlqkf
- col -1 from CursorWindow
- Couldn't read row 0
- pwable.kr
- cmd2
- 쏘큩
- 액션바 필요없숴
- pwnable.kr
- kotlin
- java.lang.IllegalStateException
- 포너블
- Docker
- UNIQUE constraint failed
- 클라우드가 뭐야
- Drive-By-Download
- Make sure the Cursor is initialized correctly before accessing data for it.
- python
- 파이썬
- 클라우드란?
- 페니빙
- 애너그램 그룹
- 나이순 정렬
- 10814
- 백준
- 블록체인
- SQLiteConstraintException
- Today
- Total
목록분류 전체보기 (112)
푸르미르
문제에서 골드바흐 파티션이 여러가지인 경우 두소수의 차이가 가장 작은 것을 출력하라 했다. 즉 입력값이 16일 경우, 16= 11+5 =13+ 3으로 2가지의 골드바흐 파티션이 있는데 11-5
에라토스테네스 체에 대해 공부하기 싫어서 미루고 미루다 공부를 하고 코드를 짰는데 너무 안되서 대가리가 있는지 없는지도 헷갈릴정도라 힘들었던 문제다. leedakyeong.tistory.com/entry/%EB%B0%B1%EC%A4%80-4948%EB%B2%88-%EB%B2%A0%EB%A5%B4%ED%8A%B8%EB%9E%91-%EA%B3%B5%EC%A4%80-in-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%89%BD%EA%B2%8C-%ED%92%80%EA%B8%B0 [백준] 4948번 : 베르트랑 공준 in 파이썬 쉽게 풀기 백준 4948 베르트랑 공준 in python https://www.acmicpc.net/problem/4948 코드 1 2 3 4 5 6 7 8 9 10 11 12..
ui는 이렇다. 맨위에는 홈으로 가는, 즉 첫페이지로 구글페이지가 열리게끔 설정하였는데, 홈버튼 클릭시에 구글페이지로 가게 설정하였으며, 옆에 점이 세로로 되어있는 옵션바를 누를경우, 옵션바가 나오고 저기서 검색사이트를 클릭할 경우 흔하게 쓰이는 사이트가 나오며 저기서 한 사이트를 클릭하면 webView에 해당 사이트가 나오게 제작하였다. 또 개발자 정보라는 메뉴 아이템을 누를 경우 개발자와 컨택 할 수 있는 항목이 나오며 이중 하나를 클릭할 경우 암시적 인텐트로 인해 해당 기능을 하는 휴대폰의 기본 앱이 켜지게 된다. 예를 들어 전화하기를 클릭했을 경우, 휴대폰의 전화 앱이 켜지고 개발자의 전화번호가 뜨게 된다. 또 webView를 길게 눌렀을 경우, 이런식으로 컨텍스트 메뉴가 나오게 된다. 피이지 공..
웹은 크게 프레젠테이션티어, 로직티어, 데이터 티어라는 3계층 구조로 이루어져있다. 클라이언트 영역과 서버영역으로 웹을 나누게 되면 프레젠테이션티어는 클라이언트 영역에 속하며, 다른 티어들은 서버영역에 속한다. 내가 웹브라우저를 통해 구글로 접속했을 때 HTTP요청이 전송되어 인터넷을 통해 구글 서버영역으로 전달된다. HTTP HTTP는 웹을 구현하기 위한 네트워크 프로토콜이다. 이때 프로토콜은 송신호스트와 수신호스트 즉 클라이언트와 서버가 서로 통신하기 위한 일종의 규약이다. HTTP통신은 요청과 응답 두가지로 구성된다. 클라이언트 영역에서 서버영역으로 HTTP요청을 전송하고 웹서버는 해당요청을 처리한 후 HTTP응답을 통해 그 결과를 반환한다. HTTP요청 메세지 요청메세지의 구성은 이런식이다. 메소..
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하는 문제인데 솔직히 알고리즘 시간에 배워서 별 생각이 없었다. 아무생각없이 풀다가 시간초과났다. 이럴거면 문제에 일반적으로 소수를 구하는 알고리즘을 구현하다가는 시간초과딱밤을 맞게 될거라고 말좀 해주던가. 이게 시간초과 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 m,n = map(int, input().split()) #정수 입력 for i in range(m, n+1): if i==1: continue if i==2: print(i) else: for j in range(2, i): if i%j==0: break if j==i-1: print(i) cs 아무생각없이 해당 숫자까지 나누기로 구하다가는 큰코다친다. 다른 블로그 글 ..
허니팟 관련 프로젝트를 위해 구입한 도서이다. ModSecurity를 활용한 웹 애플리케이션 방어 레시피는 라이언 바넷이라는 분이 쓰셨고 그 영문 서적을 천민욱이라는 분이 한글로 옮기셨다. 하............... 진짜 이 책으로 공부하다 울뻔했다. 소스코드 다운로드 링크로 갔더니 어떻게 다운받는지도 모르겠고 영문서적만 나온다. 작가이름, 연구팀 깃허브 찾아가도 소스코드는 눈을 씻고 찾아봐도 보이지 않았다. 나의 대학교 2년 간의 시간으로 갈고닦은 구글링 실력으로는 어림도 없었던 것일까 아님 그냥 소스코드가 없는 것일까. 이 책은 그리고 perl이나 php를 할 줄 알아야한다. 소스코드 봤는데 솔직히 뭔소린지 모르겠다. 다 필요없고 그냥 내가 바보고, 바보인 사람은 이 책 사지마라.
허니팟 프로젝트를 실행하는데 필요한 환경을 설정해보도록 하자. 먼저 우분투를 깔아야 하는데 이것은 너무나도 쉽게 다른 블로그들에서 설명을 해주니 스킵. 우분투에 먼저 아파치를 깔아줘야 되는데 오류가 발생하였다. 이러한 해결방법으로 역시 구글링이 짱이다. 먼저 sudo killall apt apt-get으로 kill해주는데 관련 파일을 찾을 수 없다고 뜬다. 그래서 다른 방법으로 lock 걸린 파일들을 제거해줬다. sudo rm /var/lib/apt/lists/lock, sudo rm /var/cache/apt/archives/lock, sudo rm /var/lib/dpkg/lock*를 해주고 sudo dpkg --configure -a를 해준후 다시 apt를 업데이트 시켜줬다. 그 후 다시 아파치를 ..
바로 앞의 글의 동일한 ui에서 시간이 줄어드는 타이머를 만들어 입력값으로 주어진 시간으로부터 타임오버시 0초 00으로 표시가 되는 앱을 만들어 보겠다. ui는 이렇다. 아래에 초를 입력하고 타이머설정 버튼을 누르면 타이머가 작동한다. .xml .kt timer기능을 사용하였고, runOnUiThread메서드를 사용하여 ui를 조작해주었다. time을 감소시켜가며 ui의 sec와 milli를 변경시켰는데 이때 time이 0이되었을 때 타이머를 취소하였다. 이때에도 역시나 runOnUiThread메서드를 사용하였다.
오늘은 시간을 재는 간단한 스톱워치를 만들었다. 일단 앱 UI부터 보면 이런 형태이다. 저 분홍색 되돌이 표시를 누르면 다시 0이되어 reset된다. 또 가운데 play버튼을 누르면 스톱워치가 실행되며 랩타임버튼을 누를시, 위 처럼 랩타임이 위에서 아래로 기록이 된다. .xml코드 .kt코드 여기서의 핵심은 timer인데 코틀린에서 일정한 시간을 반복하는 동작을 수행할 때 timer기능을 사용한다. timer(period=1000){ //오래걸리는 작업 runOnUiThread{ //ui조작을 하여 빠른 시간안에 행해져야 하는작업 } } 위의 코드는 1000ms 즉 1초 간격으로 어떤 동작을 수행하는 코드이다. 워커스레드에서는 ui를 조작할 수 없어 runOnUiTread()메서드를 사용하여 ui를 초마..
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하는 프로그램이다. 정말 쉬워보이지만 다른 언어 가튼 경우 다른 방법을 통해 좀 복잡하게 풀어야 하지만 파이썬은 그렇게 하지 않아도 된다. 파이썬2까지만 해도 long 타입이 존재했었는데 파이썬3부터는 int로 통합되었다. 파이썬은 integer overflow가 발생하지 않기 때문에 너무나도 편리하다. 사랑스러운 파이썬. 1 2 a, b = map(int, input().split()) print(a+b) cs www.acmicpc.net/problem/10757