Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

2020-01-01から1年間の記事一覧

2020年の振り返り

今年取り組んだ技術の振り返りです。 認証・認可 LDAP(OpenDJ) OpenId Connect/OAuth 2.0(OpenAM) Webアプリ Node.js(Express) リバースプロクシ Nginx データベース MongoDB データ分析・簡易的な定型処理 Jupyter/Python 仮想化 VMware ESXi Docker サーバ…

画像をJavaScriptでXHR経由で読み込む方法

やむをえない事情があり、JWT認証を通過して画像を表示させる必要があったので、 XHR(Ajax)で画像を読み込む方法を調べました。 同一ドメインならこんな苦労はしないのにーとか最近そんなことを悩んでいます。 サーバーサイドのコード 何でもいいのですが、…

Hyper-VのGuestでWSL2でdockerを動かしてみる

こんなのすぐに終わるかなー。と思ったら、案の定、罠が仕掛けられてました。単なる備忘録です。 Windows 10 Enterprise 2004でお試ししてみました。 Windows 10 Enterpriseのゲストを作成してみる ダウンロード編 Guestマシン作成編 Docker DesktopをWSL2で…

Windows 10のフォトアプリでiPhoneからの画像転送がうまくいかない

iPhoneから写真を転送しようとUSBで繋ぐと、フォトアプリが立ち上がって、 インポートするように促してくるのに、 「問題が発生しました。ファイルがインポートされていない可能性があります。」 とほぼ確実にエラーが出てきます。その対処法を書きます。 詳…

投稿日・更新日で古い記事だと強調表示するカスタマイズ

概要 表示例PC1 表示例PC2 設定方法 headに要素を追加 PC スマホ 参考 概要 はてなブログの記事毎のページで更新日を表示しつつ、投稿日 or 更新日から1年以上経過していたら 「この記事は投稿・更新されてから一年以上経過しています」と表示します。 更新…

JavaScriptでコールバックで失敗を検知した時にどうやってリトライするか

Node.jsの例えばfs.renameのような非同期のメソッドを使っていたときなどに、 リトライしようとして、それをどうやって実現するかという話です。 コールバックだと単純にはうまくいきません。 いろいろ方法はあると思いますが、一例を説明しようと思います。…

C++でオブジェクトを返す関数を書いてもいいのか問題

C++でオブジェクトを返す関数を書いてもいいのか問題→OKです。 遅かったらプロファイル取りましょうで終わりです。 かなり過去にC++でstd::stringをどう返すべきかという記事を書いたこともあり結局いま、例えば、関数内でvectorを加工してその結果を呼び出…

Spring Boot 2 + JQuery DataTablesで一覧画面を作成

今更ながらjQuery系ですが、使ったことがなくてでも便利そうなので使ってみました。 皆さん大好きSpring Boot 2を使用しました。 また、Pagingが面倒なので皆さん大嫌いHibernateを利用しています。 結論としてはJQuery DataTablesは思ったより使いやすくて…

Spring Bootでマルチデータソースのやり方

以前このブログで紹介したMaven + Eclipseでマルチモジュールプロジェクトを作成するのなかでサンプルコードで示したものの特にマルチデータソースのやり方についての解説です。 この記事に書いてある通り、PostgreSQLとMongoDBを組み合わせる場合を例として…

ColorfulBoxでWordPressを運営する

全くこことは別のジャンルのブログを、レンタルサーバーでWordPressを動かすときの備忘録です。 なんでColorfulBoxを選んだかというと安くて速いからです。 1サーバーで独自ドメインで複数WordPressで運営することを見越した設定にします。 どうせ大したアク…

GPU付きマシンでUbuntu 18.04.4 LTS Desktop amd64をLive DVDを動かしてデータ消去

例によって備忘録です。これから試すところも書いてあります(特にデータ消去)。 データ消去は結構課題ですね。 Windowsなら結構いいソフトがあるとは思うのですが、 ddコマンドで乱数を書いてデータ消去というのをどんなOSのものであってもやりたいことが…

はてなブログからWordPress移行を検討するも結構厳しいことが判明した

docker-composeでWordPressをお試ししてみた記録です。 なんだかんだいってはてなブログいいよねっていう話です。 検証用としてCocoonというテーマとWP Githuber MDプラグインを使いました。 シンタックスハイライトができてなおかつ今に近いデザインという…

ドメイン移行戦記

独自ドメインに移行しました。 旧ドメイン:https://fa11enprince.hatenablog.com/ 新ドメイン:https://gup.monster/ 前は独自ドメインはサブドメインでしかできなかったそうなのですが、 いつの間にかネイキッドドメインがOKになってるそうなので、wwwなし…

JavaScriptで静的変数

例えば次のような処理を考えてみます。 名前と身長と体重を与えると、その人のBMIがメソッドにより出力されるというものです。 さらに、食料foodNumがあって、食べると1つ減って、 代わりに1kg増えるものとします。食料はあらかじめ、貯蔵量に限界があって…

上限付き境界ワイルドカードについて

Javaを使っていると、Clazz<Foo extends Bar>とかClazzというような あまり見た目にやさしくない呪文を見かけると思います。 これはなんだ?って話です。 これは上限付きワイルドカード(upper bounded wildcard)といいます。 そもそもなんでこれが必要なのか メソッドやクラス</foo>…

Express 4 + EJS + Socket.IOでWebSocketをやってみる

WebSocketをNode.js(Express 4 + EJS + Socket.IO)で復習がてら実装しました。 ハマりポイントはbin/wwwを修正しないと動いてくれないところ。 Expressってシンプルで綺麗な設計のフレームワークなんですが、 結構はまりやすいポイントが多いと思います。 No…

WindowsでGitLabを構築(Docker)

Docker DesktopによるGitLab構築方法の紹介です。 一応、初心者向きにはなっていますが、 Dockerの基礎知識は知っている前提の記事です。 Windows + Docker Desktop (旧版 Docker for Windowsでも可)で構築します。 Windowsでも動けば、Mac/Linux等でも動く…

Dockerのコマンド体系がわかりにく過ぎる

Docker自体は素晴らしいアプリケーションで、作っていただいている方、メンテナンスをされている方に畏敬の念を禁じえません。 CLIのフロントエンド、コマンド体系が理解するのが難しいと言わざるを得ません。理由としては、一見よく使うコマンドの対称性が…

JavaScriptで使えるグラフ描画ライブラリとその有効活用例について

ふとニュースなどをみていて、新型コロナウィルスの感染状況のグラフのサイトを見つけて、お、綺麗だしシンプルでいいなと思ったのがここ。 よくある質問の部分も、一見、グラフを眺めていて、ん???と思う疑問点が書かれてあって良い。 「具体的な基準はM…

VSCodeでPython3開発環境構築

WindowsでVSCodeとAnaconda3(Python3)で開発環境を整えることにしました。 目標は次の通りです。 VSCode上で関数の定義へのジャンプや参照、コード補完ができる docstring(JavaでいうJavadoc)が楽にかける テストのカバレッジ取得及び通ったコードパスが視覚…

Windowsを英語化

Windowsを英語化してみました。 まだ2日しかたってないですが今のところトラブルなし。 Explorerで最初の一文字目をキーボードで打ってフォーカスがあてられるように DocumentとかPicturesとか英語のままがよかったので、 英語版にしました。もちろんそこだ…

Processingで内積・外積の勉強

ひょんなことから内積・外積をちゃんと学びなおしたいと思い… 文系であった自分はあまりなじみがないのです。物理も選択せず生物選択でした。 数学は嫌いではないんだけど、計算が得意でなかったです。 とはいえ行列をやっていた関係もあり、全く知らないと…

サクラエディタで特定のフォルダにYYYYMMDD_番号.txtで保存するマクロを作成

最近の趣味はサクラエディタのPull Requestを眺めることです。 昔から愛用してきたサクラエディタですがマクロを使ったことはありませんでした。 ということで毎日よく簡易的にメモをテキストエディタに書いてYYYYMMDD.txtみたいな形式で保存するのですが、 …

Anaconda3とAnaconda2のインストール(Windows)

例によって備忘録です。 Anaconda3とAnaconda2をWindowsで共存させる方法です。 ありふれた記事なのでGit Bashで使う方法も記載しました。 Python2のEOLが到来したというのに何をしているんだという感じですが、 いまだにNodeの安定板がPython2に依存してい…