サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
arakan-pgm-ai.hatenablog.com
目次 ブレークポイントでとまらない原因と対策/PHP7から8へ移行/VsCode・XDebug 原因1:XDebugとPHPのバージョン不一致 原因2:PHP.iniのXDebug2と3の違い ブレークポイントでとまらない原因と対策/PHP7から8へ移行/VsCode・XDebug VSCode(Visual Studio Code)でPHPを開発している方が対象です。 VSCodeですでにPHP開発を行ってデバッグもできている環境を前提に書いています。 そんな環境で、PHP7からPHP8にバージョンアップしました。 そうしても、別にエラーとかはでません。 けれど、VSCodeでデバッグしても、ブレークポイントで止まってくれなくなります。 その原因と対策を整理しておきます。 原因1:XDebugとPHPのバージョン不一致 最大の原因は、PHPのバージョンとphp_xdebug.dllのバー
目次 pico.jsでリアルタイム顔認識 pico.js:HTMLファイル側のポイント pico.js:JavaScript側の概要 pico.js:事前準備_顔認識カスケードダウンロード pico.js:事前準備_Canvasとマスク画像のロード pico.js:認識処理_コールバック関数の定義 コールバック関数 processfncのソース全体 pico.js:認識処理_コールバック関数:パラメータ設定 pico.js:認識処理_コールバック関数:顔認識の実行 pico.js:認識処理_コールバック関数:認識した顔にマスクする 実行したイメージ JavaScriptソース全体 関連:第一回・第二回のリンク pico.jsでリアルタイム顔認識 高速に顔認識ができるJavaScriptライブラリ「pico.js」を使って、WEBカメラに映った自分の顔にリアルタイムでモザイク風のマスクをかぶ
プログラマが知るべき97のことを読んで学びがあったと思ったこと「その5」です。 今回のポイント プログラミングをテーマにしたエッセイ集です。 xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com 97ではなく、107個のエッセイがあります。 スキルの高い方々が書いたエッセイですから勉強になります。 今回は、自分が学んだこと「その5」として 間違えると痛い人に見られそうなポイント のキーワードで引用しながら書こうと思います。 例外を握りつぶして一目にふれさせない 予兆になるべき例外を握りつぶし続けて、データを壊すレベルの大トラブルになって初めて問題が発覚する・・。 そんなケースの対応は、かなりイラつきます。 プログラム修正以外に、データリカバリまで必要になり、対応工数が爆発的に増えて、ユーザにもボロクソに叩かれますから。 まさに。 try-catchブロックをコ
目次 PythonのThread(並列処理)は速度改善効果がないのか確認 シーケンシャル実行ケースの計測 PythonのThreadを使うケースの時間計測 Threadで速度改善しないのがPythonの仕様 Pythonの並列処理で速度向上できる方法と計測結果 PythonのThread(並列処理)は速度改善効果がないのか確認 PythonのThreadで並列性による速度改善効果を期待しても無駄だと教えてもらったので試してみました。 同じ重たい処理をシーケンシャルに実行するのと、PythonのThreadを使って並列処理するので、どのくらい速度があがるのか?を確認してみます。 シーケンシャル実行ケースの計測 シーケンシャルの処理です。 import time # 単に時間がかかるだけの処理 def killing_time(number): return_list = [] for i i
目次 物体検出(Yolo3)をやってみる keras-yolo3をダウンロード Quick Start Quick Start:Download YOLOv3 weights from YOLO website Quick Start:Convert the Darknet YOLO model to a Keras model. Quick Start:物体検出する画像か動画を用意する 静止画像(写真)でRun YOLO detection.(物体検出実行) 動画でRun YOLO detection.(物体検出実行) 動画の物体検出がエラーになる場合・・その1 動画の物体検出がエラーになる場合・・その2 動画の物体検出結果の動画ファイルを保存 参考までに 物体検出(Yolo3)をやってみる DeepLearningベースの物体検出(Yolo3)のQuick Startをやってみました。
目次 Windowsのデスクトップアプリケーションの自動操作 WinAppDriverのインストール WinAppDriverの動かし方の確認 PythonのAppiumモジュールのインストール Appiumのサンプルプログラムで電卓を操作する Appiumの他の使い方はどうやって調べるのか? アプリケーションの識別名や画面部品のID調べ方 調査用ツールのインストールと実行方法の確認 第二回目・第三回目のリンク Windowsのデスクトップアプリケーションの自動操作 Windowsのデスクトップアプリケーションを、Pythonから自動操作してみます。 3回シリーズの1回目です。 今回のポイントとしては。 WinAppDriverのインストール WinAppDriverの動かし方の確認 PythonのAppiumモジュールのインストール Appiumサンプルプログラムで電卓を操作する 自動操
目次 コードチェッカー(flake8) PEP8 flake8(pycodestyle)のエラーコード一覧 自動コードフォーマッタ(autopep8) autopep8:コマンドラインでの使い方 autopep8&flake8:VsCodeで利用する 注意:autopep8で修正してくれないエラーもある コードチェッカー(flake8) flake8は、Pythonのコードチェッカーです。 pypi.org flake8はPEP8というスタイル規約に基づき、コードチェックします。 PEP8 PEP8は、pythonにおける世界標準スタイル規約です。 PEP8(Python Enhancement Proposal #8)です。 pep8規約をチェックするツールには「pycodestyle」もあります。 以前はpep8という名前でしたが、以下の提案をきっかけに見直されました。 github.
目次 WSL(Windows Subsystem for Linux)環境構築 WSLを有効にする Linuxディストリビューションのインストール WSLを使ってみる WindowsとLinuxのコマンドを混在して使う例 開発・テストに便利なLinuxコマンドの例 まとめ WSL(Windows Subsystem for Linux)環境構築 Windows10のWSL(Windows Subsystem for Linux)を使えるようにする方法と、個人的にPythonの開発・テスト時に使うオススメのコマンド例を2つほど紹介します。 Windows Subsystem for Linux(以後 WSL)は、Windows10のコマンドプロンプトからLinuxのコマンドを使えるようになる仕組みです。 僕はLinux使いではありません。 それでも、サーバーを立てたりする時とかに使わなくては
目次 EXCELで日付の差を計算するDATEDIF関数の落とし穴と回避方法 DATEDIFは非公式関数 DATEDIFは間違った計算結果を返すこともある DATEDIFは落とし穴を知って使うべき関数 落とし穴その1:うるう年を処理できない"MD" 落とし穴その2:うるう年を処理できない"YD" 落とし穴その3:月末日の処理が甘い"M" と"YM" 落とし穴その4:うるう年の処理に問題がある"Y" 落とし穴その5:暗黙の時刻「0時0分0秒」 DATEDIFを安全に使う方法 EXCELで日付の差を計算するDATEDIF関数の落とし穴と回避方法 EXCELのDATEDIF関数についてまとめます。 DATEDIFは非公式関数 DATEDIF関数は、日付の差を月単位・年単位で計算する時に便利なのです。 Office365のヘルプでも、日付の差を計算にはDATEDIF関数を使ったやり方が紹介されている
目次 はじめに Nuxt.jsを整理する方針 JavaScriptのテストフレームワーク「ava」 インストール 基本的な使い方(パターン) テストの実行制御 アサーション テストサンプル1 テストサンプル2:import/exportを使うパターン はじめに リライトして目次を追加しました。 内容は2019年5月当時のままです。 僕がNuxt.jsの各機能を理解するために、ひとつひとつ確認したことをまとめていこうと考えています。 インストール・環境構築は、以下の手順でできている前提です。 arakan-pgm-ai.hatenablog.com Nuxt.jsを整理する方針 Nuxt.js関連資料やサンプルソースを見ると混乱することが多いのは、Nuxt.jsはVue.jsの機能を包含していて、ひとつのソースの中で、どれがNuxt.js特有の機能で、どれがVue.jsの機能かの区別がつけに
目次 はじめに Nuxt.jsを整理する方針 Nuxt.js基本要素-拡張子とフォルダの役割 ソースファイルの拡張子は「.vue」 フォルダ構成と各フォルダの役割 サンプルでやることと確認したいポイント 全Vueファイルの共通レイアウトの設定 内部リンクの書き方と画面遷移(ルーティング)などをサンプルで確認 header要素に出力する内容の書き方 assetsフォルダに置いた静的画像ファイルの参照 内部リンクによる画面遷移(NLinkタグ)の書き方 WebApiからデータを取得するなどをサンプルで確認 ソース内のブロック分けと役割 asyncData()内でaxiosを使ってWebAPIからデータを取得・表示 staticフォルダ内の静的データの参照 ルートのページに戻る内部遷移 実行イメージ テスト用:Originのチェックを行わないようにChromeを起動する方法 開発環境:Visua
目次 活性化関数をざっくりイメージ 活性化関数の整え方のアプローチ 役割1:単位をそろえて比較しやすくする 役割2:特徴を際立たせる アプローチによって相性のよいデータ が違う Neural Network Consoleのリファレンスで確認 グラフを見て役割をイメージ Pythonで各活性化関数を実装 活性化関数には有効範囲があります まとめ:活性化関数は特性を意識して使う 活性化関数をざっくりイメージ 活性化関数について、ざっくり整理します。 専門用語を極力使わず、多少の不正確さは目をつぶっても、なんとなくイメージできることを目標にして整理します。 まず、ニューラルネットワークで学習する流れをざっくり図にしてみました。 ニューラルネットワークの目的のひとつとして「既存の正解がわかっているデータで勉強(学習)して、未知のデータから、正解が導けるようになること」があります。 ポイントはどう
複数言語をいったりきたりするので、久々にpythonを使うと度忘れしていることがたまにあります。そんな時、カンニングペーパー(チートシート)的に一か所にまとめたものがあると助かるなと思って(自分用に)まとめてみました。 目次 (1)スタイル (2)命名規則 (3)モジュール・パッケージ・import (4)初期化 (5)内包表記とジェネレータ (6)ループ・繰り返し処理 (7)データの取り出し・並び替えなど (8)条件式と比較演算子など (9)文字列の検索・置換・正規表現 (10)クラス定義と関数の引数 (11)例外 (12)ファイル読み書き・直列化 (12)スレッド・並列処理など (13)その他もろもろ (1)スタイル 他の言語と記憶が混同しやすいものだけ、とりあえず。 項目 説明 インデント TABではなく「空白4個」を使う クラス内のメソッド定義 1行あける 各行の長さ 80文字未満
Pleiades All in One(eclipse)にSTS(Spring Tool Suite4)が標準搭載になったので、それを使って、OpenJDKだけで使えるSpringBoot開発環境構築を構築し、ついでに、Kotlinの練習ができるようにもしてみます。 Springのサイトからダウンロードしない理由 Springのサイトからダウンロードする方のSTS(Spring Tool Suite)ではなく、Pleiades All in One(eclipse)でやります。 何故かというと。 Pleiades All in One(eclipse)にJava11(open版)とSTS(Spring Tool Suite4)が標準搭載になったので、他を選択する理由がなくなったからです。 今回は、Oracle JAVAはアンインストールした状態が前提です。 そのへんのいきさつは、こちらに記
JAVA離れは確実に進んでると感じることが増えた 2019年4月16日、新元号対応とかぶせて、OracleがJAVA8も含めたライセンスの変更をしました。 forest.watch.impress.co.jp ついに、無償利用は個人での開発・テスト・デモ目的のみになりました。 企業がバージョンアップして新元号対応版にしたければ、有償の保守契約を結びなさい・・というタイミングでの変更です。 さすが・・Oracle。 で、うちの会社はどうすんのかな?と思ってたら、こんな指示がきました。 OracleのJAVA有償サポート移行によるコストアップを最小限にするため、原則、OracleのJDK、JREの使用は禁止する。 現在、PCにインストールされているもので、業務上不可欠で代替えのきかないもの以外は、すべてアンインストールすること。 驚きはないです。 予測の範囲内でしたから。 とりあえず。 自分も
目次 はじめに HTMLレンダリング HTMLレンダリング :ブラウザでHTMLを受け取り画面表示 HTMLレンダリング :JavaScriptでレンダリングして画面表示 HTMLレンダリング :WEBページの初期表示の各段階 サーバーサイド側の処理 サーバーサイド側:Node.jsという実行環境&開発環境 クライアントサイトレンダリング クライアントサイトレンダリング:リアルDOMと仮想DOM サーバーサイドレンダリング おまけ:参考にしたリンクなど はじめに Web開発で「フロントエンドはモダンな感じでやりましょう。jQueryではなしに。」ということになったのですが、その時の僕は「モダンな感じ」なるものが示す「最新の技術動向」に疎くて話についていけませんでした、。 反省し、WEBフロントエンドとサーバーサイドあたりの技術動向のアウトラインをざっくりと整理してみることにしました。 よく
目次 Torを知ったきっかけはPRISM Torの名前の由来 オニオンルーティングとは Torは正当な理由で匿名の通信を必要する人たちのもの 残念だけど、匿名に強いニーズを持つのは犯罪者も同じ Torを使うのはそれほど難しくない 使うハードルは低くても、ダークウエブには危険が隠れてる 治安の悪い国の歓楽街で遊ぶのと同じで、基本自己責任です Torに関連する情報を追記 2022/04/02追記:Torもロシアと戦っていた!? 2022/03/13追記:セキュリティに特化したLinuxであるwhonix 2021/08/04追記:Rustで書き直してるの? 2021/03/30追記:onionサイトにTLS証明書 2021/01/23追記:TorのIPV6サポートの話題 2020/12/07追記:Tor over VPN 2020/10/06追記:ダークネット・マーケット 2020/07/01
目次 プログラミングの変数・メソッドの命名でよく使う英単語 ログイン・認証 許可・権限 ネットワーク ファイル操作 外部入出力 データ入出力 データベース操作 オブジェクト操作 生成・構築 削除・破棄 変更 変換・結合・排除 分割・切り出す(スライス) 登録・設定 検索・置き換え 状態・状態変更 計算 プロセス操作 処理サイクル 確認(1) 確認(2) 比較 その他対で使う単語 コード・ID・引数(変数) 機械学習関連 その他(未分類) データベーステーブルのカラム名の工夫(変数) 変数の頭につける接頭語 プログラミングの変数・メソッドの命名でよく使う英単語 プログラミング時の「メソッド名」「変数名」の命名で使いそうな英単語を「同じ意味でもニュアンスによって使い分けされるもの」あたりを注意してまとめます。 ログイン・認証 単語 意味 log_in/log_out ログインする/ログオフする
目次 いきなり増えた「インデックス除外」ページ インデックス除外ページの意味 対処の必要がないか自分では対応できない「除外理由」のリスト 対処が必要な除外理由とその対策 やってみたら、みんな同じ根っこでした いきなり増えた「インデックス除外」ページ 突然「Google Search Console」でインデックス除外ページが増えました。 Google のインデックスには、本の索引みたいな感じで、各ウェブページに含まれているすべての語が 1 つずつ追加されているものです。 つまり、インデックスにウェブページが登録されていないということは、検索結果に表示される不可欠な条件が欠落していることになります。 実によろしくありません。 ずーっと、インデックス除外ページはゼロだったんですが。 ある日を境に突然増えて、こんな感じになってました。 どうにも気持ちが悪いので、調べてみました。 インデックス除外
目次 過学習の抑制手法「Weight Decay」 Weight Decayのペナルティの値は係数をかけ合わせたもの Weight Decayの係数の適切な初期値は? Neural Network Console(NNC)で確認 NNCリファレンスの記載 Weight Decayの係数の適切な値とは Weight DecayとOptimizerとの相性 Optimizer「Adam」で確認する Optimizer「Sgd」で確認する まとめ:SGDと相性が良く、Adamと良くない 過学習の抑制手法「Weight Decay」 過学習というのは、学習(訓練)データに適合しすぎて、学習(訓練)データと異なるデータでの正解率が低くなってしまうことです。 正解率をあげるためには、過学習をなんらかの方法で抑制する必要があります。 Weight Decayはその過学習の抑制手法のひとつです。 Weig
目次 PDF形式のデータから、テキストを抜き出す Pythonで使えるPDFライブラリ比較 pdfminer.six pdfminer.six付属のツールpdf2txt.py pdfminerを使ったPythonプログラム シンプルなレイアウトのPDFで試す 2段組みの複雑なPDFで試す 結論:プログラムのインプットにPDFは不適 理由1:うまくいくPDFとうまくいかないPDFがある 理由2:特にうざい2バイト文字が化ける問題 PDF形式のデータから、テキストを抜き出す PDF形式のデータから、テキストを抜き出して、何か処理する時のインプットデータにできないかと試してみた結果のご報告です。 一口にPDFと言っても、様々なバージョンがあります。 暗号化もできます。 ja.wikipedia.org そいういうバリエーションを吸収しないといけないなどと考えると、プログラミングでデータで使うには
PHPの開発を始める最も手軽で簡単な方法のひとつとして、Pleiades All in One for PHPのインストール・環境構築・動作確認までやってみます。 Pleiades All in Oneのダウンロードとインストール ここの画面から入ります。(画像にリンク貼ってます) mergedoc.osdn.jp PHP用のFull Editionをダウンロードします。 自分の環境にあわせて、Windows 64版を選びます。 ダウンロードしたら、任意のフォルダに解凍するだけでインストールは完了です。 超簡単ですが、上記サイトの下部に書いてある以下の注意事項だけは忘れずに・・。 eclipse.org にも記載されているとおり、Eclipse はディレクトリ階層が深いため Windows のパスの長さ制限 MAX_PATH 260 文字を超えないようにドライブ直下などの浅いパスに解凍して
目次 失敗や挫折を経験していない人は、本当に尊敬すべき人にはなれない 成功者オーラ出しまくりの人と話すのは苦痛でした 裕福さや地位は尊敬できる人である理由にはならない 追い詰められたときの本性は経験するまで自分でもわからない 本当の痛みも経験しないとわからない だから、経験しない人が優しいわけがない 失敗や挫折が経験できるのも運なのです 失敗や挫折を経験していない人は、本当に尊敬すべき人にはなれない あくまで僕の個人的な思いです。 だけど、60年以上生きてきた経験から信じていることです。 成功者オーラ出しまくりの人と話すのは苦痛でした 部長とかの肩書がついてたころ。 仕事のおつきあいで、自己啓発的な会合やパーティ的な催しのお誘いをうけることが良くありました。 僕はそういう場が嫌いなので可能な限り断るのですが、立場上、どうしても断れずに出席しなければならないときがり、そこで、自信満々の成功者
新しいパソコンにDBMSを入れなおそうとしてます。 もともとMySQLを使ってましたけど、今はMariaDBを選びます。 MariaDB MariaDBは、MySQL ABの創始者である「Michael "Monty" Widenius(以後、モンティさん)」が中心になって開発しているプロダクトです。 モンティさんの2番目の娘の名前というMariaDBの名前の由来エピソードも有名です。 でも、それだけではありません。 Googleはじめ、多くのLinuxディストリビューションが、MySQLを捨てて、MariaDBの載せ替えるなど、ものすごい勢いで伸びてきているプロダクトでもあります。 readwrite.jp さてMariaDBをインストール 今回は、オフィシャルダウンロードサイトから、MariaDBの最新バージョン(10.38)をインストールします。 インストール自体は、インストーラをダ
目次 イベントログからログオン・ログオフ時間等を抽出する方法 イベントログで起動時刻・ログイン時刻を示すID イベントログから情報を抜き出すスクリプト 取得できるCSVデータサンプル 取得したCSVデータの注意事項 注意事項:ログサイズの上限と過去ログからの情報取得について 参考情報:過去のログの取得方法について 参考情報:監査イベントのログインを取得する方法 イベントログからログオン・ログオフ時間等を抽出する方法 Windowsパソコン(PC)のイベントログから、起動時刻・ログオンおよび停止時刻・ログオフ時刻を収集する具体的な方法についてです。 イベントログで起動時刻・ログイン時刻を示すID ブラック企業や労働争議などの記事に、「PCのログを押収し、起動時刻やログイン時刻を調査した・・」等の記述がよくあります。 起動時刻やログイン時刻は、イベントログの「System」ログに記録されていま
目次 今回の目的 仕様検討 プログラムの仕様:処理する順序を整理する プログラムの仕様:日付時刻の昇順に並べ直す プログラムの仕様:1日の最初と最後を識別する Pythonソースコードのポイント:出力用の辞書を作る Pythonソースコードのポイント:生成した辞書をCSVに書き出す pythonソース全文と実行時の注意 今回の目的 ブラック企業や労働争議などの記事に、「PCのログを押収し、起動時刻やログイン時刻を調査した・・」みたいな記述がよくありますが、この情報を取得してCSVファイルに保存するやり方を以下の記事に書きました。 arakan-pgm-ai.hatenablog.com ただ、PCのイベントログから抜きだしただけのCSVファイルから、その日の出勤時刻・退勤時刻を特定するのはめんどくさい作業なので、そういうめんどくさいことは、Pythonにやらせよう・・ということです。 なお
複数項目の相関チェック処理を共通処理化して、アノテーションで使えるようにする方法を試します。 STS3(3.9.6)+SpringBoot2.0+Tymeleaf3.0迄動作確認しています。 複数項目の相関チェックとは。 例えば、履歴管理するデータの開始日・終了日が、「開始日より終了日が過去ではない」などの相互の整合性を確認するような場合に使います。 個別にロジックを書いてもいいんですけど、よく使うチェックは、単一項目の入力チェックと同様にアノテーションで指定できるようにしておくと便利ですよね。 今回は、Formの複数項目にまたがった関連チェックをアノテーション化します。 そのサンプルとして、「開始日・終了日の相関チェックを行うアノテーション」を作ります。 開始日・終了日の相関チェックを行うアノテーション まず、アノテーションの定義です。 @Documented @Constraint(v
目次 EXCELで大きい(10万行以上)データのシートを扱う際に注意すること ① 計算設定を「手動」にすること ② こまめに上書き保存すること ③ 自動保存はOFFにすること ④ こまめに値のみ貼付けをすること ⑤ 重たい計算式の修正は貼りなおす前に保存すること ⑥ フィルターを安易に使わないこと まとめ EXCELで大きい(10万行以上)データのシートを扱う際に注意すること ひさびさに10万行以上のビックサイズのデータをEXCELで加工する必要があり、結構はまったので、備忘のために「注意しなきゃ」と思ったことを記録しておきます。 ① 計算設定を「手動」にすること 通常は計算設定「自動」なので計算式を入力すると、すぐ計算結果が反映されます。 便利なのですが、10万行以上もあると、ちょっと入力する都度、再計算のために作業がとまります。作業をすすめるほど、ひどくなり、最後は「応答なし」になって
このページを最初にブックマークしてみませんか?
『SE_BOKUのまとめノート的ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く