Upload files through API API 를 이용해서 nextcloud에 디렉토리를 생성하고 파일을 업로드할 수 있다. 지금 운영하고 있는 nextcloud는 서버 한 대에 디스크도 전부 한 장씩 싱글로 돌아가고 있지만 클라이언트가 여러 대 있기 때문에 굳이 데이터에 대한 백업이나 가용성을 설정할 필요는 없다. 대신 웹서버랑 메타데이터에 대한 백업은 별도로 필요한데 이 API를 이용하면 웹서버 덤프를 데이터화 시켜서 […]
[Python] Selenium을 이용한 Melon Playlist 추가 자동화
Melon Playlist 추가 자동화 Selenium을 이용해 Melon에서 음악을 검색해 Playlist에 추가하는 과정을 자동화한다. Bugs에서 Melon으로 갈아탔는데 그동안 Bugs에서 듣던 노래가 500곡이 넘어서.. 일일이 검색해 추가하기가 번거로워 Python Selenium으로 playlist 검색해 추가하는 자동화 스크립트를 만들어봄. Selenium은 세션을 이용해 크롤링을 할 수 있는 정도로만 알고있었는데, 패키지 내 WebDriver로서 활용할 수 있는 클래스가 많다. 로그인 하는 과정과 음악을 […]
[Java] Maven JDBC 프로젝트 생성하기
[Java] Maven JDBC 프로젝트 생성하기 카카오뱅크 코딩테스트 문제로 나왔던 문제를 해결하기 위해서 Maven을 처음 사용해봤다. Java 프로그래밍이 과제였는데 단순히 소스코드를 제출하는 것이 아니라 Maven 프로젝트를 제출하는 것이어서 부랴부랴 준비해서 사용해봤다. 프로그래밍을 하면서 별도의 IDE를 사용해본 적이 없어서 리눅스 bash와 vim 만을 이용했다. 프로젝트 생성 및 의존성 관리 다음 명령으로 프로젝트를 생성한다. mvn archetype:generate \ -DgroupId=net.oboki.kakaobank […]
[Tibero] _TX_RECOVERY_SUSPEND=Y
_TX_RECOVERY_SUSPEND=Y 대용량 트랜잭션 수행 중 DB가 종료되었을 때, 복구 대상인 트랜잭션들을 undo segment에서 모두 찾아 해당 object에 반영해주는 작업을 수행하게 된다. 대용량 insert 또는 update 도중 DB가 종료된 경우 모두 rollback 처리가 선행되며 이 과정에서 해당 object에 대한 아무런 작업을 할 수 없고 모든 DDL이 수행되지 않는 상태가 되는데 이런 경우 _TX_RECOVERY_SUSPEND 파라미터를 적용해볼 수 […]
[mailgun] 개인 도메인으로 메일주소 만들기
개인 도메인으로 메일주소 만들기 mailgun을 이용하면 별도의 메일서버 구축 없이, gmail에서 내 도메인으로 메일을 보내고 받을 수 있다. 준비물 해외 거래 가능한 신용카드 개인 도메인 gmail 계정 Mailgun으로 gmail과 개인 도메인 연동 회원가입을 먼저 하고 계정 활성화 대리모 역할을 해줄 gmail 계정으로 가입을 하고, 신용카드 정보는 무료로 이용하려고 하더라도 일단 등록을 해야한다. (결제 없이 월 […]
[Python] Tensorflow 설치
Python Tensorflow 설치 사전 준비 CUDA 설치 https://oboki.net/workspace/system/linux/ubuntu-cuda-%EC%84%A4%EC%B9%98/ Python 설치 https://oboki.net/workspace/programming/language/python/python-python3-%EC%84%A4%EC%B9%98-%EC%86%8C%EC%8A%A4-%EB%B9%8C%EB%93%9C%ED%95%98%EA%B8%B0/ Tensorflow 설치 pip3 install tensorflow-gpu Tensorflow 동작 확인 아래 소스를 동작시키면서, import tensorflow msg = tensorflow.constant(‘Hello Tensorflow!’) sess = tensorflow.Session() print(sess.run(msg)) 동시에 nvidia-smi 명령으로 위 예제 프로그램이 gpu 를 잘 이용하고 있는지 확인
[Ubuntu] 16.04 버전 한글 설정
Ubuntu 16.04 한글 설정 fcitx-hangul 패키지를 설치한다. sudo apt install fcitx-hangul [System Setting] > [Language Support] 설정으로 들어가서 추가 설치가 필요한 부분을 마무리한다. 설치가 완료되면 Keyboard input method system 항목을 fcitx로 변경한다. 변경사항이 적용되도록 시스템 재부팅 sudo reboot now 재부팅이 완료되면 [All Settings] > [Keyboard] 설정으로 들어가서, Shortcuts 탭의 Typing 항목을 선택하고 다음과 같이 설정한다. […]
[wordpress] 호스트 변경시 uploads 경로 일괄 변경
WordPress 호스트를 변경하거나 서비스 경로를 바꿨을 때 리소스 참조가 제대로 안 되는 문제가 발생할 수 있다. 이때에는 과감하게 DB를 건드리면 된다. WordPress 서비스 경로를 note.tbig.ml에서 bips.ml/note로 변경한 경우, 아래 SQL로 wp_posts 테이블의 post_content 컬럼에 기존 경로로 기입돼 있는 URL을 전부 변경한다. update wp_posts set post_content = replace(post_content,’note.tbig.ml/wp-content/uploads’,’bips.ml/note/wp-content/uploads’) where post_content like ‘%note.tbig.ml/wp-content/uploads%’; commit;
[oracle] 12c Silent 설치
Oracle 12c silent 모드 설치 사전 준비 커널 파라미터 설정 vi /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4056393728 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 sysctl -p User Limit 설정 vi […]
[BaekJoon Online Judge] 2606 – 바이러스
[BaekJoon Online Judge] 2606 – 바이러스 문제 https://www.acmicpc.net/problem/2606 소스코드 dfs 를 이용해서 문제를 해결한다. 양방향 간선으로 표현된 네트워크 입력을 그래프로 표현한 뒤 1번 컴퓨터부터 탐색을 시작하면 바이러스에 감염되는 모든 컴퓨터를 찾아낼 수 있다. N = int(input()) V = int(input()) graph = [[0 for _ in range(N)] for _ in range(N)] for i in range(V): a,b […]