[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
家の照明などを操作しようと思うと、やはりモバイルアプリよりも簡単な物理ボタンが欲しくなることは多いと思います。 流行に身を任せて、市販のIoTボタンを買ったり、ArduinoやESP8266などで電子工作したりしてもいいですが、USBでつながる普通の無線マウスで実用的には十分なことがあったので紹介します。 ほかのIoTボタンと比べてこんなメリットがあります。 安い (737円とか) どこでも手に入る 設定が不要 乾電池で動作して長持ち ホイールが使える マウスで電球スイッチ 今回は、家全体の電球を操作するボタンをつくるのを例に説明します。電球にはPhilips Hueを使って、HTTP API経由で電球を制御します。このようなものを使います。 USB接続のワイヤレスマウス Raspberry Pi (常時稼働のマシンならなんでもOK) 制御するもの (今回はHue) マウスをクリックすると
タイトルを見て釣られクマーな皆さんこんにちは。 ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。 今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。 「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。 タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー 面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。 Java 1.0 1996年1月23日Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。 かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU
Help us understand the problem. What is going on with this article? 3月24日に発表になったLINEのBOT API Trial Accountが、いよいよ4月7日から実際に試せるようになりました。既に多くのBOTが開発者の手によって作られ始めたようですね。QiitaにもいくつかBOTの作り方が投稿されていますので、"LINE BOT"というキーワードで探してみてください。 実際の作り方の基本は他の投稿に任せるとして、BOT API自体は非常にシンプルな作りなので、試すこと自体はすぐにできると思います。しかし、シンプルな反面、仮に近い将来「Trial」が取れて、友だち50人制限が撤廃された時、それでも正しく安定的に動作するBOTとするには、アーキテクチャ上の工夫が必要になります。個人的に、既にLINE BusinessCo
最近、このモジュールを妻に紹介したところ、そのシンプルさと実用性に驚いていました。 joblib joblibの存在は以前から知ってはいたものの、実際のところはよく理解しておらず、いろいろな機能を寄せ集めたようなモジュールだと思っていました。まあ、その印象は今もあまり変わりませんが、実は非常に便利なモジュールだったのです。私は Flowminder の同僚から再度joblibを勧められて、このモジュールをデータ分析用のコードに幅広く使用しました。では、その機能について紹介しましょう。joblibは大きく分けて、 キャッシング 、 並列化 、 永続化 (データの保存と読み込み)の3つの機能から成ります。実を言うと、私はまだ並列プログラミングの機能は使ったことがないのですが、あとの2つの機能は頻繁に使ってきました。 キャッシング機能とは、シンプルなデコレータを使って、関数を簡単に”メモ化”する
皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu
インフラ自動化ツール「Ansible 2.0」正式版がリリース。リファクタリングによるアーキテクチャの整理、Block文や動的なIncludeなどの新機能 Ansibleは昨年10月にRed Hatが買収しており、Ansible 2.0は買収後初の(そしてAnsibleにとっても初めての)メジャーバージョンアップです。 参考:Red HatがAnsibleを買収した理由、同社クラウドマネジメント戦略担当が説明 Ansible 2.0では大規模なコードのリファクタリングが行われたことにより内部アーキテクチャが整理され、それに伴って新しい機能がいくつか追加されています。 Task Blocksと動的Include 1つ目の新機能としてあげられていたのは「Task Blocks」です。タスク内でBlock文を用いて処理をまとめることができます。 Blockは、Pythonやほかの言語が備えている
Photo by aimee rivers こんにちは。谷口です。 4月にから新人ITエンジニアになられた皆さん、研修やお仕事はいかがでしょうか? 今回は、新人ITエンジニアの皆さんがこのGWに読むのにお勧めな書籍を11冊ご紹介いたします。よかったらGWのまとまった時間や帰省のお供として読んでみてくださいね!連休明けからの業務や今後の開発に役立ちますよ! ■GitHubについて ◆1.Web制作者のためのGitHubの教科書 Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール 作者: 塩谷啓,紫竹佑騎,原一成,平木聡出版社/メーカー: インプレス発売日: 2014/10/24メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る最近、特にWebサービスやアプリ開発をしている企業では、多くがユーザーの反応を見て機能追加やバグ改修を行うといったス
Photo by HeatSync Labs こんにちは。谷口です。 プログラミングをこれから学ぼうとしている方で、「人気のRubyを勉強してみたい!」という方は多いと思います。 Rubyは『オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。 エレガントな文法を持ち、自然に読み書きができます』とされています(オブジェクト指向スクリプト言語 Ruby)が、やはり「プログラミング経験ゼロからいきなり勉強を始めるには敷居が高いな……」と思っている方も多くいらっしゃるのではないでしょうか。また「できれば独学じゃなくてスクールに通いたいけど、コストは押さえたいんだよな……」という方もいらっしゃるかと思います。 そこで今回は、プログラミング未経験~初心者の方が、なるべくコストをかけずに楽しくRubyに触れられて、学習に役立てられるコンテンツを10件ご紹介していきます。
はじめに DoubleArray を作ったこともあって,ついでに形態素解析器も作ってみようと思い立ち kuromoji を参考に形態素解析器を実装してみました.目標としては,Pure Go で kuromoji みたいな感じ(辞書内包,検索モードあり,スレッドセーフ)を目指します. サンプルプログラム 参考 下記を参考にさせていただきました. kuromoji 日本語入力を支える技術 Mecab 品詞IDの定義 形態素解析のちょー適当な説明 「形態素」が何であるかを議論し出すと面倒なことに巻き込まれそうなので,ここでは MeCab-IPADIC で定義されているものとします.形態素解析のアルゴリズムについては下記の資料などをあたってください. 日本語入力を支える技術 日本語解析ツール MeCab, CaboCha の紹介 用意するもの DoubleArray #前に作ったものを id が記
バッチのまとめTOPへ Windows上の処理を自動化するプログラムが,BATファイルである。 「コマンドプロンプト」上での手作業を省略し,自動実行できる。 Windowsが存続する限り,BATファイルはなくならないだろう。 バッチ・プログラミングの需要は,何があろうとこの先生きのこる。 このWindows 10の時代でもそうだ。 BATは,MS-DOSの時代から長く使われてきた。 そのため,各コマンドに関する個別のノウハウや情報は多い。 だが,実用的なノウハウを体系的に整理したものは,あまり見かけない。 そこで以下では,BATをコーディングする際の良質なパターンを列挙する。 (0) BATプログラミングの特徴 (1) BATファイルの雛型 (1−1) 冒頭と末尾のテンプレート (1−2) 反復して実行可能に (2) バッチの構造化 (2−1) ルーチンの分割 (2−2) 実行ファイルや実
なんか今日の中日新聞で一面大ニュースになってるし、 アレについては思うところもあるので書いておく。 まず最初に、僕は例の事件の真犯人っぽい被疑者が逮捕された、 と聞いて、猫に首輪なんて仕込むからだろ、間抜けだなぁと思った。 で、次に思ったことは、 現在逮捕されている被疑者は本当に真犯人なのか? 仮に真犯人だとすると、容疑を固めるに値する証拠は残ってるのか? の二点。 最初の一点目はまあ、あの人、モノホンの犯人? また冤罪なんじゃないの? みたいな感じ。 で、もう一点は、トロイの木馬を仕込むときにTorとか使ってる犯人が、 PC内に証拠を残しているのか? っていう点。 ぶっちゃけTorというかOnion Routingを使う、 というようなコトに頭が回るんだったら、 ファイルの暗号化や、システムパーティションの暗号化にも、 知恵が回るんじゃないの? っていう疑問。 多分真犯人はWindows
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはDeNAの嶋田裕二さんで、テーマは「高速なWeb APIの実装とテスト」です。 Web APIの基礎知識 はじめまして、DeNAでMobageオープンプラットフォームのWeb API(以降Mobage API)を実装しているxaicronです。Mobageオープンプラットフォームは、Mobageの機能をWeb APIを通して外部の開発者に公開することにより、ソーシャルゲームをユーザに提供するサービスです。 簡単に説明するとWeb APIとは、HTTPを利用してネットワーク越しに処理を行い、結果を返すしくみです。最近ではJSON(JavaScript Object Notation)というフォーマットを利用してデータのやりとりをすることが多くなっており、Mobage APIも基本的にはJSONを受け取って処理を行
画像の専門家も「魔法のようだ」と驚愕! ピンぼけ写真を修復できるプログラムが開発される 2012年10月26日 わーん、街で偶然アイドルを見かけたから急いでカメラのシャッター切ったら案の定ピンぼけして、どこかのおばちゃんみたいに見えるわーっ! 街の名前が書かれた看板の字すらボケすぎて何がなんだかわからんわーっ! これじゃ何の証拠にもならへんやーんっ!! そんなアナタの切実なお悩みが近々解消されるかもしれないから、ピンぼけデータもしっかり保存しておくといいかもしれぬぞ。 というのも、ピントや手ぶれなどでぼやけている写真を修復してくれるプログラム「SmartDeblur」がプログラマーVladimir Yuzhikov氏によって開発されたというのである。 例えばピンぼけした風景の元画像と、処理後の画像を見てみると、その差は歴然! それまで何がなんだか区別できなかったボケボケの風景が、プログラム
Rubyの例外について少し調べたので、まとめてみる。 多くのモダンな言語同様にRubyでは例外処理機構が組み込まれている。 ファイルを開こうと思ったらファイルが存在しなかった ネットワーク先のサーバが反応しなくてタイムアウトした 定義されていない(存在しない)メソッドを呼んだ 0で割り算をしてしまった など想定外の問題に遭遇したときに、その問題を無視せずプログラマが何らかの対応処理をするための枠組みを提供する。 C言語など古い言語では、関数からの戻り値でエラーコードを返し、それによって呼び出し側がエラー処理をその場で記述する。例えば、fopen(3)が失敗すると戻り値としてNULLが戻ってきてグローバル変数のerrnoに失敗の理由を示すエラーコードが設定される。 #include <stdio.h> #include <string.h> #include <errno.h> int ma
テストの網羅性については様々なものがある。基本的な網羅性の観点としては、構造ベース、仕様ベース、外部の標準や指標ベースなどが挙げられる。 そして観点ごとに、様々な網羅性の指標がある。ユニットテストの場合だと、例えば以下がある。 コードの構造網羅 コードの構造を網羅する。ここでいうコードの構造としては、制御フロー、データーフロー、例外フローなどがある。具体的な指標としては、コードカバレッジが有名。コードの構造網羅では、コードカバレッジなどを基準にして、基準以上の網羅性を確保できるようにテストを設計する。 なお、構造網羅というと、一般的な定義ではコード以外の構造も扱われるが、このブログでは便宜上「構造網羅をコードの構造を網羅すること」という定義に絞り込んで説明する。 仕様網羅 コードの仕様を網羅する。コードの仕様には、対象(対象の粒度はテストレベルに依存する。例えば関数やクラス、モジュールを単
0-1. 前書き この世にはたくさんのプログラミング言語が存在します。Wikiepdiaのプログラミング言語一覧を見ると、実に200個以上というわけの分からない数の言語が並んでいたりします。 【参考URL】プログラミング言語一覧 - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%... 200の中にはほとんど使われてない言語も混じってるので、実際に仕事でざくざく使われている言語は20とか30とかそういうオーダーなのですが、それでも1人の人間が把握するにはちょっと多過ぎる数です。 本記事では、そうした有り余るプログラミング言語の海の中で「どれを勉強したらいいの?」とか「どれを採用するのが適切?」という悩みをお持ちの方が「よし、この言語に決めた!」と自信を持って決断できるように背中を押すことを目的として書か
Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く