Retired Colourman

何度も朝がやってくる

DBHT作りなおした

受験生なのに懲りないでコード書き直してた

github.com

もともと一年前ぐらいに書いたコードなのでひどかった。それをベースに直したのでやっぱり直してもひどかった。

もともとの名前は Delete Black History of Twitter だったので、それの頭文字をとってプロジェクト名にした。いろいろとまだまだダメダメだしRubyだとWindowsつらい~~~~~ってなりがちだから他のもので作りなおしたいんだけど受験生だった。悲しいなぁ。

あと、得た知見としてRubyのopenに関するものがある。

file = open("/pass/to/file")

lines = file.readlines

ってやると、linesにファイルの各行が配列としてはいるんだけど、それを使うときは

line1 = lines[0].gsub("\n","")

ってやってあげないとエラーの元になる。

と思って書いたけど、これいろんな先人がもう書いてますね。はい。

あとこういう記事をいちいちはてなに書くのもどうなのかと思っているので、適当にgithubレポジトリつくって遊べるようにしたいなぁ

最後に

大学合格できる気がしないので大学が僕を指名してほしさがある

hamlで[value-top]のようなハイフンでつながった要素を指定する方法

%a{:value-top => "35"}

ってやるとエラーが出てしまうので、

%a{"value-top" => "35"}

みたいな感じでやってあげれば解決する。ってか多分皆知っていることな気がする。

雑談

はっきりいってこの記事に全く関係のないことなんだけど、「今年やり残したことがない人ってもう死んでもいいみたいなあきらめの境地にいる人じゃない?」と親が言っていたのでたしかになぁと思った。

gemをインストールする際のエラー(rbenv)

OSをぶっ飛ばしたので環境を再構築した時にはまったので。

$gem install bundler
ERROR: Loading command: install (LoadError)
  cannot load such file -- zlib 
ERROR: While executing gem ... (NameError) 
  uninitialized constant Gem::Commands::InstallCommand

Question #213446 : Questions : “rubygems” package : Ubuntu

どうやらzlib1g-devというパッケージがなかった模様。

$sudo apt-get install  zlib1g-dev
$rbenv uninstall <ruby-version>
$rbenv install <ruby-version>
$gem install bundler

で解決する。

Rubyでserialportを操作してArduinoを動かす

Ruby-serialport

Arduinoではシリアル通信を使ってコードを書くことが出来ます。

そのシリアル通信に関することをRubyで書きたい場合には、Ruby-serialportというgemを使えばよいです。

インストールは

gem install serialport

で出来ます。

コード

Rubyでserialportを弄る簡単なスクリプト

こんな感じです。Arduinoの方は、シリアルを受け取って、その文字列が'y'だったらLEDを点灯、'n'だったらLEDを消すだけの簡単なプログラムです。

Rubyの方は.readで読み込み, .writeで書き込みです。

Tweets.csvを使って特定ワードの含まれてるツイートを消す

追記: 2016/12/06

  • 記事内のURLを更新しました.

コード

GitHub - sh4869/DBHT: Delete your tweet using tweet.csv

どんな風になるのか

まず最初にoauth認証画面が出るので、リンクを踏んで認証します。

消したい言葉を入力します。

f:id:sh4869:20140319150212j:plain

ツイ消しが完了すると、このような画面が出ます。

f:id:sh4869:20140319150249j:plain

ここでnを入力すると終了、yを入力するとツイ消し内容をTweetします。

https://twitter.com/sh4869sh/status/446161358342475776

必要なもの

  • Ruby
  • Tweets.zip
  • bundle

使い方

  1. まず、Twitterの公式ウェブにPCからアクセスします。
  2. その後、画面の右端の歯車のアイコンをクリックし、設定を選びます。
  3. ユーザー情報の欄の一番したから「全ツイート履歴をダウンロード」を見つけ、ボタンをおします。
  4. メールが来たら、そこに記載されているリンクに飛び、[tweets.zip]をダウンロードします。
  5. それを適当なフォルダに解凍し、その中に入っている[tweets.csv]をコピーしてどこかに置きます。
  6. このレポジトリをcloneします。
$git clone https://github.com/sh4869/DBHT
  1. そのフォルダにtweets.csvをいれます。
  2. 次のコマンドをうてば完成です。
$bundle install
$bundle exec ruby DBHT.rb

黒歴史クリーナーでよくね?

黒歴史クリーナーだと、すべてのツイートを消してしまうので消したくないツイートを消してしまうかもしれません。

なので、このプログラムは

  • 負のワードが入ったツイートのみ消したい
  • FavstarのMostなどは守りたい

という人におすすめです。

参考にしたリンク

http://utagawakiki.hatenablog.com/entry/2013/04/27/205115

csvの扱い方がよくわかりました。うたがわ氏ありがとうございました。

(余談ですがこのスクリプトはうたがわ氏がPythonで作ったものをRuby作り直したみたものです。)

この記事も合わせてどうぞ。

sh4869.hatenablog.com