2017-01-01から1ヶ月間の記事一覧

random.choice()で配列の中身をランダムに選ぶ

Pythonのrandomモジュールには「choice」という関数がある。 これは配列を引数として受け取り、配列に含まれている要素から1つをランダムに選んで返すというもの。 import random ary = [1,2,3,4,5,6,7,8,9,0] for _ in range(5): print(random.choice(ary))…

videoタグの動画に字幕を表示する

HTML5で動画を表示させる時、videoタグを使用する。 これで表示させた動画に対して字幕を付ける場合、videoタグの中にtrackタグを設定することで実現できる。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>Video Sample</title> </head> <body> <video width="320" height="240" controls> <source src="sample.mp4" type="video/mp4"> </source></video></body></html>

「Pythonからはじめる数学入門」読了しました。

全て読みきったのは2回目。 一度目よりもかなり勉強になることが多かった。 この本でわかったことは、「数学は楽しい」ということと「Pythonなら複雑な数式もプログラムにできる」ということ。 学生時代から好きだったが、改めて数学は楽しいと思った。 今回…

数値の切り上げ・切り捨て・四捨五入を行う

javascriptで数値を扱っていて、切り捨て・切り上げ・四捨五入をしたくなった。 調べてみたところ、ここに書いてあるようにMathオブジェクトがそれを実現してくれる関数をもっているとのこと。 使い方はこんな感じ。 // 切り捨て console.log(Math.floor(1.2…

PHPのグローバルスコープを使うときは明示的に指定する

php

最近になってPHPのスコープについて「グローバルなスコープと思っていても明示的に呼び出さないといけない」ということを初めて知った。 どういうことかというと、PHPではスクリプト全体で共有されているように見えても、ちゃんとglobalをつけて宣言しないと…

jupyter notebook上でanimationを実行する

jupyterでpython3のコードを書きながらアニメーションを実装しようとしたところ、なかなかうまく行かなかった。 調べてみたところ、jupyter上でアニメーションさせるときはplotを表示させるのではなく実装したアニメーションを直接呼び出す必要があった。 fr…

tabindexを設定しdivタグにフォーカスを当てる

久々にHTMLを書いたら、いろいろなことを忘れていて非常に難儀した。 divタグにtabキーでフォーカスを当てられるようにしつつ、フォーカスの当たったdivタグをボーダーで囲むということをやったので今度は忘れないようにまとめておく。 まず、divタグにtabキ…

chromeのコンソールでページ上の要素にフォーカスを当てる

長いことchromeを使って開発しているが、開発コンソールについてはまだまだ未知の機能が多い。 今日初めて、コンソール上からページ内の要素にフォーカスを当てる機能があることを知った。 開発コンソールを開き、「Elements」タブを選択すると画面内の要素…

1PasswordのDropbox同期ではフォルダ選択に注意する

Mac上でのDropboxを使った1Passwordの同期設定について、簡単にできると思っていて初歩的なミスで詰まってしまった。 まず、設定画面を開いて同期タブを選択する。 Mac上で保存されているVaultsが表示されているので同期したいものを選択し、「Sync vault wi…

sympyのsympifyとsimplifyの違いについて

「Pythonからはじめる数学入門」を読んでいて、少し混乱してしまったところ。 sympyパッケージがもっている「sympify」と「simplify」の違いについて。 本を読んでいれば書いてあるのだが、いつの間にか混同して使っていた。 この2つの違いは以下の通り。 sy…

PHPで独自ソートを実装する

php

単純な昇順・降順ではなく、実装上の都合で特定の要素をソート基準として並べ替えたくなることが度々ある。 そんな時、PHPでは関数として並べ替えのルールを定義してソートする関数「usort」が用意されている。 3]; $arr[] = ["order" => 1]; $arr[] = ["or…

PHPでforeachする

php

過去に何度か検索してしまったので備忘録として。 PHPでforeachを実装する場合、以下のようになる。(参考)

pandocでMarkdownをhtmlに変換する

僕は文章をMarkdownで書く。 Markdownであれば記号を見ただけでHTMLに変換された姿が脳内変換できる程度にはなったが、やはりHTMLファイルをブラウザ上で確認したい欲求も出てくる。 そこで都合よくMarkdown→HTMLの変換ができるツールを探していたところ、こ…

Macのターミナル上でファイルの内容をコピーする

mac

ターミナル操作中に特定のファイルに書かれている内容をクリップボードにコピーしたくなる時がある。 ファイルを開いてマウスで範囲選択してコピーして...でもできなくはないが、あまりスマートではない。 せっかくターミナル上にいるので、さっさとコマンド…

IntelliJ IDEAのideaVimで置換を使って改行する

IntelliJ IDEAでideaVimを使うと、vimのキーバインドでファイルを編集できるようになる。 ところが、この状態で「\n」を使って置換して改行を挿入しようとすると何故か文字化けしてしまった。 調べてみたところ、IntelliJ IDEAでは改行を挿入する場合、次の3…

atomのカラースキームを変えた

主にatomはMarkdownエディタとして使用している。 これまで「Solarized Dark」というカラースキームを使用していたが、今回「monokai」に変更した。 変更した理由はSolarized Darkが色のコントラストが比較的薄く、ちょっと見にくくなってきたから。 変更方…

2017年の目標

2016年の振り返りも終わったので、2017年の目標も発表しておく。 毎週1冊、新書かビジネス書を読む 毎月1冊、技術書を読む 週に2日以上ジムに行く 競技プログラミングに参加する ブログから収益を得る 言語処理100本ノックを終わらせる Pythonistaを使いこな…

pythonでFiniteSetを使って組み合わせを一気に作る

「Pythonから始める数学入門」の演習課題で、「トランプのカードをきる」というのがある。 カードは絵柄と数字の組み合わせを持っていて、これを52枚用意してランダムにシャッフルした上で結果を表示するというもの。 52枚を人力で丹精込めて1枚ずつリストに…

Python2.7をgoに変換するGrumpyを試す

Python2.7をgoに変換するライブラリ「Grumpy」をGoogleがリリースした。 https://github.com/google/grumpy Googleのアプリの多くがPython2.7で実装されているということなので、Pythonアプリの高速化と同時に既存アプリをgoに移行するのだろうか、と思った…

HomeBrewを使ってMacにgoをインストールする

この記事を読んでPython2.7からgoに変換する「grumpy」というツールを試してみたくなった。 ...と思ったら、手元のMacにgoの実行環境がなかったので、HomeBrewを使ってサクッとインストールした。 $ brew install go ==> Downloading https://homebrew.bintr…

PHPで特定の月の月初・月末の日付を取得する

php

PHPで任意の月の月初・月末の日付が必要な時、date()とstrtotime()を組み合わせることで簡潔に書けるようになる。 例として先月の月初・月末の日付を取得する場合はこんな感じ。 $start = date('Y-m-01', strtotime("-1 month")); // 先月の初日 $end = date…

2016年の振り返り

いつの間にか2017年になってしまったので、簡単に2016年を振り返ります。 深層学習に詳しくなった 2015年から機械学習を勉強し始めて、去年は深層学習関連を色々調べたり読んだりした。 特に年末に購入した「ゼロから作るDeep Learning」の写経をして、CNNも…