The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
![WWW-YouTube-Download-0.65](https://cdn-ak-scissors.b.st-hatena.com/image/square/c4a607b5430575638fd9a7f233e073d867af4bb7/height=288;version=1;width=512/https%3A%2F%2Fmetacpan.org%2Fstatic%2Fimages%2Fdots.png)
最重要テーマは「テストに適したコードの作成と保守」。本書は複数のアプローチで、テストに適したコードに迫ります。まず複雑さについて考察し、続いて複雑さや結合を軽減できるようなアーキテクチャを検討します。これを基盤として、機能レベルとアプリケーションレベルでのテストについての解説に進みます。カバレッジやデバッグについて十分な知識を得て、最後に自動化に関する解説で本書は締めくくられます。最後まで読めば、テストに適したJavaScriptの本質と実践について漏れのない理解を得られるでしょう。著者がYahoo!やGoogleで培ったテストや品質管理についてのノウハウをJavaScriptに適用したWeb開発者必携の一冊。 まえがき 1章 テストに適した JavaScript 1.1 今までの手法 1.1.1 アジャイル開発 1.1.2 テスト駆動型開発 1.1.3 ビヘイビア駆動型開発 1.1.4
昨今、プロジェクトごとに言語のバージョンや、各種設定、ライブラリを使い分けることが当たり前となってきている。 上記のような使い分けは、Visual Studio/Eclipse/Xcodeなど、IDEにひもづいたプロジェクトファイルがある環境では当たり前だった概念ではある。プロジェクトディレクトリトップに.xxxconfig的なファイルを置くという手法がデファクトスタンダードとなったことによって、コマンドライナー(ライフライナー的)たちの間でもそういった文化が広がりつつあると捉えている。 プログラミング言語について、Rubyのrvm/rbenvのように、複数のバージョンの実行系を気軽に切り替えられるようになってきている。また、Rubyのrvmでは.rvmrc、rbenvでは.rbenv-versionというファイル名で設定を記述していたものを、両者とも.ruby-versionというファイ
Twitterは、ご存じのとおり様々な情報をほぼリアルタイムに入手することができる、非常に便利なサービスですが、実際には、定期的にTwitterクライアント等を開いて、その時点までに取得したツイートを後追いで確認するのが通常の使い方ではないかと思います。従って、(自分にとって)特に重要な情報を1秒でも早く確認したい、というような場合、Twitterクライアントと1日中にらめっこしなければなりませんが、これはさすがに現実的ではないため、Hinemosと簡単なPerlプログラムを使用して、できるだけリアルタイムに、かつラクに実現する方法を検討してみます。 TwitterのStreaming APIを使用すると、レートリミット(単位時間あたりのAPI呼び出し回数制限)を回避してツイート等の情報を取得することができます。今回は、このAPIを使用してツイートを取得し、ローカルホスト上のsyslogデ
Twitter Streaming APIっていう特定条件のツイートをだだだっと流れるように取得できるAPIがありまして、それをニコニコ動画風のコメント字幕を流してブラウザに表示させる、というのを昔作って、確か新潟のPerl勉強会で出した記憶がありますけれども、東京に引っ越し後、先日デブサミ2013に行くことが出来て、enchant.jsによるライブコーディングを拝見したところ、「字幕これで作ればあんなに苦労しなくてよかったな。」とか思ったので、 サーバ側 AnyEvent::Twitter::StreamによるTwiiter Streaming APIからの非同期入力 Mojolicious::LiteによるブラウザとのWebSocket非同期通信 ブラウザ側 WebSocketからの非同期通信のFIFOバッファリング enchant.jsのフレーム処理による動的表現 にチャレンジしてみ
$_='ev al("seek\040D ATA,0, 0;");foreach(1..3) {<DATA>;}my @camel1hump;my$camel; my$Camel ;while( <DATA>){$_=sprintf("%-6 9s",$_);my@dromedary 1=split(//);if(defined($ _=<DATA>)){@camel1hum p=split(//);}while(@dromeda ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;} $CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){ $camel1hump+=1 <<$CAMEL;}$CAM
2013年9月4日水曜日 ぼくはビョーキです。 ビョーキです。ビョーキを告白するのは、ビョーキの種類によっては勇気がいります。正常と異常の境目など、現実にはとてもあいまいで、地続きです。ビョーキであると告白することは、その曖昧さを断ち切って「異常側である」とはっきり表明し、「異常者である」というレッテルを貼られることを致し方なしとする事です。人が自分を見る目が変わるのは避けられません。だから、ビョーキの告白には勇気がいります。 さて、前振りが長くなりました。ぼくの病気は「過食」です。と言っても、症状は軽いものかもしれません。体重は、正常とされている範囲+4キロ程度。見た目にはあまり太っているとはみなされない、というか顔が痩せているので、痩せ型とすらみなされる事もあります。 ですが、その食欲は少し過剰です。どれだけお昼ごはんでお腹をいっぱいにしても、午後15時ごろになると必ず甘いものが食べた
FINDJOB! 終了のお知らせ 2023年9月29日にFINDJOB!を終了いたしました。 これまでFINDJOB!をご利用いただいた企業様、求職者様、様々なご関係者様。 大変長らくFINDJOB!をご愛顧いただき、誠にありがとうございました。 IT/Web系の仕事や求人がまだ広く普及していない頃にFind Job!をリリースしてから 約26年間、多くの方々に支えていただき、運営を続けてまいりました。 転職成功のお声、採用成功のお声など、嬉しい言葉もたくさんいただきました。 またFINDJOB!経由で入社された方が人事担当になり、 FINDJOB!を通じて、新たな人材に出会うことができたなど、 たくさんのご縁をつくることができたのではないかと思っております。 2023年9月29日をもって、FINDJOB!はその歴史の幕を下ろすこととなりましたが、 今後も、IT/Web業界やクリエイティブ
RubyMotion 公式サイト RubyMotion とは iOS, OS X アプリケーションを Ruby で開発することが出来るツール集です。 2012 年 5 月に発表された比較的若い製品ではありますが、既に数多くの RubyMotion 製のアプリケーションが App Store で公開されています。 拙作の Ruby Friends Camera や、37signals の Basecamp、@naoya_ito さんの HBFav2 - はてなブックマークiOSアプリ などが RubyMotion 製として広く知られるアプリケーションです。 また RubyMotion の主要開発者である HipByte 社の Laurent Sansonetti さんは Apple 社出身であり、RubyMotion のベースとなった MacRuby の主要開発者でもあります。その意味でも安
オートローダの設計のポイントについて。個人的メモ。 spl_autoloader_registerの使い方についてはこちら 概要 ポイントとなるのは以下の様な感じ? 読み込みルールについて 名前空間使う? ベースディレクトリは1つ?複数? エイリアスルールの有無 静的コンストラクタ使うかどうか 読み込みルールについて 基本的なところはあんまり変わらないかと。 クラス名を全部小文字に置き換える。 名前空間の区切りをディレクトリ区切りに置き換える。 _をディレクトリ区切りに置き換える。 ベースディレクトリから拡張子.phpで読み込む。 拡張子.clsなんてイマドキ使ってる所あるのんかしらん。うちの現場では使ってるみたいです。謎。 名前空間とか使っちゃうと,レガシーなおっちゃん達の劣等感煽るだけって可能性もあるので現場の雰囲気見てから決めましょう。 んでポイントはベースディレクトリを複数用意する
こんにちは DモーニングのiOSアプリ開発者の 渡辺 です。 皆さんはDモーニングでマンガを楽しんでいますか? 1週間無料で前号を読むことができますので、まだの方はぜひダウンロードして下さいね。 ちなみに、私は「しばたベーカリー」が好きです。 Dモーニングでは雑誌のページをめくっている間隔に近い体験を!ということでちょっと変わったスライダー(名付けて『パラパラ・スライダー』)を用意しています。 下のスライダーで左右に引っ張って、パラパラめくる感覚を実現! ガジェット通信さんの下記の記事がすごくわかりやすく説明してくれているのでぜひ読んでみて下さい。 はねプリ第54回「キビキビ動くのがすごいよね。本当に『パラパラめくる』ことができる」 – 『Dモーニング』 うれしいことに映像をYouTubeにアップしてくれているユーザさんもいました。 今回はこのスライダーの実装方法を解説しましょう。 おそら
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Objective-C でも、Ruby みたいに動的にメソッドを追加することができた。 ということは、Objective-C でもメタプログラミングができるね。 今のところ、セレクタを引数に受け取るメソッドのテストで重宝している。 #import "MyTests.h" #import <objc/runtime.h> @implementation MyTests - (void)testAddDynamicMethod { __block BOOL called = NO; // メソッドの本体になるブロック // 第1引数は self を受け取る void (^testBlock)(id, NSNotification*) = ^(id self, NSNotification *notificateion) { called = YES; }; // セレクタを作成 SEL sel
追加がありましたら「編集リクエスト」をお願いします ユーザーにレビューをうながす機能 Appirater (0.0.1, 0.0.2) A utility that reminds your iPhone app's users to review the app. Homepage: http://arashpayan.com/blog/2009/09/07/presenting-appirater/ Source: https://github.com/mk/appirater.git テーブルをページのようにめくれる ARTableViewPager (1.0.0) The ARTableViewPager is an iOS component for horizontal table view scrolling/paging. Homepage: https://github.
コーディング規約はあるけれど、レビューの時にチェックするのは大変ということで、とりあえずTest::Perl::Criticを使って軽くテストを書いてみました。 僕はある程度のコーディングのブレは許容して、チーム全員で合意がとれるものだけを自動でチェックするようにしたほうが良いと思っているので、rcファイルを使って、必要な物だけ追加していく形式を試してみました。 テストの追加 まずテストは以下のようにt/perlcriticrcを読み込むという設定をしてあげた上で、libとt全部をテストするように書きます。 require Test::Perl::Critic; my $rcfile = File::Spec->catfile( 't', 'perlcriticrc' ); Test::Perl::Critic->import( -profile => $rcfile ); all_cri
社内のProjectで、前の会社に影響されないようなコードを書く必要性が出てきた。 今まで蓄積していたモジュール達はいろいろ厄介なことになっているので、これを機に書き換えてみようと思った第一弾がログ出力モジュール。 「書き換えるなら、もう何十週も遅れてるとは思うけども、LTSVで出したいよね~ じゃあLog::Log4perlやLog::Dispatchでいいじゃんよ!」 と思ってた時代が私にもありました・・・。 社内では業務が縦割りで、開発者にはrootやsudoが無いのでCPANのインストールがこけるこける(汗 じゃあつくっちまえよ!って出来たのが以下のLog::LTSV。 要件は ログローテーション必須 LTSVで出したい 出力レベルはinfo・debug・warning・error・fatalで十二分 実行ホストが複数台あるのでhost/pidも出しちゃおう とまぁ簡単な仕様。 ち
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く