詳しくはこちらへ → https://www.facebook.com/groups/toretatech/
詳しくはこちらへ → https://www.facebook.com/groups/toretatech/
本連載では第一線のPerlハッカーが回替わりで執筆していきます。第2回は、Japan Perl Association代表理事の牧大輔さんで、テーマはAnyEventです。 はじめに 昨今のPerl界で最も熱い話題がイベント駆動プログラミングです。イベント駆動プログラミングはいわゆる「リアルタイムWeb」などと呼ばれる、大量のデータや接続をさばきつつも更新通知の速さが重要となるアプリケーションでは必須技術で、今後のエンジニアにとって最も重要な知識の一つと言えるでしょう。 イベント駆動プログラミング自体はPerlでも以前からさまざまな用途に使われてきましたが、それがまた見直されているのは、従来のイベント駆動プログラミング用ツールキットの使いやすさをはるかに凌駕するAnyEventというモジュールが成熟期を迎えたためです。 イベント駆動プログラミングとは AnyEventの解説に入る前に、簡単
第1回では、画像認識の概要や基本原理、実例などを紹介しました。第2回の今回は、これから皆さんが画像認識のプログラムを組んでいく上で必要なOpenCVというツールについて紹介します。 OpenCVとは? OpenCVは正式名称を"Intel Open Source Computer Vision Library"と言い、その名のとおりインテル社が開発したオープンソースのC/C++ライブラリ集で、コンピュータ・ビジョンに必要な各種機能がパッケージされています。 具体的には、だいたい以下の処理を行う関数群が用意されています。 線形代数や統計処理など、コンピュータビジョンに必要な各種数学関数 直線や曲線、テキストなど画像への描画関数 OpenCVで使用したデータを読み込み/保存するための関数 エッジ等の特徴抽出や画像の幾何変換、カラー処理等々の画像処理関数 物体追跡や動き推定などの動画像処理用関数
いつでも理想の環境を使えるとは限りません 「弘法筆を択ばず」ということわざもありますが、なんであれ手になじむまで使い込んだ道具を持っている人は、環境が変わってその道具が使えなくなるとやはりいらいらするものです。 Perlの場合もそう。日頃から自分の必要や興味に応じてがんがんCPANモジュールをインストールしていると、何らかの事情でまっさらに近いPerlを使わなければならなくなったとき、途方に暮れます。本来のコードを書き始める前に、モジュールのインストールだけで一日潰してしまった経験をお持ちの方も少なくないことでしょう。 今回は、そんな「ふだんと違う」環境でもなるべくストレスなくPerlを使えるようにするためのモダンな努力をいくつか紹介してみます。 PERL5LIBという環境変数を活用する Perlはディストリビューションに同梱されているコアモジュールを保護するために、CPANからインストー
ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の
SourceTreeの使い方 | コミットの取り消し方法まとめ(amend, reset, revert, cherry-pick) 高機能Gitクライアントの「SourceTreeソースツリー」(無料)や「Tower」(有償)は導入しやすく機能が豊富なため人気があります。Gitにはコミットやプッシュだけではなくさまざまな機能が存在するので、使いこなすことで効率よく開発を進めていけるでしょう。本記事ではGitを使う上で必須となるcommitコミットの取り消し方法をテーマに、次の4つの機能を解説します。 コミットの修正・やり直し(amend) コミットの取り消し(reset) コミットの打ち消し(revert) 別ブランチからのコミットの取り込み(cherry-pick) 本記事では次の機能をSourceTreeとTowerの両方のソフトウェアの操作方法として解説します。 コミットの修正・や
こんにちは、釘宮です。 新しい言語の開発を始めたとき、検索という行為が結構大きな時間を食ってしまうものです。 その検索を効率的にするのに有効な手段として、熟知している人の情報源を知る事が一つだと思います。 ということで今回、Android開発歴3,4年の私、釘宮の情報源を少数精鋭で紹介したいと思います! 言わずもがな ○ Android Developers まずはAndroidの公式デベロッパーサイト。 関数の仕様などリファレンス一覧以外にもDesignなどでGoogleのすすめるこれからのAndroidの標準デザインなどは必読です。 3種の神器 ○ Stack Overflow このサイトなしでプログラムをくみ上げることができるのか?いや、むりだろう。 という方も多いのではないでしょうか? 幾度となく我々プログラマを救ってくれたStackOverflowさんはAndroidも十二分
1ヶ月くらいGoの勉強をしたときにたどり着いたリンク集。 (適時追加中) ページ A Tour of Go - 最初にここ。ただし、量と途中のエクササイズの問題の分かりにくさで、最初から全てを理解するのは大変。 go-wiki tips的な Golang JP - Google+のコミュニティ build web application with golang - Goでウェブサービスを開発する場合の説明。 Go言語での構造体実装パターン - 構造体の使い方 Go Language Patterns - 『You should have already read the Go Tutorial and Effective Go. This site is the next step.』 スライド Go For Perl Mongers - YAPC::Asia TOKYO 2014のプレゼ
テストなどのために仮想マシンでパソコン用OSを実行できることは、たぶんみなさんもご存じだと思います。実は、同じことがAndroidでもできるのです。スマホを購入する前に試してみるには、もってこいですね。では、その設定方法について説明しましょう。 Androidを仮想化する理由 おそらく最初に思い浮かぶ疑問は、何のためにAndroidを仮想化するのかということでしょう。パソコン用OSを仮想化する場合と同様に、仮想マシンでAndroidを試してみるべき理由がいくつかあります。初めてAndroidのスマホやタブレットの購入を検討しているのなら、仮想マシンを使ってAndroidを事前にじっくり試してみるのも良いでしょう。開発者なら、仮想マシンを使ってアイデアを試せますし、Androidの愛用者なら、大事なスマホへの影響を心配することなくさまざまなアプリを試してみることができます。つまり、試してみた
Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基本だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基本的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ
この連載は、Javaをいきなりやることになってしまった新卒の人や、Java以外の言語の使用経験しかない人など、Javaの初心者なのに業務アプリ(ビジネスで使われるアプリケーション)の開発で即戦力にならないといけない人達に向けての連載になります。標準のJavaでできることはもちろん、DB操作のためのSQLやよく使われるライブラリの使い方など、単なるJavaのみの紹介ではなく、Javaでの業務アプリの開発に必要とされる基礎知識全般について連載を通じて学んでいくことを目的としています。 はじめに 今回の記事では、Java(ジャバ)で業務アプリを開発するための開発環境の構築を行います。また、Javaのアプリケーションの開発では統合開発環境(IDE)を使って作業することがほとんどです。統合開発環境とはアプリケーションの開発をサポートする環境で、この連載では多くの現場で使われているEclipse(エク
たとえばペンギンクラスを作るとき、まずペンギンクラスを定義する。と言うと、いや待ってください、ペンギンは鳥ですから、鳥から継承させましょう、とかそういう話になる。 継承すると、ポリモーフィズムという技を使えて、鳥を受け取る関数に鳥でもペンギンでも渡せるようになったり、鳥の機能をペンギンが獲得して、足の数は?とか聞くと2とか返ってくる。 便利だけど、鳥でもペンギンでも共通して足の数を知りたいアプリケーション以外でそういうことをし始めると、きりがなくなって、哺乳類クラスが登場したり、生命の樹みたいになって最悪の継承ツリーが出来上がる。 アプリケーション的に意味ない限りは、クラスを作ったり継承したりしてはいけない。そのうち役立つかと思って作りたくなる気持ちは分かるけど、必要になってから作れば良い。大体の場合、後世の人たちが、このクラスなんであるんだろって迷うのにかかるコストの方が高い。
こんにちは。 アキバです。 本日3/18、ついに、Java8が正式リリースされますね! もうダウンロードされましたか?ってまだですかね?私はまだです(だって公開前にエントリ書いてるんだもんね) 2014/03/19追記:Oracleのページが更新されました!→こちら さて、前回に続いて、Java8で追加された地味で便利なAPIを紹介していきます。 今回は、みんな大好きMapとConcurrent、あとちょびっとComparatorです。 3. Map操作編 (1) Map#getOrDefault() これまでは、Mapから値を取得してnullだったらデフォルト値を使用する、みたいなコードを以下のように書いていたと思います。 Map<String, String> map; // 何らかのMap String value = map.get("key"); if (value == nul
Xcode/Objective-Cで始めるプログラミング基本のキ:iOS SDKで始めるObjective-C入門(4)(1/2 ページ) Windowsを使っていたけど、iOSアプリを作るためにMacを使い始めた初心者を対象に、開発ツールXcode/iOS SDKを使ってiPhone/iPadアプリを作る方法を、プログラミング言語「Objective-C」の書き方/文法を交えて解説する連載。今回からObjective-Cの基礎文法を解説していきます。まずはプログラムを動かして変数やNSLog、フォーマット指定子などを覚えましょう。 Objective-Cでプログラミングを始めてみよう 本連載「iOS SDKで始めるObjective-C入門」では、前回の「【図解】Xcode 4.5の使い方リファレンス超まとめ」までで、iOS(iPhone/iPad)アプリの開発環境として、OS「(Mac
アンダース氏が設計した新言語による次世代JavaScript開発とは?:特集:TypeScript(プレビュー版)概説(前編)(1/3 ページ) 「Turbo Pascal」「Delphi」「C#」と聞けば、ある、すご腕の開発言語設計者が最初に思い浮かぶ。その人物の名は「アンダース・ヘルスバーグ(Anders Hejlsberg)」、1996年にボーランド社からマイクロソフトに移籍し、現在はC#やVB(Visual Basic)などの言語設計に携わる有名な開発言語アーキテクトだ。 アンダース氏が作る開発言語の特徴は、言語仕様がオブジェクト指向ベースで明確なので「チームによる大規模開発」にも対応しやすいだけでなく、開発ツールによる支援機能も考慮されているので「開発生産性」にも非常に優れていることだ(と筆者は考える)。またアンダース氏は、最先端のプログラミング言語をよく研究しており、各種言語の
パソコンを始めとして、様々な電子機器で、高度な画像処理が求められるようになってきている。 スマートフォンのアプリやデジカメでも、本格的なフォトレタッチ機能が搭載されており、これらを利用している人も多いだろう。 こうした画像処理プログラムの開発でキーとなるのが「並列化」だ。画像を処理する場合、大量のデータに対して同じ変換処理を行っていくことが多い。こうした処理を行う際、画像を細かな単位に分割して、同時に処理を行うことができれば実行時間を短くできる。今ではスマートフォンにも搭載されているGPUは、処理を同時並列的に、実行するために設計された画像処理用のプロセッサだ。しかし、並列処理に最適化されたプログラムコードを書くのは、非常に手間がかかる。プログラマーは、どのようなアルゴリズム(計算方法)で画像処理を行うかということに加え、それをどう並列化するかということまで考えないといけないからだ。 MI
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く