Bash on Ubuntu on WindowsにRailsをインストールするときに詰まったところ
nokogiriのインストール
Macの情報はたくさん書かれているが、Ubuntuの情報はあまり無かったので苦労した。
$ bundle config build.nokogiri --use-system-libraries $ sudo apt-get install libxslt-dev libxml2-dev $ cd /usr/include $ sudo ln -s ./libxml2/libxml libxml # macでのbrew linkに相当
jsonのインストール
jsonのversionを1.8.5以上にすればいいらしく、そのためには以下のようにすればいいらしい。
$ gem 'json', github: 'flori/json', branch: 'v1.8'
twitterのテキストデータからurl、メンション、改行を抜くShell Script
twitterのテキストデータからurl、メンション、改行を抜くShell Scriptを書きました。
#!/bin/bash sed -e 's/\(RT \)*@.\+[ :]//g' -e 's/\/*[http|t].*//g' -e 's/\\n//g' -e '/^ *$/d' $1
大量のデータから雑に消すことを想定しているので、urlが含まれているツイートのurl後の文章を全消ししたりしています。不便があったら改良するかもしれません。
行を指定してファイルを二つに分割するShell Script
ファイルを分割するunixコマンドとしてsplitがあります。が、ある行を境に分割するというものが無さそうだったので書きました。
#!/bin/bash if [ $# -ne 2 ]; then echo "Usage: this FILENAME LINE" exit 1 fi FILENAME=$1 LINE_1=$2 head -n ${LINE_1} ${FILENAME} > ${FILENAME}.1 LINE_FILE=$(wc -l ${FILENAME} | awk '{print $1}') echo ${LINE_FILE} LINE_2=`expr ${LINE_FILE} - ${LINE_1}` tail -n ${LINE_2} ${FILENAME} > ${FILENAME}.2 ||<
投票でコ●ル一位にして消防ども泣かそうぜwww 公開
エンジニア向けのパズルを作った。
ほとんどのエンジニアには解けるパズルシリーズにインスパイヤされて作ったのでサイトの構成などかなり参考にさせてもらっている。
エンジニア向けというよりクラッカーやスクリプトキディが喜びそうな内容だが、テーマとしては人気ランキング投票である。
このパズルのバックグラウンドにはコイル祭りという事件がある。2008年、yahooきっずでポケモンの映画の企画で人気投票が行われたが、候補のポケモンにピカチュウやシェイミ、ギラティナといった映画の主役級キャラに加えてなぜかコイルやタテトプスといった場違いなポケモンが含まれていた。そこにVIPPERが目をつけ、ツールで大量の多重投票を行い、コイルに圧倒的な票数が集まった。運営もVIPPERの投票速度を上回る速度でピカチュウの票数を伸ばすなどの工作で対抗し戦いは熾烈を極めたが、最終的に投票は中止になり、票数は捏造のもとシェイミが1位、コイルは2位という結果にされた。
そのような状況を擬似的に再現したものが今回のパズルである。Lv1なのでほとんど何の対策もしていない。そのため速ければ5分程度で解けてしまうだろう。
[投票パズルLv1]投票でコ●ル一位にして消防ども泣かそうぜwww
https://hackers-puzzle-1.herokuapp.com/