このすみノート

Webエンジニアが技術や趣味を書くブログです。

機械学習を演習するために、DockerでJupyter Notebookを起動するまで - 技術メモ

お妃様シリーズの「Pythonで機械学習入門」を本格的に読み始めたので、さっそく環境構築から始めました。 Pythonで機械学習入門: 深層学習から敵対的生成ネットワークまで作者:真之, 大関発売日: 2019/05/31メディア: 単行本 本書ではAnacondaをインストール…

若手開発者を育成するための、リメイクという選択肢・日本ファルコム - ゲームの企画書3

『ゲームの企画書3』を読みました。 すべての章が面白かったですが、『ワニワニパニック』『パワプロ』『みんゴル』など誰もが知っているゲームが並ぶなか、私が特に興味を抱いたのは日本ファルコム(イース、英雄伝説など)です。 ゲームの企画書(3) 「ゲー…

C++でint型同士の演算結果をlong longで受け取っても、オーバーフローで正しい値にならない場合がある - ABC 162 D - RGB Triplets

緊急事態宣言に伴う自粛期間中なので、昨日は家にこもってAtCoder(競技プログラミング)の過去問を練習していました。 昨日は「ABC 162 D - RGB Triplets」を解いていたのですが、なぜかtestcase_17とtestcase_18だけACにならず、長時間悩みました。 結論から…

PerlのHTML::TagParserを使ったHTML解析

前回の記事に引き続きPerlです。 今回はURLから取得したHTMLのパースを行いました。 www.konosumi.net Perlの開発環境準備 まずは開発環境を準備します。 「-it /bin/bash」で、起動したDockerコンテナーの中に入ります。 docker run -v $(pwd):/work -it --…

Perlを復習しながら、HTTP(S)クライアントとJSONパースからのCSVファイル出力を書いた

「退屈なことはPythonにやらせよう」的な作業があったのですが、せっかくなのでPerlでやることにしました。 なぜPerlを選んだのかと言うと、しばらくPerlから遠ざかっていたこともあり、久しぶりに書きたくなったからです。 やりたいことはWeb APIからJSONを…

PHP中級者を目指すを書くための情報収集とYYPHPの活用

本記事は技術書典5が開催された2018年に書いたため、少し古い可能性があります。 技術書典5で「PHP中級者を目指す 〜言語を使いこなすための本〜」を書いた「このすみ」と申します。 執筆こそ1人で黙々と書いたものの、途中でYYPHPも活用しつつ本書は完成ま…

漸進的型付けというプログラミング言語

世の中には、静的型付けと動的型付けのプログラミング言語の他に、漸進的型付けというプログラミング言語があります。 オライリーの『プログラミングTypeScript』を読んでいたら登場したので、記事にしてみることにしました。 静的型付けのプログラミング言…

MySQLのWHERE狙いのキー(インデックス)と、ORDER BY狙いのキーによるSQLの高速化

少し昔の話ですが、『YAPC::Asia Tokyo 2014』のイベントに参加したとき、『Where狙いのキー、order by狙いのキー』という発表を聞きました。 当時の私はデータベースのインデックスについての知識が皆無だったので、発表を聞いた際は衝撃を受けたことを覚え…

MySQLやPostgreSQLにおけるNULLは、不明な値であり計算に使うと結果がNULLになってしまうことがある

私はプログラミング言語におけるNULLは、「何もない値」または「何も示していない値」という定義で理解しています。 ところがSQLにおけるNULLでは、この単純な理解が通用しないことを知りました。 先に結論を言ってしまうと、「NULLとは不明な値のことである…

MySQLのINFORMATION_SCHEMA.TABLESにおけるテーブルの行数(レコード数)は、概算値だから正確とは限らない

SQLのパフォーマンスをテストするために、試験用にテーブルを作って大量のレコードを入れました。 その時に試験をやり直そうと思い、テーブルをリセットする局面があったのですが。 ふと疑問に思い、「DELETE FROM テーブル名」と「TRANCATE TABLE テーブル…