タグ

*programmingに関するmichael-unltdのブックマーク (171)

  • 最近使ったPerlのテスト系モジュール - ゆううきブログ

    最近Perlを書いていて,便利なテスト系モジュールをいくつか使ったのでメモ. Test::Moreのsubtestメソッド Test::Mock::LWP::Conditional Test::MockObject::Extends Test::Exception Test::Mock::Guard Test::Moreのsubtestメソッド RSpecのitメソッドみたいな感じ. テストをブロックに分けてそれぞれのブロックに名前を付けることができるイメージ. use Test::More; subtest "description" => sub { # テスト書く }; Test::Mock::LWP::Conditional LWP::UserAgentのリクエストスタブ. LWP::UserAgentで任意のURLに対応するレスポンスを指定できる. my $res = HTTP:

    最近使ったPerlのテスト系モジュール - ゆううきブログ
    michael-unltd
    michael-unltd 2016/05/13
    Test::Mock::Guard
  • 山口家の逆襲->perl-解説->デリファレンス

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • オブジェクト指向とは何だったのか? – ゆびてく

    オブジェクト指向とは何だったのか? – ゆびてく
  • codic - デベロッパーのためのネーミング辞書

    codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。

    codic - デベロッパーのためのネーミング辞書
  • 筋の悪さ | tech - 氾濫原

    JS しか書いてないんだなって人は筋悪いものをありがたがっていたりする印象はある。しかし筋悪いものをありがたがるみたいなのはどこにでもいるので、JSがどうとかは直接は関係がないはずではあると思う。JSしか書いてない人とPHPしか書いてない人は似たようなもんで、単に広範囲の知識に興味がないだけな気がする。 それはともかく「これは筋悪そうだな」っていう感覚がどこからくるのかよくわかってないので、現時点で思いつく限り雑にメモしておく。 割の合わなさ 「これは何の問題を解決してるんだろう」と思ってドキュメント読んだりソース読んだりした結果、大したことを解決してなくて、その割に実装量が多いとか学習コストが高いと、筋悪いなあと思う。 フットプリントや学習コストに対して提供されるモノが「割に合わない」のは筋が悪く感じる。 将来性のなさ 「あ、これはただの流行だな」みたいな、5年後には消滅してるなというも

  • 配列操作をカジュアルに - Articles Advent Calendar 2011 Casual

    こんにちは。新潟在住Perl人、neko_gata_sです。AdventCalendarの敷居を下げにきました。ものっそいカジュアルな話をします。今日はList::Utilについて書こうと思います。 どちらが良いコード? さて、いきなりですが、以下のふたつのコードを比べてみてください。 use strict; use warnings; my @shugo_charas = qw/ran miki suu dia/; my @shugo_charas_uc; foreach my $shugo_chara (@shugo_charas) { push @shugo_charas_uc, uc $shugo_chara; } use strict; use warnings; my @shugo_charas = qw/ran miki suu dia/; my @shugo_charas_

    配列操作をカジュアルに - Articles Advent Calendar 2011 Casual
    michael-unltd
    michael-unltd 2016/04/10
    map, reduce snippets
  • はてなブログ | 無料ブログを作成しよう

    フィンランド1人旅行記・1日目 フィンランドに行くと決めてから観た『かもめ堂』は、白昼夢のような不気味な映画だった。小林聡美演じる堂の店主は、淡々と店を営み、金銭や将来など現実的な問題に直面もせず、地から足が離れているよう。途中まで、夢オチか幽霊オチかを予想したほどだ。 ただ、…

    はてなブログ | 無料ブログを作成しよう
    michael-unltd
    michael-unltd 2016/04/09
    “looks_like_number”
  • map関数 - 配列のすべての要素の変換 - Perl入門ゼミ

    Perl › 関数 › here 配列のすべての要素を変換するにはmap関数を使用します。@arrayの各要素がデフォルト変数$_に渡されてきますので、コードブロック{ }の中で必要な変換を行います。変換文で最後に評価されたものが@mappedに順番に追加されます。 # 配列のすべての要素の変換 @mapped = map { 変換文 } @array; サンプル mapを使ってすべての要素を2倍するサンプルです。@numsが(1, 2, 3)の場合は@doubledは(2, 4, 6)になります。 # すべての要素を2倍 my @nums = (1, 2, 3); my @doubled = map { $_ * 2 } @nums; mapを使ってすべての要素の先頭の文字列を削除するサンプルです。@strsが('  a', '  b', '   c')の場合は@trimedは('a',

    map関数 - 配列のすべての要素の変換 - Perl入門ゼミ
    michael-unltd
    michael-unltd 2016/04/08
    map function
  • リスト内包表記

    リストを生成するための表記方法。リストに対して繰り返し処理を行う場合にも使用出来る。従来のmap, filterの代わりになる。だいたいの場合for文でループするよりも高速に動作する。 繰り返し処理でリスト生成する時の構文 >>> aray = [1, 2, 3] >>> [x*2 for x in ary] #aryの各要素を*2してリストを生成する。 [2, 4, 6] >> ary [1, 2, 3] #aryに変更はない リスト内包表記をfor文を使わない同等の記述 記述すると以下のようになる。(ただしこの処理の場合Pythonインタプリタで処理するのでリスト内包表記よりも低速。リスト内包表記は構文からcライブラリで処理するのでより高速に生成することができる。) >>> ary = [1,2,3] >>> newary = [] >>> for x in ary: ... newa

    リスト内包表記
  • 2時間半で学ぶPerl @ Things Of Interest

    Perlは動的な、動的型付けの、高級な、スクリプト(インタープリタで解釈される)言語で、PHPPythonとともによく比較されます。Perlのシンタックスは、昔のshellスクリプトツールから多くの部分を借りており、それにより混乱させるシンボルを使い過ぎていることで有名です。それらの大多数をGoogleで検索することは不可能です。Perlのshellスクリプトから受け継いだ遺産は、glueコード(他のスクリプトやプログラムと一緒にリンクされているスクリプト)を書くのに、大変役に立ちます。Perlは、理想的にテキストデータを処理することや、テキストデータを生成するのに適しています。Perlは広く行き渡り、有名であり、極めてポータブルで、十分にサポートされています。Perlは"There's More Than One Way To Do It(やり方はひとつじゃない)" (TMTOWTDI

    2時間半で学ぶPerl @ Things Of Interest
  • perl でテストを始めよう!! - Articles Advent Calendar 2011 Test

    はじめに こんにちはこんにちは!最近会社のモニターが二枚になって持て余している xaicron です。 さて、Test Track と称して始まったトラック。全部よめばあなたもテストを書かずには生きていけない、そんな身体に大変身していること間違いなしです。 とりあえず今日は初日なので、perl でテストを書くときに必ずと言っていいほど利用する Test::More を使ったテストの書き方を書こうと思ます。 また、「テスト」とざっくりといってもいろいろなものがありますが、その辺の細かい話はきっと ikasam_a さんが書いてくれるのでスルーします。 Test::More チートシート まず、More というだけあって、結構機能がいっぱいあるので、チートシートを先にあげておきます。perldoc Test::More のほぼコピペですが、きっと皆さんは perldoc Test::More

    perl でテストを始めよう!! - Articles Advent Calendar 2011 Test
  • perlootut - Perl でのオブジェクト指向プログラミングのチュートリアル - perldoc.jp

    This document was created in February, 2011, and the last major revision was in February, 2013. If you are reading this in the future then it's possible that the state of the art has changed. We recommend you start by reading the perlootut document in the latest stable release of Perl, rather than this version.

  • Perlオブジェクト基礎文法最速マスター - 旧燈明日記

    Perl5でのオブジェクトの基礎を解説したいと思います。 Perlでのオブジェクト指向と言えば、モダンPerl系ではMooseモジュール等なのですが、今回は、あくまでも基礎編です。 Perlで最速にオブジェクトをマスターするには、まず、「リファレンス」と「use宣言」と「bless」の3つが理解できていないとなりません。 なぜかと言うと、Perlでのオブジェクトはblessされたリファレンスなのです。また、Perlでのクラスはモジュールなのです。そのモジュールでの一番の謎は、use宣言なのです。 なので、はじめにこの3つを理解してから、そのあと「オブジェクト」と「オブジェクト指向」について解説していきます。 つまり、以下の順番です。 リファレンスについて use宣言について blessについて Perlでのオブジェクトについて Perlでのオブジェクト指向について ■リファレンスについて

    Perlオブジェクト基礎文法最速マスター - 旧燈明日記
    michael-unltd
    michael-unltd 2016/04/07
    “普通、オブジェクト指向プログラミングでは、以下の要素が必要です。 クラス(Perlではパッケージで対応) インターフェース(Perlでは不完全だけどパッケージで対応) コンストラクタ(Perlではblessリファレンスで対応
  • perltidy - Perlソースコード整形ツール - Qiita

    About Perlのソースコードを統一したルールで整形してくれる。 チームでコーディングするとき、特に有用。 CPAN Perltidy How to install. $ cpanm Perl::Tidy which perltidyでInstall成功を確認 Setting $HOME/.perltidyrcに以下のように書く(Perl best practicesより) -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 cols -ci=4 # Continuation indent is 4 cols # -st # Output to STDOUT -se # Errors to STDERR -vt=2 # Maximal vertical tightness -cti=0 # No extra indent

    perltidy - Perlソースコード整形ツール - Qiita
  • 超高速WebフレームワークPhoenix でHello World 的なことを Mac OS X で行う - snowlongの日記

    Phoenix Framework とは Elixir でコードを記述する。 http://elixir-lang.org/ gistb55b098d2f795d3df11a Phoenix Framework 自体がRails からインスパイアされている。 だから、RubyRailsの知識が活かせる。 Elixir はErlangのVM上で動く。 Erlangは耐障害性と高いスケーラビリティを持つ関数型プログラミング言語だ。 そして速い。マイクロ秒単位(1/1000秒単位)でレスポンスを返したりする。 みたいのが特徴。 具体的には、Erlang は電話網の50%を動かしていたり、WhatsApp で採用されていたり耐障害性と高いスケーラビリティの面で実証済み。 qiita.com 前提 Mac OS X で作業をします。 公式ドキュメントを参考にインストール作業を行います。 Insta

    超高速WebフレームワークPhoenix でHello World 的なことを Mac OS X で行う - snowlongの日記
  • Loading...

    Loading...
    michael-unltd
    michael-unltd 2016/03/07
    “Elixirは、Erlangのvirtual machine(BEAMと呼ばれている)上で動く言語で、ErlangとElixirの関係は、丁度JavaとScalaの関係に似ている。”
  • 君もelixirを始めてみないか | dev.wan.co

    エディターのサポートは、vim(vim elixir-lang/vim-elixir)と emacs(elixir-lang/emacs-elixir)とAtom(lucasmazza/language-elixir)があるから大丈夫かな?(他にもgeditTextmateも用意されているよ) 始めて見るにはまずelixirをインストールしないとね。 もしMacを使っていて、すでにbrewを使っているのであればとても簡単 $ brew update $ brew install elixir Ubuntu を使っているなら、リポジトリを追加してapg-getで入る $ wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all

    michael-unltd
    michael-unltd 2016/03/02
    “elixirはBEAMと呼ばれるErlangの仮想環境で動作するから、Erlangの並行性と信頼性の特徴を受け継いでいる。 そして拡張機能としてマクロを使ったメタプログラミング等も扱うことが出来る。”
  • クラス設計の考え方

    ソフトウェアの開発において、クラスの設計は、大切なポイントの1つです。どのようなクラスや関数を作るのか。ソフトウェアのデザインは、それによって決まります。 現在のソフトウェア工学で主流となっているのは、オブジェクト指向の考え方です。開発言語も、C++Javaといったオブジェクト指向言語が広く使われています。しかし、いくらオブジェクト指向言語を使って開発していても、クラス設計の考え方が誤っていれば、まったくオブジェクト指向的でないソフトウェアができてしまいます。 貴方が、あるちょっとした機能の追加を頼まれたとしましょう。さて、いくつのクラスや関数を作れば良いのでしょうか。また、そのクラスや関数の名前は、どのように付ければ良いのでしょうか。貴方なら、どのように考えを進めて、クラスや関数を設計していきますか? ここでは、ワイルドカードを使った文字列の検索を例に、クラス設計をする際の考え方を紹介

  • AngularUIってどんなもの? - The Round

    注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもマツウラです。 AngularJSでUIを扱うために何か良いものがないか!?ということでAngularUIについてサラッと調べてみました。 AngularUIAngularJSのコンパニオンスイートです。 名前の通り、UIに関するさまざまな機能を提供してくれます。 AngularUIは単にプロジェクト名です。 実際の機能を持っているのは下記にある個々のパッケージです。 UI-Utils 外部依存関係を持たないユーティリティ・パッケージ。 以下のモジュールはUI-Utilsに含まれますが、独立しているので個々に使うことができます。 IE Shiv カスタムエレメント(<ng-view></ng-view>とかですね。)をサポートしていないIEをサポートする。 Event Binder AngularJSでサポートされ

    AngularUIってどんなもの? - The Round
  • 難しいことを簡単に学ぶ方法 ― 強力なスキルを新たに身に着けるための3つのステップ | POSTD

    ここ数年、私はWeb開発と機械学習の自習に多くの時間を割いてきました。 学習のテーマは、Javascript、Node、ReactからPython、scikit-learn、ニューラルネットワークに至るまで多岐にわたりましたが、全てに対して私は一貫したアプローチで取り組みました。 そのアプローチとは、単純な(陳腐と言ってもいい)3ステップで進める、という手法です。しかし、 Web開発のシロウトだった私が5カ月で、プロだと自覚できるほどになった のはひとえに、このアプローチで臨んだ自習の成果だと思っています。 そこで私は、この自習法がほかの誰かのお役に立てるかもしれないと思い、少し記事を書いてみることにしました。 この記事は、何も分からないままやみくもに挑戦を始めた、2012年当時の自分自身に教えるつもりで書いています。 ステップ1:習うより慣れろ 新しいテクノロジを学ぶためにまず実行する最

    難しいことを簡単に学ぶ方法 ― 強力なスキルを新たに身に着けるための3つのステップ | POSTD