タグ

ブックマーク / secondlife.hatenablog.jp (14)

  • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

    先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

    MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
    masterq
    masterq 2020/08/17
    どんどん皆Windowsに吸い込まれていく。。。 "Microsoft が謹製の WindowsTerminal を出したことから、多機能ではないけれど殆どの場合において必要十分なターミナルが気軽に使える感じに"
  • すべてが電子決済出来る街、深セン - 2nd life (移転しました)

    2016年10月に開かれた、ニコ技深セン観察会第6回に参加し、深センに行ってきた。 ニコ技深圳観察会 まとめ (ポータル):tks(高須 正和)のブロマガ - ブロマガ 深センの有名な電気街、華強北(ファーチャンペイ)は秋葉原の何倍も広く、沢山のお店で安価な商品が大量に並んでいて、よく解らない面白ガジェットやおもちゃも売られ、街中ではドローンが飛んでいるような街、と話には聞いていたが、実際に行ってみると、まんまその通りだった。またハードウェアスタートアップのエコシステムとしての深センも、これだけ様々なヒト・モノ・工場等々が集まっていると、ものすごい速度で開発が進んでいくんだろうな、という漠然とした熱量を感じることができた。 (ファーチャンペイのビルの一角。このようなビルが無数にある) しかしながら、個人的に一番衝撃的だったのは、きちんとした商店から、コンビニ、チェーン飲店、電気街の小さな

    すべてが電子決済出来る街、深セン - 2nd life (移転しました)
  • Chrome to Phone を Greasemonkey と Vimperator で利用できるようにする - 2nd life (移転しました)

    先日の公開された Android 2.2 ですが、この 2.2 で API から Google 経由で簡単に Push Notification Service を利用することができるようになりました。 Android Cloud to Device Messaging Framework - AndroidGoogle Developers アプリ開発者はこの API を使えば簡単に Web やその他 Android 以外のデバイスから起こしたアクションを Android に通知することができます。感覚としては5秒後にはもうすでにAndroid端末にpushされてる感じです。 で、この API を作った Chrome to Phone という Google Chrome で見ているページをワンクリックで Android に通知して Android ブラウザで開いたり、GoogleM

    Chrome to Phone を Greasemonkey と Vimperator で利用できるようにする - 2nd life (移転しました)
    masterq
    masterq 2010/05/29
    2.2 で API から Google 経由で簡単に Push Notification Service を利用することができるようになりました。 Android Cloud to Device Messaging Framework - Google Projects for Android アプリ開発者はこの API を使えば簡単に Web やその他 Android 以外のデバ
  • ブラウザにローカルファイルを Drag & Drop でフォトライフにアップロードする Greasemonkey Script - 2nd life (移転しました)

    HTML5 File API つかうとローカルファイルをブラウザに Drag したファイルをハンドリングして binary やら data スキームとして扱うことができ、Firefox 3.6 や Chrome 5 ですでに使えるというのを今さらながら知った*1ので、はてなフォトライフにローカルファイルをブラウザにドラッグするだけでアップロードできる UserScript を作ってみまんた。 http://gist.github.com/raw/406281/drag_drop_fotouploader.user.js WinXP + Firefox 3.6.3 で確認してますが OSXChrome5 などの環境で動くかは試してないので解りません。動作デモは以下の swf 動画を見てください。 http://rails2u.com/misc/fotolife_drag/ なんかすごい

    ブラウザにローカルファイルを Drag & Drop でフォトライフにアップロードする Greasemonkey Script - 2nd life (移転しました)
    masterq
    masterq 2010/05/21
    HTML5 File API つかうとローカルファイルをブラウザに Drag したファイルをハンドリングして binary やら data スキームとして扱うことができ、Firefox 3.6 や Chrome 5 ですでに使えるというのを今さらながら知った*1ので、はてなフォ
  • ブックマークレットサービス・Hatena::Let を作りました - 2nd life (移転しました)

    ブックマークレットをかんたんに作成・公開できるラボサービス、その名も Hatena::Let を作りました。 http://let.hatelabo.jp/ 未だにブックマークレットを作るときには、アドレスバーに javascritp:... を打ち込んで実行したり、 Firebug で実行して試しつつも外部の bookmarklet 化サービスを使って文字列削ったり、IE対策のため500ちょい文字を超えると gist にファイルを置きつつもおきまりの var script = document.createElement('scrit');... で JS のローダー書いたり、とやりたいことは同じなのにめんどくさい手順を毎回行っていたました。 ここらへんの手順を毎回繰り返すことなくさくっと作って公開したい!と思い id:cho45 と半年ぐらい前の開発合宿*1で作って眠らせていたのを、ち

    ブックマークレットサービス・Hatena::Let を作りました - 2nd life (移転しました)
    masterq
    masterq 2010/05/16
    ブックマークレットをかんたんに作成・公開できるラボサービス 拡張勉強するより汎用的かもしれない。
  • Google Chrome 拡張ことはじめ - 2nd life (移転しました)

    2009年12月8日*1(日時間では12/9朝)、拡張機能が有効(除くOSX)な Google Chrome ベータ版がリリースされました。同時にこつこつ開発を続けてた、はてなブックマーク Google Chrome 拡張ベータ版も公開したので、良かったら使ってみてください :D http://hatena.g.hatena.ne.jp/hatenabookmark/20091209/1260314705 というわけで、Google Chrome 拡張を作ってみたのですが、その時に参考にした資料やドキュメントをまとめてみました。 Google Chrome 拡張APIドキュメント http://code.google.com/chrome/extensions/docs.html的に上のURLで必要なAPIのドキュメントはまとめられています。またページ中央下の「Doc versio

    Google Chrome 拡張ことはじめ - 2nd life (移転しました)
  • github に gem を公開する - 2nd life (移転しました)

    http://github.com/ 最近一部で話題沸騰の githubgithubRails で作られたアプリケーションでは、自分が知りうる限り一番の完成度と使いやすさを誇るんじゃないか、と思っています。 ソースコードツリーの見やすさ、(g)zipでくれ機能、各種 git の情報へのアクセスしやすさ、最初に git レポジトリを作ったとき表示されるチュートリアルと云った基的なことはもちろんですが、オープンソースプロジェクト・コミュニティを加速させるであろう、分散レポジトリを利用した様々な機能がすばらしいですね。 誰かが公開してるレポジトリを fork ボタン一つで自分のレポジトリにクローンし、いろいろ変更を加え、大に取り込んで欲しいなぁ、と思ったら pull request。大のコミッタは気に入れば pull で取り込めばよいし、もし気に入らなかったとしても、変更者がそのフ

    github に gem を公開する - 2nd life (移転しました)
  • ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life

    http://blog.labnotes.org/category/scrapi/ rubyスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。たとえばとあるサイトのリンクを全部取得したければ、 require 'rubygems' require 'scrapi' require 'open-uri' require 'nkf' require 'pp' $KCODE = 'u' links = Scraper.define do process "a[href]", "urls[]"=>"@href" result :urls e

    ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life
  • TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)

    RakuAPI - 楽天市場 非公式ウェブサービス という楽天の非公式 API のライブラリを作るのが流行みたいなので作ってみました。ただそれだけでは面白くないので、最近自分が TDD でライブラリ作るときの方法も軽くご紹介します。 まずはインターフェイスの構想 何はともあれ、どんなインターフェイスを定義して、どんな結果が返ってくるのかがイメージできないとライブラリは作りにくいです。というわけでざっくり最初に構想を練ります。 RakuAPI の場合は WebAPI がシンプルに使えて良い感じなので、構想を練るのに考え込む、というのはありませんでした。 そんなんで、RakuAPI.new でインスタンスを取得して、search メソッドで第一引数に検索文字列、第二引数はオプションでジャンルやプライスを渡せるように、結果は配列にStruct が格納されてる感じにしよう。と考えました。 テストを

    TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)
  • 川o・-・)<2nd life - RubyGems パッケージの作り方 - rubyforge 登録まで

    語の解説で RubyGems パッケージの作り方や rubyforge 登録までの一連の方法が書いてあるところを見かけたことがないため、エントリーにしてみます。なれると割と簡単です。 優しい RubyGems パッケージの作り方 newgem コマンドでのひな形作成 http://drnicwilliams.com/2006/10/11/generating-new-gems/ perl には module-starter など、CPAN モジュールのひな形を作ってくれる便利なユーティリティがありますが、gem でそれにあたるのが newgem というパッケージです。 使い方は簡単で、 # gem install newgemで newgem をインストールしてから newgem コマンドを実行するだけで以下のようにひな形を作ってくれます。 $ newgem packagename c

    川o・-・)<2nd life - RubyGems パッケージの作り方 - rubyforge 登録まで
    masterq
    masterq 2009/01/09
  • 川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する

    http://rack.rubyforge.org/ 先日登場した Rack というライブラリを使うと、Web サーバごとに同一のインターフェイスを利用できるようになります。通常、Ruby で Web アプリケーション を動作させるとき、cgi なのか、fcgi なのか、もしくは mongrel や webrick を使うのか、ということを考えなければなりません。cgi のみで動作決めうち、など良いのですが、ガワである Web アプリケーションフレームワークや一般に配布するアプリケーションなど、既存のフレームワークを用いずに作るときは、さまざまな動作環境でも動くように考慮しなくてはなりません。 たとえば既存のフレームワークである Rails や Camping はそれぞれ個別に cgi/fcgi/mongrel/webrick などの対応を行っています。しかし Rack で定義されているイ

    川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する
    masterq
    masterq 2009/01/09
    Rubyを使ってCGIを作るときにcgi,fcgi,mongrel,webrick による差異を吸収するライブラリ。
  • gist.github.com で GreaseMonkey Script を管理しよう - 川o・-・)<2nd life

    http://gist.github.com/ 最近 github にまた新しいサービス、gistが誕生しました。これはよくあるソースコードを web にペーストして参照できるサービスの git 版、と云ったところです。 gist の良いところは、まず git を知らなくても使えるところが上げられます。普通のペーストサービスと同じで、ソースコードを適当にはっつければOKで簡単です。編集ももちろん web 上からでき、インターフェイスから編集を行うと、git の履歴としてサーバサイドに保存されます。また、匿名による作成・編集も可能です。(匿名による編集は cookie が切れるまでっぽいですが) そして、git と同じく、github にログインしてれば、gist で誰かが貼り付けたソースコードを fork でき、自分の権限の元編集操作が可能になります。ので、誰かが貼り付けたコードを for

    gist.github.com で GreaseMonkey Script を管理しよう - 川o・-・)<2nd life
    masterq
    masterq 2009/01/08
    ソースコードをwebから管理するサイト。gitで管理。
  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
    masterq
    masterq 2009/01/08
    fuseの使い方サンプルとしてステキ。
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • 1