tips

Twitterのツイートにおけるt.coの文字数を取得

t.coの換算が10/19ぐらいから23になってしまって困っている [twitter:@riocampos] です。 こういうときにも困らないようにするには、 Twitter API に入っている数値を取得して定数に入れるのが良いです。 client = Twitter::REST::Client.new(KEY_SECRET_HAS…

iOS 9のChromeからサイトをツイートするためのbookmarklet

Twitter 公式 app が先日 iOS 9に対応した際に、 Universal Links というものにも対応しました。 What’s new in version 6.37 : Support for universal links that open directly in Twitter rather than launching Safari. Twitter adds quick reply to iOS…

nationalgeographic.comの記事を画像付きで印刷したい

小顔のヒト属新種ホモ・ナレディを発見、南ア | ナショナルジオグラフィック日本版サイト という記事の大元記事がこちら。 This Face Changes the Human Story. But How? しかし、残念ながら、印刷しようとすると文章だけになってしまう。 CSS を見ると@medi…

全角アルファベットを含まずéやñなどのアルファベットにマッチする正規表現

正規表現は Ruby のリテラルで表記します。 復習:一般的な26文字のアルファベットにマッチする正規表現 /\w+/ éやñなどのアルファベットにもマッチする正規表現 /\p{Latin}+/ こちらも同様と思われます。 /[\p{Lower}\p{Upper}]+/ ただしこれだと全角アルフ…

Lion Serverのsyslogdが暴走

夏なので我が家の Mac mini の Lion Server も暴走してます。 と思ったのですが、暑さだけでは無さそうな気配。アクティビティモニタを立ち上げると syslogd が暴走して CPU 使用率100%に。うんともすんともならないので電源ボタン長押しで強制終了。 原因 s…

Xcodeの使い方tipsへのリンク集

基本的にXcode 5及び6でのtips。 Xcodeで使われている文字アイコンの意味まとめ | objc-Lovers objective c - Xcode intellisense meaning of letters in colored boxes like f,T,C,M,P,C,K,# etc - Stack Overflow 開発レシピ:Xcodeの便利マーク | iOS開発…

ツイートを検索してRTするスクリプトの一例

Twitterアプリケーションを設定・作成し、続いてスクリプトの設定をしていきます。 今日は ドローンが首相官邸の屋上に落下 セシウムを検出【UPDATE】 のネタが大きかったので、「ドローン」または「drone」を検索することにします。 Twitter アプリケーショ…

Twitter gemの検索結果インスタンスとその内部を解説(ついでに since_id モンキーパッチも)

Twitter gem (バージョンは5.14.0)を使って検索して得られるインスタンス(以下、検索結果インスタンスと呼びます)の扱いが意外と難しいのに詳細解説している記事が見当たらないので書いてみました。 TL;DR(要点) result_tweets = client.search(query,…

Mechanizeの使い方(CookiesはRedisサーバへ保存)

普段は OpenURL 、 JS が必要な場合には Watir-Webdriver を使ってサイトへアクセスするのですが、今回は Cookies が必要なだけだったので、初めて Mechanize を使ってみました。記録しておきます。 今回の目的 Qiita にログインして http://qiita.com/api/n…

SafariDriverの作り方

この記事は古くなりました。 Apple Safari: safaridriver (no download needed, it’s pre-installed if you have Safari 10) Drivers – Watir Project safaridriver requires using Safari 10 on either El Capitan or Sierra. Safari – Watir Project だそ…

MacのChromeでPOODLE脆弱性対策(Automatorを使う)

2014/11/19更新:今日公開されたChrome 39で対策済み…のはずですが、まだ確認サイトで確認すると「脆弱性!」と出ます。現在状況確認中。2014/4/15更新:今日公開されたChrome 42ではもうPOODLE対策されてました。どうやら Chrome 40 で対策済みだった よう…

ffmpeg 2.3.2 で映像と音声を結合させる

メモです。 ffmpegはバージョンが違うとオプションの使い方が大きく変わったりしますのでご注意ください*1。 ffmpegのバージョン $ ffmpeg -version ffmpeg version 2.3.2 Copyright (c) 2000-2014 the FFmpeg developers built on Aug 17 2014 23:24:49 wit…

ASCIIじゃないアルファベットを取り扱う(正規表現、upcase/downcase)

ツールドフランスが終わって「ああ夏が終わった」とぼんやりしている[twitter:@riocampos]です。 ASCII以外のアルファベットの「\w」 ツール向けに参加選手情報をリプする[twitter:@tdfmembers]というアカウントを運用(ただし途中で停止)していました。 そ…

Macの日本語キー配列で特殊文字を打つ(オプション⌥キーを押した場合)

環境:MacBook Pro w/Retina 13" Late 2013, OS X 10.9.4 初期状態 1 2 3 4 5 6 7 8 9 0 - ^ ¥ q w e r t y u i o p @ [ a s d f g h j k l ; : ] z x c v b n m , . / _ シフトキーを押した状態 ! " # $ % & ' ( ) 0 = ~ | Q W E R T Y U I O P ` { A S D F…

Gyazoのアップロード先をTwitterに

Gyazoのアップロード先をTwitterにした - 9mのブログ のパクリですスクリプトを若干変更しました。 基本的には同じです。 システムの Ruby に twitter gem をインストール $ rbenv global system $ sudo gem install twitter Gyazo内のスクリプトファイルを…

Jewelerで作ったGemをGithubとRubygemsに登録

Pokebell gem を作った際の記録。 Ruby - 読みをポケベル入力数字に変換するPokebell gem - Qiita アカウントは予め github には登録済みで、既に pokebell フォルダに、符号化できる状態の pokebell.rb を作成してある状況から開始しました。 Jewelerをイン…

markdown2hatenaをインストール

(ツール紹介)Markdown記法をはてな記法に変換するツール - 雲行きそらゆきココロイキ を使いたいので先ほどHaskellをインストールしました。バージョンは以下の通り。 $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.6.3 次…

スレッドではインスタンス変数を排他的に使わないとメモリを喰いまくるorz(←Rubyで使用メモリを減らすには(特にNet::HTTPライブラリを使う場合))

ガーベージコレクション(以下GC)すれば不要なオブジェクトが整理されてメモリが減る、と思い込んでいた[twitter:@riocampos]です。 環境はRuby 1.9.3です。 2014/8/19追記 google-picasa gemを扱うときにログインを終えたインスタンスをインスタンス変数に…

日本語表記の日時をTimeオブジェクトに変換(Time.strptimeメソッド)

日本語表記の日時をTimeオブジェクトに変換(Time.strptimeメソッド) - Qiita

スレッドをまたいだ大域脱出はエラーになるのでスレッドのブロックぎりぎりに大域脱出しよう

当たり前と言えば当たり前なんですけど。 スレッドをまたぐ大域脱出 Threadブロックよりも外にあるcatch(:out_of_thread)へ脱出しようとするとArgumentErrorエラーになります。 pry(main)> catch(:out_of_thread) do pry(main)* Thread.start do pry(main)* …

正規表現でユニコードの漢字・ひらがな・カタカナをマッチするには

個人的なメモ。大半は引用です。 参考文献 [連載:正規表現] Unicode文字プロパティについて(1) [連載:正規表現] Unicode文字プロパティについて(2) — Pの一族 [連載:正規表現] Unicode文字プロパティについて (3) 文字プロパティとは そしてまとめスライド […

(homebrewで)readlineを6.3.3にするとreadlineを使ったRuby 2.x.xのインストールで失敗する('14/4/14〜5/10)

更新:readline 6.3.5以上でpatchなしインストールが可能になったようです Homebrewの場合は5/10に6.3.5になりました。 readline 6.3.5 · d62a6cf · Homebrew/homebrew Ruby 2.1.1 を rbenv で入れようとするとビルドがコケる。 brew な readline が 6.3.3 …

lambda/Procと変数の関係(クロージャ)

クロージャ クロージャはブロックの内部に変数を保持できる、ということはいろんなところで書いてあります。 Rubyのブロックはそれ自身をオブジェクト化することができ、そうすることによってメモリ上に独立して存在できるようになる。 lambda { n += 1 } # …

PhantomJSを使ったWatirでUser-Agentを変更する

残念ながら引用だけなんですけどね。 オリジナル require 'watir-webdriver' capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs("phantomjs.page.settings.userAgent" => "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like…

Thread.joinのイディオム

いままでよく使ってたイディオム Threadを集めるArrayを用意する。 th = [] n.times do |i| th[i] = Thread.start{ do_something } end th.each(&:join) '14/6/30追記:Arrayにpushする th = [] n.times do th << Thread.new { do_something } end th.each(&…

Rubyでpdfのテキストを取得(poppler gem編)

実はpoppler gemを使うまでにいろんなpdfを扱うgemを確認してました。でも上手く行かなかったのです。 Ruby/Popplerを使えば、テキストがポンと出てきます。gem i popplerでインストール出来ます。 require "poppler" document = Poppler::Document.new("kei…

Rubyでpdfのテキストを取得(その他メモ)

origami 非常に高性能なpdfパーサ。 なのですが、日本語テキストを取ろうとするとかなりむずかしい。 Ruby で PDF と戯れるの巻 - Qiita あたりを参照。 Google Code Archive - Long-term storage for Google Code Project Hosting. File: README — Document…

秒を時分表示に変換するメソッド

Timeオブジェクト同士の差を取ると秒で返されるが、数字が大きすぎて何だかよく分からない。 ので何時間何分なのかを表示するようにした。秒は切り捨て。 def h_mm(sec) min = sec.to_i / 60 hh , mm = min.divmod(60) "%dh%02dm" % [hh, mm] end 応用編 「…

ClamXAVインストールでhomebrewにトラブル発生

$ brew doctor Warning: The /usr/local directory is not writable. Even if this directory was writable when you installed Homebrew, other software may change permissions on this directory. Some versions of the "InstantOn" component of Airfoi…

Mavericksの起動時にAFPサーバ(NAS)の共有フォルダを自動マウント

初代MacBook AirとSnow Leopardの頃は システム環境設定>ユーザとグループ>ログイン項目 にNASの共有フォルダshareをドラッグ&ドロップしておけば、問題なく自動マウント出来ていた。 しかしMacBook Pro w/RetinaとMavericksに変えてから、同様の方法では…