タグ

programmingとstudyに関するrawkranzのブックマーク (286)

  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
  • LOGO - Wikipedia

    LOGO(ロゴ)は、教育向けとして設計されたマルチパラダイムのコンピュータプログラミング言語である。しばしば簡易言語だと誤解されていることもあるが、再帰なども扱える言語としての機能、リストなどのデータ構造や、I/O・ファイルなどの一般的な機能を持ったライブラリなど、簡易言語ではなく、十分な能力を持ったプログラミング言語である。特徴的な機能としては「タートルグラフィック」がある。 1967年、教育(特に構成主義および構築主義(英語版)学習)のために開発された。名称はギリシャ語の logos (言葉)に由来する。(現代ではいささか想像しにくくなったことであるが)当時代表的な既存言語であったFORTRANや、その影響を受けた言語がもっぱら数値計算を指向したものであったのに対し、「言葉」で操作する言語であるといったようなことを強調したものである。多くの計算機科学の概念を教えるのに使うことができ、例

    LOGO - Wikipedia
    rawkranz
    rawkranz 2016/07/02
    原点を思い出したので
  • Ruby のオススメの機能7選 - Qiita

    この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use

    Ruby のオススメの機能7選 - Qiita
  • RSpec をやめて Test::Unit に戻る - tmtms のメモ

    最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number

    RSpec をやめて Test::Unit に戻る - tmtms のメモ
  • Team Y ラボ IEでfile:が開かない

    イントラネット内のホームページから「file://プロトコル」でファイルサーバにリンクしている共有ファイル(おもにExcelなど)が開かなくなってしまいました。 例 a href=file://192.168.1.1/xxxx.xls 原因は、 KB2559049のパッチが原因のようで、セキュリティが強化された為らしい。 回避方法は以下で対応するしか無い模様です。 1. [ツール] - [インターネットオプション] を開く。 2. [セキュリティ] タブをクリック、ゾーンの選択項目より [信頼済みサイト] を選択し、 [サイト] ボタンをクリック。 3. 表示される [信頼済みサイト] 画面にて、 [この Web サイトをゾーンに追加する (D) ] に、目的のサイトを入力し [追加] ボタンをクリック。※サーバーの確認を使用しなければならない場合は、[このゾーンのすべてのサイトでサーバー

  • Go Kyoto(Go勉強会 そうだ京都、行こう) のハンズオン資料 (http://www.zusaar.com/event/4367004)

    README.md Go Kyoto (Go勉強会 そうだ京都、行こう) About 実施概要 2014/3/15 (土) 14:00 http://www.zusaar.com/event/4367004 前提 多言語で基的なプログラミング知識(Web 系?) がある。 Go のインストール、開発環境(エディタとか)の準備済み。 http://go-tour-jp.appspot.com/ を一通り(24, 48, 60, 69, 70 は飛ばしてよし) タスク管理ツール タスク管理ツール的なものを作りながら、 Go のひと通りの機能を触る。 Go をひと通り触るのが目的なので、ツール自体の機能とかはこだわらない。 他の言語での経験がある方が対象なので、プログラミング言語の基的な話は省略。 標準モジュールでできることのみ。 環境構築は終わっている前提。 1 ファイルで完結させる構成(

    Go Kyoto(Go勉強会 そうだ京都、行こう) のハンズオン資料 (http://www.zusaar.com/event/4367004)
    rawkranz
    rawkranz 2015/08/07
    わかりやすい
  • CLIでプログレスバーみたいのを出力する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    CLIでプログレスバーみたいのを出力する - Qiita
    rawkranz
    rawkranz 2015/07/18
    "\r" リターンで改行せずに行頭へ
  • [Ruby] 便利な組み込みクラスのメソッド達(Enumerable編) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    [Ruby] 便利な組み込みクラスのメソッド達(Enumerable編) - Qiita
    rawkranz
    rawkranz 2015/07/10
    よく使うものが用例含めて便利にまとまっている
  • マッチした文字列の前後の文字列を取得する($`、$')

    正規表現がマッチした時に、変数 $& にはマッチした部分文字列が代入されますが、対象の文字列の中でマッチした部分よりも前の文字列が特別な変数 $` に代入され、後の文字列が特別な変数 $' に代入されます。 具体的に考えてみます。正規表現オブジェクト /On/ に対して文字列「RubyOnRails」をマッチさせた場合、マッチに成功します。この時、変数 $& にはマッチした部分文字列「On」が代入されますが、同時に変数 $` には「On」より前の「Ruby」が代入され、変数 $' には「On」より後の「Rails」が代入されます。

    マッチした文字列の前後の文字列を取得する($`、$')
    rawkranz
    rawkranz 2015/07/05
    正規表現
  • Goで読み上げチャットボットを作ってみた。。

    Goで読み上げチャットボットを作ってみた。。 By nobonobo December 8, 2013 mattnさんのgo-xmpp使ったらあっさり作れた。 スピーチエンジンはOSX内蔵のものかGoogleのものを選べるようにしてみた。 ユーザー名やパスワードを指定して起動するとチャットメッセージを受け取るとそれをしゃべります。 動作に必要なもの go get github.com/mattn/go-xmpp soxのインストールまたはOS-Xのスピーチボイスにkyokoを追加。 ソースコード package main import ( "bufio" "flag" "fmt" "github.com/mattn/go-xmpp" "io" "log" "net/http" "net/url" "os" "os/exec" "strings" ) type Speaker interfa

  • rbenvでMacにRuby 2.2.1 インストール(オプション指定最新版 - Qiita

    1.9.3をインストールした頃とオプションが変わってきたので、自分用メモ書きを兼ねてアップします。 環境は Mavericks 10.9.5 です。 ruby-build 更新 まずインストールする前に、何らかの方法で ruby-build を更新してください。更新しないと rbenv install 2.2.1 できませんので。 Homebrew を使ってインストールしている場合 brew update ruby-build brew upgrade ruby-build で良いでしょう。 git を使ってインストールしている場合 ruby-build を git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build でインストールしている場合には、 rbenv-update プラグ

    rbenvでMacにRuby 2.2.1 インストール(オプション指定最新版 - Qiita
    rawkranz
    rawkranz 2015/01/31
    Macはコンパイルオプションの確認としてこれもCHK
  • rbenv を利用した Ruby 環境の構築 | DevelopersIO

    こんにちは、クラスメソッドの稲毛です。 複数バージョンの Ruby を切り替えるだけでなく、ローカルディレクトリ毎に Ruby のバージョンを指定できる「 rbenv 」がとても便利だったので、インストール方法などを記しておきます。 ビルド環境の構築 Ruby をビルドする環境が構築されていない場合は、下記 ruby-build の Wiki を参考にビルド環境を構築する。 Suggested build environment rbenv + ruby-build のインストール rbenv で Ruby のインストールを行うので rbenv のプラグイン「 ruby-build 」を併せてインストールする。 Linux の場合 ここでは既に Git がインストールされているものとします。 $ git clone https://github.com/sstephenson/rbenv.

    rbenv を利用した Ruby 環境の構築 | DevelopersIO
    rawkranz
    rawkranz 2015/01/31
    Linuxはこのやり方で
  • Yosemiteにした時にSymbol not found: _SSLv2_client_method (LoadError)が出たら - Qiita

    [~/github/myrepo]$ bundle install --path=vendor/bundle/ /Users/sjun/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/sjun/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError) Referenced from: /Users/sjun/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundl

    Yosemiteにした時にSymbol not found: _SSLv2_client_method (LoadError)が出たら - Qiita
    rawkranz
    rawkranz 2015/01/25
    Macでrbenvを使うはこれで/旧Ruby向けのPATHやOpensslの指定などに注意
  • メソッド名をシンプルにするために、 知っておくと便利な英語のprefixとsuffix - codic ブログ

    メソッド名などをネーミングする際に、知っておくと便利な、接頭辞と接尾辞をリストアップしてみました。どのように元の単語の意味が変わるかのルールを知っておくと、よく使う単語をベースにボキャブラリーを増やすことができるので、覚えておいて損はないと思います。 使う場合は、当たりを付けて実際の使用がないか、Googleなどで調べてみてください。 1. pre-, post- / 事前〜、事後〜 per-は、元の意味に “事前に、前に”、post-は “事後に”という意味が付け加わえます。汎用性が高いのでとても便利です。afterやbeforeの代替になるかもしれません。 // 事前テストする function testBefore(); ↓ function pretest(); // 事後処理する function executeAfter(); ↓ function postexecute();

  • 結局Microsoftの目的は何なのか、もうちょっと考えてみる - 亀岡的プログラマ日記

    今朝の記事は予想外に色んな人に読んでもらえたみたいで、ありがたい限りです。一時間程度でラフにまとめたものなのでお恥ずかしい限りですが、みなさまの役に立ってたら幸甚です。いや、ほんとに。 んで、見たことないくらいたくさんついたブクマを眺めていると、「何のためにしたかイマイチわからない」「どうやって金を儲けるつもりなんだ?」という話がちらほら見受けられます。ねぇ、ぼくも色々もんもんと考えておりました。 んで、決して答えが出たわけではないんですけど(というか最後の最後がわからんのですよ、やっぱり)、でもこの方向性に向かう意図は僕の中で納得がいったので、ついでにメモ的に晒しておこうと思います。 分析の前に、ツールの確認 今回は、クラシックな戦略分析ということで、5フォース分析をしています。 ファイブフォース分析 - Wikipedia Microsoftという企業に対して、サプライヤとカスタマーを

    結局Microsoftの目的は何なのか、もうちょっと考えてみる - 亀岡的プログラマ日記
    rawkranz
    rawkranz 2014/11/14
    プラットフォームごと再定義
  • 必要最小のgemの作り方とインストール - ザリガニが見ていた...。

    gemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検索・インストール・アップデート・削除など、苦労最小で操作する仕組みを提供してくれる。今までgemを使って、多くの素晴らしいライブラリをインストールしてきた。しかし、自分が作ったものをgemでインストール可能な形式で公開したことはなかった...。 できることならgemでインストールできるようにしてみたい。では、自作のRubyコードは、どうすればgemでインストールできるようになるのか?果たして、簡単にできることなのか?調べてみた。 作業環境 MacBook Pro Retina15 OSX 10.9.5 Rubyバージョン $ ruby --version ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13] Gemバージョン 最新のG

    必要最小のgemの作り方とインストール - ザリガニが見ていた...。
    rawkranz
    rawkranz 2014/10/16
    加えてgemの動作周り
  • 私のプログラミングの始め方 : Go | Yakst

    プログラミング言語の最初の1歩を解説するサイト「How I Start」から、Peter Bourgon氏によるGo言語(golang)の始め方について。Goのシンプルさと標準ライブラリの使いやすさに焦点を当てた、分かりやすい解説。 Goは、信頼に値するスマートな人達によってデザインされ、大規模かつ成長を続けるオープンソースコミュニティによって継続的に改善されている、愛すべき小さなプログラミング言語である。 Goはシンプルであることを標榜しているが、時にはそのしきたりが少々分かりにくくなる時もある。ここでは、私がGoプロジェクトをどのように始めたか、そしてどのようにGoの慣習に従うようになったかをお見せしようと思う。Webサービスのバックエンドを構築してみよう。 環境設定 もちろん、最初のステップはGoのインストールだ。オフィシャルサイトで、使用しているOSのバイナリディストリビューショ

    私のプログラミングの始め方 : Go | Yakst
    rawkranz
    rawkranz 2014/09/18
    リポジトリとの結びつけから開発スタートの手続き周り
  • Rubyで知らなかったメソッドとかちょっとだけ - 惰眠と論理と指揮棒と

    2014-08-13 Rubyで知らなかったメソッドとかちょっとだけ 配列 今までこう書いてた (1..20).to_a こう書ける事を知った [*1..20] 添字 今までこうしてた 10.times do |idx| p "#{idx+1} ループ目" end こう書いたら素敵だった 10.times.with_index(1) do |idx| p "#{idx} ループ目" end if 数字 ずっともっといい書き方があると思ってたけどこう書いてた i = 10 p "hoge" if i >= 5 && i <= 15 やっぱりあった i = 10 p "hoge" if i.between?(5, 15) first, last めんどくさいなぁと思って書いてた arr = [*1..50] 5.times.map{ |idx| arr[idx] } 衝撃が走った arr =

  • How To Become A Hacker: Japanese

    なぜこんな文書を書いたか わたしは Jargon Fileの編集者で、またその他似たような有名文書いくつかの著者なので、しばしば熱心なネットワーク初心者から「ウィザード級の大ハッカーになるにはどうやって勉強すればいいの?」といったようなお尋ねメールを頂きます。でもかつて 1996 年に、こんな大事な問題を扱った FAQ や Web 文書 はみあたらないことに気がつきました。というわけで、これを書き始めました。多くのハッカーがいまやこれを決定版と見なしているし、つまり実際に決定版なんだと思います。でも、この問題について自分が唯一無二の権威だと主張するつもりもありません。気にくわなければ、自分なりのヤツをどうぞ。 この文書をオフラインで読んでいるなら、最新版は次のところにあります。 http://www.catb.org/~esr/faqs/hacker-howto.html なお、この文書の

  • Rubyで作ったスクリプトをgem化して、一人でひっそりと使う方法 - 酔いどれエンジニアのブログ

    2013-10-21 Rubyで作ったスクリプトをgem化して、一人でひっそりと使う方法 Ruby Gem Rubyでスクリプトを書いていたんですが、色々なプロジェクトで使うので、非公開でgem化できないかと調べていました。 結果としては、ソースはprivate repositoryで管理して、gemはそのソースを元に作成することにしました。 以下はその手順です。 前提 既にスクリプトはRubyで作ってあるものとします。 便宜上、gem_testという名前のgemを作成することにします。 なお、名前に-(ハイフン)を入れると、そこで切られてしまいModule名やフォルダが分けられてしまいますので、お気をつけ下さい。 手順 gemプロジェクトのテンプレート作成 $ bundle gem gem_test これによりgem_testフォルダ配下にファイルが作成されます。 これからの作業は全てg