본문 바로가기

컴퓨터

TWRP 빌드 보호되어 있는 글입니다. 더보기
[Minecraft Bedrock]서버 구동해보기 마인크래프트 베드락 서버를 교육용으로 사용하기 위해 오라클 클라우드에서 구동시켜 보았습니다. 프리 티어(1코어 2스레드, 1GB Ram)이며 오사카 리전으로 핑은 130~200정도입니다. 접속해보니, 핑 때문인지 블록을 캐면 0.1초 뒤에 드롭되는 현상이 나타나고 있습니다. 또한, 성능도 간당간당한지 Htop으로 봤을 때 계속 스레드 한 개는 100%의 사용률을 보이고 있었습니다. 윈도우에서 돌려봤을 때도 하나의 스레드만 갈구는 현상이 계속 보여서 스레드 여러 개는 필요 없겠구나 싶었는데, 결국 멀티스레딩을 하긴 하나 봅니다. 서버 cpu가 EPYC으로, 코어 당 성능이 높지 않다 보니 멀티스레딩에 기대야 하는데 주어진 스레드는 두 개 뿐이고.. 어찌되었든 그리 큰 성능은 기대할 수 없겠네요. 다만 플레.. 더보기
백준 2447 파이썬 복잡하지만, 재귀 자체를 익히기 좋은 문제는 아닌 것 같습니다. 이 문제는 재귀만으로 풀기에는 무리가 있습니다. 그 이유는 아래에서 자세히 다루고, 이 포스트에서는 반복을 포함한 쉬운 방법으로 구현한 코드를 다루겠습니다. size = int(input()) def make(size): if size ==1: return [['*']] unitsize = int(size/3) full = [[] for i in range(size)] unit = make(unitsize) none = [' ' for i in range(int(size/3))] for i in range(size): for j in range(3): if j==1 and int(i/(unitsize))==1: full[i].extend(n.. 더보기
Ubuntu로 Wireless AP 만들기(RTL8188CUS 이용) 보호되어 있는 글입니다. 더보기
T-Bao R8 노트북 드라이버 지난 2018년에 구매했던 저렴한 T-Bao R8 노트북 순정 윈도우에서 추출해 두었던 드라이버들입니다. 압축 풀기 하시고, 폴더 경로를 기억해두세요. 장치 관리자에서 잡히지 않은 장치에 대해,(기타 장치->알 수 없는 장치로 표시됨) 우선 우클릭 후 속성으로 들어가서 "드라이버" 탭에서 "드라이버 업데이트" 버튼을 누릅니다. "내 컴퓨터에서 드라이버 찾아보기" 버튼을 누른 후, "찾아보기"버튼을 통해 아까 풀어 둔 폴더를 선택합니다. 그리고 다음 버튼을 누르면 자동으로 설치됩니다. 번거롭기는 하지만 윈도우 클린설치 후 자동으로 드라이버가 설치되지도 않고, 3DP에서도 몇 개 안되는 드라이버만 설치되기 때문에 윈도우 설치 후 드라이버를 잡기 위해서는 이 방법이 가장 쉽습니다. 윈도우 설치 시 드라이버를 .. 더보기
bitcoind 설치 비트코인 거래 등의 비트코인 작업을 위해서 설치해야 하는 bitcoind는 github에서 내려받은 후 빌드하여 설치할 수 있다. 도커 기반으로 하였으며,아래의 스크립트로 설치하였다. #!/bin/bash cp /etc/apt/sources.list /etc/apt/sources.list.orig sed -e s/archive.ubuntu.com/ftp.kaist.ac.kr/g /etc/apt/sources.list >/etc/apt/sources.list.tmp mv /etc/apt/sources.list.tmp /etc/apt/sources.list apt-get update apt-get install software-properties-common -y add-apt-repository ppa:b.. 더보기
Android BroadcastReceiver(kotlin) 매일 자정에 특정 코드를 실행하고 싶어서 내용을 검색하다가 BroadcastReceiver를 찾게 되었다. BroadcastReceiver는 안드로이드 시스템에 Broadcast한 이벤트를 받아서 실행되는 코드를 가지는 클래스이다. 먼저, AndroidManifest.xml에 등록해야 한다. ... ... 다음으로, BroadcastReceiver를 상속한 클래스를 만든다. class MyBroadcastReceiver : BroadcastReceiver(){ override fun onReceive(context: Context?, intent: Intent?) { val actionName = intent!!.action Toast.makeText(context, "받은 액션 : $actionName.. 더보기
테인트 분석이란? 백워드 슬라이싱과 포워드 슬라이싱 백워드 슬라이싱은 결과에 영향을 주는 모든 원인을 찾아내는 것 포워드 슬라이싱은 원인 A가 야기할 수 있는 모든 결과를 찾아내는 것 테인트 분석 포워드 슬라이싱과 유사 Taint Source에 꼬리표를 붙인 뒤, Taint Sink까지의 흐름을 찾는 것. 우리가 하는 분석에서 Taint Source와 Taint Sink의 관계는 동일 유저임 더보기
Jupyter Notebook 접속 오류(프록시) 클라이언트에서 프록시를 사용할 때의 오류 프록시를 풀고 사용해야 하며,VPN은 문제 없다. 더보기
Java JDK 8 설치하기(2020.03.03 기준) Java 프로그램을 컴파일하기 위해서는 JDK가 필요하다. JDK 8 버전을 설치하기 위해서는 Oracle 홈페이지에서 다운로드받아야 한다.(링크) 언제부터인가 Oracle 계정이 있어야 다운로드할 수 있게 되었기 때문에 오라클 계정을 만들어 두자. 내려받은 파일은 Windows의 경우 더블 클릭하여 설치하고, Linux의 경우 압축을 풀어 자신이 원하는 위치에 두면 된다. 필자의 경우 /usr/lib 하위에 두었다. 이후 환경변수 설정을 해 주어야 하는데, Windows의 경우 이 링크를 참고하여 진행할 수 있다. 더보기