タグ

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

  • 筋の悪さ | 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
  • はてなブログ | 無料ブログを作成しよう

    週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の氏…

    はてなブログ | 無料ブログを作成しよう
    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

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

    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オブジェクト基礎文法最速マスター - 小池啓仁 ヒロヒト応援ブログ By はてな

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

    Perlオブジェクト基礎文法最速マスター - 小池啓仁 ヒロヒト応援ブログ By はてな
    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 indenta

    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の日記
  • https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-1-%E4%BB%8A%E3%80%81%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%82%92%E9%81%B8%E3%81%B6%E3%81%A8%E3%81%84%E3%81%86%E3%81%93/

    https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-1-%E4%BB%8A%E3%80%81%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%82%92%E9%81%B8%E3%81%B6%E3%81%A8%E3%81%84%E3%81%86%E3%81%93/
    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
  • riywo/anyenv: all in one for **env

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    riywo/anyenv: all in one for **env
  • ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後

    「いつか勉強しよう」と人工知能機械学習/ディープラーニング(Deep Learning)といったトピックの記事の見つけてはアーカイブしてきたものの、結局2015年は何一つやらずに終わってしまったので、とにかく一歩でも足を踏み出すべく、質的な理解等はさておき、とにかく試してみるということをやってみました。 試したのは、TensorFlow、Chainer、Caffe といった機械学習およびディープラーニングの代表的なライブラリ/フレームワーク3種と、2015年に話題になったディープラーニングを利用したアプリケーション2種(DeepDream、chainer-gogh)。 (DeepDreamで試した結果画像) タイトルに半日と書きましたが、たとえばTensorFlowは環境構築だけなら10分もあれば終わるでしょうし、Chainerなんてコマンド一発なので5秒くらいです。Caffeは僕はハ

    ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後
  • マルチスレッド/プロセスまとめ(Ruby編) - Qiita

    プログラムの実行単位 固有のメモリ空間を持つ(リソースを共有しない) マルチプロセスの場合、物理/仮想メモリ領域間のアドレス解決のオーバーヘッドが高い。 プロセスの実行単位 共通のメモリ空間を持つ(リソースを共有する) マルチスレッドの場合、物理/仮想メモリ領域間のアドレス解決は発生しない。 ユーザースレッド ユーザー空間(アプリケーションが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがあっても、1つのスレッドしか実行されない。 OSカーネルを介さないスレッド切り替えのため、スレッド切り替えに伴うオーバーヘッドが少ない。 仮想VM上で実行されるスレッドをグリーンスレッドと呼ぶ。 カーネルスレッド カーネル空間(カーネルが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがある場合、同時に複数(CPUコア数分)のスレッドを実行できる。 OSカーネルを介するスレッド切り替

    マルチスレッド/プロセスまとめ(Ruby編) - Qiita
  • Scala初心者の新卒が頑張ってLispを作ってみた | Scala Tech Blog

    この記事はCyberAgentエンジニアAdvent Calendar5日目の記事です。 こんにちは! サイバーエジェント アドテクスタジオ新卒の志村です!! 7月にScala初心者のままScalaを採用しているAMoAdに配属されたのでScala歴5ヶ月くらいです。 Scala歴5ヶ月くらいだと初級者になるのかもしれませんがScalaばかり書いてる訳ではないのでまだScalaは全然書けません。 簡単な言語くらいしか書かないのでScalaが複雑すぎて全然覚えられません(´・ω:;.:… ということでアドベントカレンダーにかこつけてScalaの勉強をしたいと思います! 学んでいくにはやはり手を動かすのが一番なんですかね (@@;? 何か作ってみます。何を作るのが良いんでしょう。Scalaといえば…チューリング完全(?)な言語らしいですね。 チューリング完全といえばリスプですよね。リスプを作っ

    Scala初心者の新卒が頑張ってLispを作ってみた | Scala Tech Blog