サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
drilldripper.hatenablog.com
Webサイト上の英単語の上に日本語を表示するGoogle Chrome拡張機能を作りました。単語にルビ(Ruby)を付けて読む(Read)ということで「Read Ruby」と名付けました。*1 Chromeウェブストアからインストールすることができます。 Read Ruby -Chrome ウェブストア 使い方 追記 GIGAZINEさんのレビューがわかりやすいので参考にしてください。 ウェブページの英単語に単語レベルを指定して日本語訳のルビをつけることが可能なGoogle Chrome拡張機能「Read Ruby」レビュー - GIGAZINE ツールバーのアイコンをクリックすると英単語の上に日本語の意味が表示されます。さらにクリックをするとルビの表示を切り替えることができます。 github.com 下の画像は英語のWikipediaに拡張機能を適応した結果です。 Albert Ein
Webサイトの状況を監視するためのスクリプトを動かしたいというシチュエーションが発生することがあります。典型的な例としてECサイトの在庫監視などがあると思います。この文章を読んでいる人の中には、Nintendo Switchの在庫状況を監視して通知するスクリプトを動かしている人もいるもいるのではないでしょうか。*1 在庫確認のようなシチュエーションでは常時起動しているPC、すなわちサーバに相当するものを用意しなければなりません。VPSを借りる人も多いと思いますが、スクリプトを動かすだけに使用するには少々オーバースペックです。 そこで今回はAWS Lamdaを使って安価にサーバレスでサイトの在庫状況を監視するシステムを構築します。例としてNintendo Switchの在庫状況を通知するシステムを作ります。 おそらく無料枠内で収まると思いますが、無料枠を超えたとしてもAWS Lambda自体
最近まとまった時間ができたので、Web開発手法の勉強をしていました。 Ruby on Railsチュートリアルが体系的に学べて良いという話を聞いていたので、これを軸にしながら自分のWeb知識の穴を埋めていくことにしました。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう 一区切りついたのでまとめておきたいと思います。 前提知識 以下は勉強を始める前の私の知識です。 Webフレームワークを使ったことがない 生PHPなどで開発をしたことはある MVCモデルは一応理解している 昔Java Servletを使った講義を受けたことがある DB Migrationなどの言葉は聞いたことがある Rubyを一行も書いたことがない 普段はPythonとC++を書いている 趣味でJSも少し書く CS的なインフラの基本技術は知っているが、IaaSやPaaSなどにはあまり明るくない
Pythonのグラフ描画ライブラリのMatplotlibには、手書き風のグラフを描画するための関数xkcd()があります。以下のソースコードを実行すると、手書き風のsinグラフが描画されます。 from matplotlib import pyplot as plt import numpy as np plt.xkcd() # この関数を実行すると、次のグラフが手書き風グラフになる plt.plot(np.sin(np.linspace(0, 10))) plt.title('Handwriting sin graph') plt.show() 温かみがあっていい感じですね。 このような手書き風グラフは、関数の名前にも使われているxkcdというサイトの画像をリスペクトしたものです。 xkcd: Color Pattern 理系的なネタが多く、エンジニアの間でもよく話題になります。また海外
分類や回帰の問題を扱う場合、選択する手法としてサポートベクターマシン(SVM)とランダムフォレストが候補に上がってくると思います。 しかし、どちらの手法を使うべきなのでしょうか?どのような問題に対しても、一方の手法を使い続ければ良いのでしょうか?それとも問題によって使い分ける必要があるのでしょうか? 手法の手軽さ Python機械学習プログラミングの著者であるSebastian Raschka氏は次のように述べています。 I would say that random forests are probably THE “worry-free” approach - if such a thing exists in ML: There are no real hyperparameters to tune (maybe except for the number of trees; typ
将棋初心者がどうしたら将棋を続けられるか、という問題が話題になっていました。 http://chaosnote.hatenablog.com/entry/2016/11/08/224013 私の周りでも将棋を始める人が増えていますが、長続きせずにやめてしまう人が多いです。もっと将棋を続けてくれる人が増えるといいなーと思うので、私の考えを書いておこうと思います。 私の将棋の実力 元記事で将棋倶楽部24と将棋ウォーズを基準に実力を述べているので、言及しておきます。私は将棋倶楽部24では初段で、将棋ウォーズでは2段のあたりをうろうろしています。そんなに強くはないですが、それなりの時間と情熱を注ぎましたというレベルです。 ロードマップ ハム将棋に勝てない段階でネット将棋に手をだすと負け続けることが予想されるため、モチベーションを失ってしまします。というわけで、まずハム将棋に勝つことを目標として、安
Jupyter Notebook(Ipython Notebook)は基本的にブラウザ上で動作するソフトウェアですが、Pycharmでから動かすこともできます。使い慣れているキーバインドやかしこい補完が使えるので、Pycharmで動かすメリットは大きいと思います。 しかし現在Anacondaを使って整えたJupyter Notebook環境だと、Pycharmからはエラーが発生して起動することができません。以下のメッセーが含まれるエラーが発生します。 KeyError: 'python3' jupyter これはAnacondがPython[Root]という名前でエンジンを登録しているにも関わらず、Pycharmはデフォルトでpython3を探しに行ってしまうことが原因です。 このエラーはAnacondaの新しいカーネルでは修正されていますが、現在conda update condaの本体
最近のスマートフォンのSIMカードの規格はNanoSIMが使われることが増えてきましたが、一昔前のスマートフォンは一回りサイズの大きいMicro SIMカードが使われています。これまで使っていたLGのNexus5はMicro SIMカードが採用されていますが、今回私が購入したHuaweiのP9ではNano SIMカードが採用されています。 アダプタを使ってNano SIMカードをMicroSIMカードに変換することはできますが、その逆のMicroSIMカードをNanoSIMカードに変換することはできません。 多くのキャリアはSIMカードのサイズを手数料を支払うことで変更することができますが、契約によってはサイズの変更を受け付けていない場合があります。 私が契約しているY!mobileでは、SIMカードのサイズ変更は機種変更の扱いになってしまうので違約金なしにサイズ変更をすることができません
OpenCV 画像処理の代表的なライブラリといえばOpenCVだと思います。C++やPythonなど複数の言語で使用することができるため、アプリケーションへ組み込む際に利用することも多いと思います。 OpenCVにはたくさんの関数が実装されていて非常に便利ですが、画像処理の範囲が広いため、網羅しきれていない機能が多々ありあます。私は特に画像特徴量を扱う機能が心もとないと感じています。 scikit-image scikit-imageはPythonの画像処理ライブラリです。このライブラリはSciPyというPythonの科学ライブラリから派生したものです。同じ経緯で作られたscikit-learnは機械学習ライブラリとして広く使われています。 scikit-imageはその出自から、特徴量や認識に関するアルゴリズムに強いという特徴があります。 Python版のOpenCVとscikit-im
ランダムフォレストと決定木学習 ランダムフォレストを理解するためには、決定木学習の手法について理解する必要があります。まず最初に決定木学習の理論について説明します。 決定木学習 決定木は親から順に条件分岐を辿っていくことで、結果を得る手法です。下は決定木のイメージです。 決定木学習とはデータの応じて上の図のような決定木を構成し、分類を行う機械学習の手法のことを指します。 決定木学習は、データの種類に応じて決定木を成長させていきます。 決定木の分類条件は、データを分類したときの情報利得IG(Infomation Gain)が最大になるようにすることです。情報利得は式(1)で表されます。 は親のデータ、はノード、は注目しているデータを表します。 は木を分割するノード数です。一般的に決定木は二分木として実装されるので、ほとんどの場合はとなります。 は不純度という指標で、含まれるデータに偏りがある
What is ETロボコン? ETロボコンは統一規格のロボット(Mindsorms EV3)を使い、指定されたコースを走行する精度とタイムを競う競技です。UML等で書かれた仕様とアピールポイントをまとめたモデルシートを作成する必要があり、モデルシートも評価の対象となります。 ETロボコン2016公式サイト 統一規格のロボットを使うというルールから分かる通り、ソフトウェアデザインとアルゴリズムに重きが置かれたロボコンと言えます。*1珍しい特徴として、ETロボコンは学生チームと企業チームが同じ土俵で戦います。*2車両開発系や組込系のIT企業も参加するとても熱い競技です。 今回はロボットの走行を支える一般的な技術について書きたいと思います。UMLなどのソフトウェア設計技術も順位決定の重要な要素ですが、今回は触れません。 ライントレース ロボットは基本的にコースに引かれた黒い線を追いかけて走行し
前回の記事では不均衡データをサンプリングすることで、学習の精度を上げる方法を書きました。今回はSVMのパラメータを調整することで、不均衡データの学習の精度を上げる方法について書こうと思います。 そのためにSVMの基本を理解しておいたほうがよいと思うで、簡単にまとめてみたいと思います。 SVMの基本原理 SVMのイメージは以下のページを見てもらうとわかりやすいと思います。 SVMを使うとなにが嬉しいの? 簡単に言うとSVMの目的は、データを2つのクラスに分離する線を引こうとしたときに、2つのクラスとのユークリッド距離が最も大きくなるようにする(マージンを最大化する)ことです。これだけではわからないと思うので、数式で原理を追ってみます。 正方向の傾きを、負方向の傾きを、をクラスを2つに分離する直線したとき、正の超平面は式(1)、負の超平面は式(2)のように表せます。 式(1) - 式(2)から
スクリーンショット自動化ツール「BindScreen」 スクリーンショットを自動でとって加工する「BindScreen」を作りました。 ツールとソースコードはGitHubからダウンロードすることができます。 BindScreen - Github drilldripper/BindScreen 使用例 次のスライドをこのツールで画像化してみたいと思います。*1 C++の歴史 江添亮 (このスライドはGFDL1.3で配布されています) 今回の設定は以下のようにしてみました。 キャプチャ間隔はスクリーンキャプチャを行う間隔です。またキー入力もこの間隔で行われます。 初期化時間はプログラムが実行が始まるまでの時間です。設定した時間の間にキャプチャする画面を前面に表示しておきます。今回はブラウザの要素をキャプチャしますが、多くのブラウザではF11を押すと全画面表示になるので活用するといいと思います
英語読解が捗る拡張機能「カラフル英語品詞分類」 英語読解が捗るGoogle Chrome拡張「カラフル英語品詞分類」を作りました。Chromeウェブストアからダウンロードすることができます。 カラフル英語品詞分類 - Chrome ウェブストア この拡張機能はWebページの英語の品詞タグ付け(part of speech tagging)を行い、品詞ごとに色分けをしてページを読みやすくします。 以下は実行の様子です。 アイコンを一度クリックするとウェブページに色がつき、もう一度アイコンをクリックすると元に戻ります。 またオプションから品詞の色を設定することができます。 色がうるさい場合は、色分けする必要のない品詞を黒に設定するといいと思います。 ソースコードはGitHubに公開しています。 GitHub - drilldripper/ColorPosTagge 他のアプリとの違い 英語の構
このページを最初にブックマークしてみませんか?
『drilldripper’s blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く