太陽がまぶしかったから

C'etait a cause du soleil.

プログラミング

言語処理100本ノック第2章を実装しながら pytest で Python 処理と UNIX コマンド結果を自動突合する

言語処理100本ノック第2章に挑戦 前回に引き続いて『言語処理100本ノック第2章: UNIXコマンド』のための環境構築と実装を行っていきたい。今回の章はタイトルの通り UNIX コマンドを実行し、その通りに動くプログラムを作って突合する。 外部ダウンロードフ…

GitHub Actions でカスタム Docker コンテナを GHCR に登録して CI 環境の pytest ジョブをコンテナ内で実行

GitHub Actions を CI 活用 上記のようなプログラムを管理するのにあたって CI 環境を構築したい。CI とは Continuous Integration の略で複数の開発者が継続的にメインブランチに統合していくこと。これを実現するためにはローカルテストだけではなく、例え…

青空文庫の形態素解析データから tf-idf を計量して文芸作品連想クイズを生成する

青空文庫の形態素解析データを作りたい 例えば『お好み焼きの戦前史 第二版』においても過去文献類をスキャンしたり、ネット上の文献をダウンロードすることで作成した電子テキストデータ群を解析することで料理方法の初出や普及の過程を明らかにしており、…

Python と MeCab でオライリー出版の EPUB 電子書籍を日本語形態素解析する

O'Reilly の電子書籍をテキストマイニング 上記の環境を整えたかった理由のひとつとして電子書籍のテキストマイニングがある。 Amazon Kindle や 楽天 Kobo などの電子書籍データは暗号化されているため正当な方法で抽出することができないが、オライリー出…

mecab-python3 で ipadic-neologd を利用して固有名詞を含んだ日本語の計量テキスト分析をする Docker を構築

Pythonで計量テキスト分析する環境を構築 蔵書やWebニュースなどの計量テキスト分析をするために、テキストマイニングのための環境を作成しているのだけど、自然言語処理においては形態素解析が必要となる。形態素解析とはテキストの品詞分類を行なって分か…

GitHub の Repository Template 機能で既存のボイラープレートリポジトリを依存関係なく新しいリポジトリに複製する

テンプレート的な既存リポジトリを依存関係なく複製したい Python でちょっとしたツールを作る時に毎回毎回同じようなコードを書くのも面倒なので、 GitHub に定型コードを集めたリポジトリを作って git clone や fork を使ってリポジトリを複製していたのだ…

Amazon Kindle のタイトル正規化処理でシリーズ名を取得しようとする試み

Kindle書籍タイトルからシリーズ名を取得したい Kindle の書籍タイトルからシリーズ名を取得しておきたいと思うことがある。既に所持しているシリーズの新刊が出たら通知したり、逆にいらないと判定したらシリーズ全体をブロックしたり、セール対象の一覧を…

Amazon Kindle の所持済み書籍のASIN一覧ファイルを Kindle for Mac のキャッシュファイルから生成する

Kindle の蔵書一覧ファイルが欲しい Amazon Kindle で大規模なセールをやっているのだけど、このようなセールがあると既に持っている電子書籍を除外して検索したいと思うことがある。数千冊を所持していると買ったか買っていないかの記憶が朧げであるし、持…

朝日新聞長文要約APIが原文にない "本日発行のasahi+C(朝日プラス・シー)"を含む要約文を捏造する問題

朝日新聞長文要約APIを試してみた 先日公開された朝日新聞の要約APIを試してみました。私が書いたスクリプトは以下。 長めの文章を「sample.txt」というファイルにまとめておくと、勝手に内容を読み込んで要約してくれます。 id:tekitoeditor さんが、朝日新…

パンくずリストカスタマイズの終焉と過去ログ改竄問題

パンくずリストカスタマイズの終焉 5年ほど前にはてなブログに階層型のパンくずリストを設置して、Googleに認識させるスクリプトを公開したのだけど、data-vocabulary.org を利用した方式が利用できなくなったとのこと。 公式機能にパンくずが実装された時点…

でもしかITエンジニアのゲームプログラマーへの憧れとAI

ゲームプログラマーになりたかった 迷路をランダム生成して、その最適解を強化学習するプログラムを書いていてゲームプログラマーへの憧れを思い出した。中学生の頃には Visual Basic で簡単なシューティングゲームを作ったりもしてたのだけど、高校生になる…

Python を用いて迷路の最善手を方策勾配法で強化学習

迷路を解くためのモデル生成 こちらの続きで、Deep-Reinforcement-Learning-Book/2_2_maze_random.ipynb at master · YutaroOgawa/Deep-Reinforcement-Learning-Book · GitHub を参照しながら強化学習で迷路を解くモデルの生成と可視化を実装する。 迷路の定…

matplotlib / imagemagick の Docker でグラフアニメーションGIFを生成

グラフアニメーションを生成したい 改めて機械学習の勉強を始めるのにあたってグラフのプロットをアニメーションで表示させたくなった。Python ライブラリの matplotlib には直接アニメーションを表示させる機能もあるが、環境情報を Docker コンテナのコン…

SQL得意おじさんはデータサイエンティストではない

SQL 得意おじさんとデータサイエンティスト これまでの仕事の経歴として、大規模データを効率的に集計・整形したり、BIツールのためのETL基盤を構築するような案件に多く関わってきた。なので「ビッグデータの専門家」という盛った紹介をうけることもあるの…

React 入門〜React Component の表示と Restful API コール

はじめての React 上記で構築した Docker 環境で Laravel x React に入門してみる。 基本的には resources/views/welcome.blade.php から紐づけた resources/assets/js/components/Example.js を編集していく。 import React, { Component } from 'react'; i…

Laravel 5.6 x React Docker 環境で npm watch と artisan serve を共存

最初のフロントエンドを選ぶのじゃ Laravel で Web アプリを作っていたのだけど、今どきの Web アプリケーションにおいてはサーバーサイドで API だけ作って画面表示は Javascript で生成するのが一般的なようだ。 そんな時流において、サーバーサイドのテン…

Docker for Mac で PHP 7.2 x Laravel 5.6 のコンテナを作成して開発

Laravel を Docker で使ってみよう 今更ながらにプログラミング熱が高まっているので、GW中に Webアプリケーションでも作成してみようと、PHP の Laravel 環境を作ってみることとした。ローカル環境を汚したくないので Docker を利用。 Laradock のような作…

コードの書けないディレクターだけど「各論」を把握するためにPR全部読む

コードの書けないエンジニア問題 僕自信のキャリアを考えると本当に「コードの書けないエンジニア/ディレクター」の道を歩んできたと思う。そこには能力の壁と業務管掌の壁がある。SIer のプロジェクトリーダーとしても、事業会社のディレクターとしても「…

Real-Time Google Finance API で Google Spread Sheet に株価を取得

日本株に使えない株価取得API 投資信託への気絶投資は別に小型バリュー株の積立をやっているのだけど、総合的な配当利回りを把握する手段がなくて難儀していた。過去にあった Yahoo!や Google のエンドユーザー向けAPIは廃止されており、その他のサービスも…

Mac & Python3でmatplotlibのグラフ表示とscikit-learnの機械学習

Python3環境の準備 データ解析基盤Mac で Python3 環境での開発を行う準備を環境を準備した際の備忘録。Anacondaなどを利用すれば一発で入るけど、サーバー環境に移行する場合にコンフリクトするのが面倒なのと自身の理解のためにいちからやってみる。まずは…

簡易難読化のためにJavaScriptでシーザー暗号(日本語対応)を実装する

シーザー暗号化/復号化ツール(日本語対応) /* シーザーー暗号化 */ function caesar(val, key) { console.log(val); val = encodeURIComponent(val); var result = ""; for (var i = 0; i シーザー暗号による簡易難読化スクリプト

アドブロックされたらブログ本文を関西のええ加減なおっちゃん化するLPO

アドブロックされたら記事本文が関西弁になるスクリプト 種明かしをすると、adspace.cssというのが、どうやらAdblockが『ブロック』するCSSファイルのひとつになるようです。同CSSファイルの中に『a-alert』というクラスを非表示にする命令が組み込まれてい…

Googleスプレッドシートで指定URLのはてなブックマーク数を取得する関数

はてなブックマーク数をGoogleスプレッドシートで管理したい 以前に、Googleスプレッドシートにある「GOOGLETRANSLATE」関数を用いて多言語対訳表を作ったのだけど、これはGoogle翻訳のAPIをスプレッドシート上で実行することで実現されている。 開かれたWeb…

Google Docsのスプレッドシートで多言語対訳表が簡単に作れるよ

対訳表を作るのが面倒 システム設計をする時に、データベース名や変数名や表示名などを決めるのが面倒です。一般的には英字文字列で作るのですが、ローマ字で「kokyaku」とか付けるのはダサいし、いちいち辞書を引いていくのも面倒です。 多言語対応のために…

はてなブログのスマートフォン表示で出てくる追尾ヘッダーを消す方法

はてなブログのスマートフォン表示の追尾ヘッダーがウザい はてなブログのスマートフォン表示が変更されて、追尾ヘッダーがつくようになりました。スマートフォンの小さい画面で追尾されるとウザいので嫌いなデザインです。 イラッときたので消してしまいま…

はてなブログでバイラルメディア風シェアボタンを回転させるCSS

バイラルメディア風シェアボタンを回転させる このブログでは、文字ベースのバイラルメディア風のシェアボタンを設置しています。 はてなブログにバイラルメディア風シェアボタンを設置する - 太陽がまぶしかったから このボタンについて、マウスオーバーで…

はてなスターを非表示にしている他人のブログに勝手にはてなスターを設置して☆を連打する

photo by Vicky Brock 置かぬなら、勝手に設置、はてなスター この件について説明しても「JavaScriptをブロックしているのが悪影響にならないと100%は言い切れない」と返ってくるので考え方を抜本的に変えましょう。これからは、他人のブログにクライアント…

【利用不可】はてなブログでGoogleにパンくずリストを認識させるカスタマイズ

photo by keso こちらのカスタマイズは使用しないでください data-vocabulary.org のサポートが終了されるため、こちらのカスタマイズは利用できません。はてなブログ公式の機能を利用したり、リンク先で紹介されている方法への差し替えをお願いします。 Goo…

はてなブログのスマートフォン表示で記事フッターに詳細プロフィールへのリンクやソーシャルボタンセットを表示する

記事下にプロフィールリンクを表示するのが流行ってる 『http://bulldra.hatenablog.com/20140504/5737288.html』などでも触れられているのですが、記事下にプロフィールリンクを表示させるのが流行っています。実は私も『『太陽がまぶしかったから』につい…

プライベートプロジェクトのために久々にプログラミングをしてみる

photo by Ian Wilson プログラミングのスキルが錆びついてる 大学生の頃はよくプログラミングをしていて、自作のゲームでちょっとした賞を頂いたこともありました。その後、一応は情報通信業界に入ったものの、自分ではプログラミング出来ない状態が続いてフ…