[카테고리:] 생활코딩

  • TI6 본선

    TI6 본선

    요즘 올림픽이다 난린데, 여긴 하나도 안보여준다…

    올림픽보다..얼마전에 시작한 TI6가 볼만하네..한국의 유일한 출전팀 MVP가 본선 1차전에서 랭킹 1위를 씹어먹는 플레이..본선전 예선에는 0승으로 간신히 올라갔다는데..

    3차전은 거의 학살이던데..

    외국 다른팀들은 조용히 파밍하다가 나중에 한타로 승부를 내는데, 얘네들은 하루종일 줘패네…여기서 져도 상금 10억이라고 하니..밸브가 정말 돈을 어떻게 버는지 아는 회사이다..

    내돈 만원도 들어가 있는데, 할수가 없네..

    한국팀의 우승을 응원합니다!!!

    2차전에서..아쉽게 패배…

    상대가 MVP 천적이라는데, 치트키 켜고 겜하는줄 알았네..
    트위치에서도 한국어 서비스를 해줬다..

    Watch live video from Dota2_KR on www.twitch.tv

    다른 게임대회들은 상금도 적고, 광고주에게서 돈이 나오는데..도타2는 그딴거 필요 없는듯..
    프로 골퍼보다 나아보인다..

  • plexmediaserver 외부 네트웍에서 remote access 설정

    plexmediaserver 외부 네트웍에서 remote access 설정

    밖에 나와있는데, 집에있는 플렉스 미디어 서버가 죽어 버렸다.

    집에 들어가서 외부 접근 설정을 눌러야 되는데, 랜선으로 연결이 안된이상 옵션이 안보인다.

    인터넷에 찾아보니..
    터널링으로 내부에서 접속하는 방식으로 하면 된다…
    참조를 위해서 남긴다..

    https://support.plex.tv/hc/en-us/articles/200288666-Opening-Plex-Web-App

    On a Different Network

    If you’re on a different network than the Server computer, you’ll first need to set up a SSH tunnel so that you can access things as if they were local. This is only necessary for the initial setup.

    OS X or Linux

    1. Open a Terminal window or your command prompt
    2. Enter the following command (substituting the IP address of your Server as appropriate):
      ssh ip.address.of.server -L 8888:localhost:32400
    3. Open a browser window
    4. Type http://localhost:8888/web into the address bar
    5. The browser will connect to the Server as if it were local and load Plex Web App

    이게 안되면 마누라한테 전화해서 1:1 지시를 할라고 했는데, 다행이다..

  • podcast 자동 다운로드 스크립트

    홈서버 구축으로 plexmediaserver를 사용하고 있는데 podcast를 들을려고 한다..

    안드로이드 앱으로 들어도 되는데 잘 듣던 팥빵이 회원가입을 요구하고 있어서…짜증이 났다..
    전에 누가 tedtalks를 자동으로 다운로드 받는 스크립트를 작성했는데, 거기에서 좀 수정을 했다..

    3가지 정도 되는데…
    1. 지적 대화를 위한 넓고 얕은 지식
    2. 이진우의 손에잡히는 경제
    3. 파토의 과학과 사람들
    4. bbc 6minute english
    정도 된다..

    원문은 여기에서 다운로드 받았다.

    #!/bin/sh
    #
    # TEDTalks Downloader
    #
    # Copyright (C) 2009  Denver Gingerich
    #
    # Permission to use, copy, modify, and/or distribute this software for any
    # purpose with or without fee is hereby granted, provided that the above
    # copyright notice and this permission notice appear in all copies.
    #
    # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    
    
    #cron을 위한 cd
    cd /home/now0930/ExtHDD2/PODcast/PODcast
    
    echo "TEDTalks Downloader v0.1"
    echo "by Denver Gingerich (http://ossguy.com/)"
    echo
    
    which wget
    if [ $? -eq 0 ]; then
    	echo "Using wget..."
    	GET_CMD="wget -O"
    else
    	which curl
    	if [ $? -eq 0 ]; then
    		echo "Using curl..."
    		GET_CMD="curl -L -o"
    	else
    		echo "Could not find wget or curl"
    		exit 2
    	fi
    fi
    echo
    
    podcast_address=http://minicast.imbc.com/PodCast/pod.aspx?code=1000671100000100000
    FEED=feed_podcast.xml
    URLS=urls_podcast
    
    
    DIRNAME=이진우_손에잡히는경제
    
    rm -f ${FEED}
    ${GET_CMD} ${FEED} ${podcast_address}
    #${GET_CMD} ${FEED} http://minicast.imbc.com/PodCast/pod.aspx?code=1000674100000100000 
    
    #${GET_CMD} ${FEED} http://feeds.feedburner.com/tedtalks_video
    #손에 잡히는 경제 다운로드 주소.. 
    grep 'type="audio/mpeg"' ${FEED} | \
    
    
    #아래는 다운로드 받을 기간....
    grep '201607\|201605' | \
    sed -e 's/^ *<enclosure url="\([^"]*\)" type="audio\/mpeg" length="" \/>/\1/g' > ${URLS};
    
    
    mkdir -p ${DIRNAME}
    cd ${DIRNAME}
    for line in `cat ../${URLS}`; do
    	#SIZE=`echo ${line} | cut -d: -f1`
    	URL=`echo ${line}`
    
    	#URL=`echo ${line} | cut -d: -f2-`
    	FILENAME=`basename ${URL}|tr -d '\r'`
    	
    	echo $URL
    	echo $FILENAME
    
    	if [ ! -f "${FILENAME}" ]; then
    #	 || [ ${SIZE} -ne `ls -l "${FILENAME}" | awk '{print $5}'` ]; then
    		rm -f "${FILENAME}"
    		${GET_CMD} "${FILENAME}" "${URL}"
    	fi
    done
    
    
    cd ..
    
    
    
    #TED talks audio
    rm -f ${FEED}
    podcast_address=http://feeds.feedburner.com/TEDTalks_audio
    
    ${GET_CMD} ${FEED} ${podcast_address}
    
    
    grep '<media:content' ${FEED} \
     | sed -e 's/^.*<media:content url="\([^"]*\)" fileSize="\([^"]*\).*$/\2:\1/g' | cut -d "?" -f 1 \
     > ${URLS}
    
    mkdir -p TEDtalks
    cd TEDtalks
    for line in `cat ../${URLS}`; do
    	SIZE=`echo ${line} | cut -d: -f1`
    	URL=`echo ${line} | cut -d: -f2-`
    	FILENAME=`basename ${URL}`
    
    	if [ ! -f "${FILENAME}" ]; then
    #	 || [ ${SIZE} -ne `ls -l "${FILENAME}" | awk '{print $5}'` ]; then
    		rm -f "${FILENAME}"
    		${GET_CMD} "${FILENAME}" "${URL}"
    	fi
    done
    
    
    cd ..
    
    DIRNAME=파토의과학
    
    rm -f ${FEED}
    podcast_address=http://pod.ssenhosting.com/rss/scienceppl/sciencewithpeople.xml
    
    ${GET_CMD} ${FEED} ${podcast_address}
    
    grep 'type="audio/mpeg"' ${FEED} | \
    cut -d "\"" -f2 > ${URLS};
    #sed -e 's/^ *<enclosure url="\([^"]*\)" type="audio\/mpeg3" length="" \/>/\1/g' > ${URLS};
    
    
    mkdir -p ${DIRNAME}
    cd ${DIRNAME}
    for line in `cat ../${URLS}`; do
    	#SIZE=`echo ${line} | cut -d: -f1`
    	#echo "출력분"
    	#URL=`echo ${line} | cut -d'"' -f2-`
    	URL=`echo ${line}`
    	FILENAME=`basename ${URL}|tr -d '\r'`
    
    	#echo ${URL}
    	#echo ${FILENAME}
    	if [ ! -f "${FILENAME}" ]; then
    #	 || [ ${SIZE} -ne `ls -l "${FILENAME}" | awk '{print $5}'` ]; then
    		rm -f "${FILENAME}"
    		${GET_CMD} "${FILENAME}" "${URL}"
    	fi
    done
    
    
    << 'COMMENT'
    
    COMMENT
    
    
    
    
    cd ..
    
    
    
    #BBC 6minute English
    DIRNAME=Bbc6Min
    
    rm -f ${FEED}
    rm -f ${URLS}
    podcast_address=http://www.bbc.co.uk/programmes/p02pc9tn/episodes/downloads
    
    ${GET_CMD} ${FEED} ${podcast_address}
    
    sed -e 's/</\r\n/g' ${FEED}| grep mp3 |\
    cut -d "\"" -f4 > ${URLS};
    
    #sed -e 's/^ *<enclosure url="\([^"]*\)" type="audio\/mpeg3" length="" \/>/\1/g' > ${URLS};
    
    
    mkdir -p ${DIRNAME}
    cd ${DIRNAME}
    for line in `cat ../${URLS}`; do
    	#SIZE=`echo ${line} | cut -d: -f1`
    	#echo "출력분"
    	#URL=`echo ${line} | cut -d'"' -f2-`
    	URL=`echo ${line}`
    	FILENAME=`basename ${URL}|tr -d '\r'`
    
    	#echo ${URL}
    	#echo ${FILENAME}
    	if [ ! -f "${FILENAME}" ]; then
    #	 || [ ${SIZE} -ne `ls -l "${FILENAME}" | awk '{print $5}'` ]; then
    		rm -f "${FILENAME}"
    		${GET_CMD} "${FILENAME}" "${URL}"
    	fi
    done
    
    
    cd ..
    
    #지대넓얕
    DIRNAME=지대넓얕
    
    rm -f ${FEED}
    rm -f ${URLS}
    podcast_address=http://pod.ssenhosting.com/rss/rrojia2/rrojia2.xml
    
    ${GET_CMD} ${FEED} ${podcast_address}
    
    xpath -e '//enclosure/@url' ${FEED} |\
    cut -d "\"" -f2 > ${URLS}
    
    #sed -e 's/</\r\n/g' ${FEED}| grep mp3 |\
    #cut -d "\"" -f4 > ${URLS};
    
    mkdir -p ${DIRNAME}
    cd ${DIRNAME}
    for line in `cat ../${URLS}`; do
    	#SIZE=`echo ${line} | cut -d: -f1`
    	#echo "출력분"
    	#URL=`echo ${line} | cut -d'"' -f2-`
    	URL=`echo ${line}`
    	FILENAME=`basename ${URL}|tr -d '\r'`
    
    	#echo ${URL}
    	#echo ${FILENAME}
    	if [ ! -f "${FILENAME}" ]; then
    #	 || [ ${SIZE} -ne `ls -l "${FILENAME}" | awk '{print $5}'` ]; then
    		rm -f "${FILENAME}"
    		${GET_CMD} "${FILENAME}" "${URL}"
    	fi
    done
    
    
    cd ..
    
    #권한 변경..
    find ./ -type f -exec chmod 755 {} \;

    매일매일 실행하기 귀찮으니, cron에 등록하면 된다.

  • wordpress에 구글 2단계 작업 적용하기

    여기사이트에서 얻어옴..
    백업을 위해서 그대로 긁음..

    1. Henrik Schack이 제작한 플러그인 설치(integrates with Google 2fa; it’s also called Google Authenticator)

    2. 구글 앱에서 등록해줌..

  • tensorflow 머신러닝

    테스트용으로 tensorflow를 집 서버에 설치..

    pip로 설치하는 방법도 있는데, 여기에서는 아나콘다를 사용해서 설치하는 방법을 추천..
    1. anaconda 설치
    2. conda 가상환경 activate
    3. tensorflow 설치 및 실행..

    서버에 그래픽 카드가 없어 display로 이미지를 못읽음..
    파일로 저장해서 client로 이미지를 읽음..

    stack over flow에서 참조..

    import matplotlib.image as mpimg
    
    img = mpimg.imread("src.png")
    mpimg.imsave("out.png", img)

    여기위는 무시하고 tensorflow에서 제공하는 tutorial을 먼저 봄..

    머신러닝 관련해서는 여기를 참조..
    https://www.coursera.org/의 andrew ng의 강의..

    github의 tensorflow example
    개요 책은 Machine-Learning-Tom-M-Mitchell에서..

    tensorflow의 기본 튜토리얼은 https://www.tensorflow.org의 MNIST For ML Beginners를 참조..

    머신러닝 관련사이트들..
    http://t-robotics.blogspot.kr/search/label/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%20%EC%9D%B4%EC%95%BC%EA%B8%B0