Javaを使っていると、Clazz<Foo extends Bar>とかClazzというような あまり見た目にやさしくない呪文を見かけると思います。 これはなんだ?って話です。 これは上限付きワイルドカード(upper bounded wildcard)といいます。 そもそもなんでこれが必要なのか メソッドやクラス</foo>…
WebSocketをNode.js(Express 4 + EJS + Socket.IO)で復習がてら実装しました。 ハマりポイントはbin/wwwを修正しないと動いてくれないところ。 Expressってシンプルで綺麗な設計のフレームワークなんですが、 結構はまりやすいポイントが多いと思います。 No…
Docker DesktopによるGitLab構築方法の紹介です。 一応、初心者向きにはなっていますが、 Dockerの基礎知識は知っている前提の記事です。 Windows + Docker Desktop (旧版 Docker for Windowsでも可)で構築します。 Windowsでも動けば、Mac/Linux等でも動く…
Docker自体は素晴らしいアプリケーションで、作っていただいている方、メンテナンスをされている方に畏敬の念を禁じえません。 CLIのフロントエンド、コマンド体系が理解するのが難しいと言わざるを得ません。理由としては、一見よく使うコマンドの対称性が…
ふとニュースなどをみていて、新型コロナウィルスの感染状況のグラフのサイトを見つけて、お、綺麗だしシンプルでいいなと思ったのがここ。 よくある質問の部分も、一見、グラフを眺めていて、ん???と思う疑問点が書かれてあって良い。 「具体的な基準はM…
WindowsでVSCodeとAnaconda3(Python3)で開発環境を整えることにしました。 目標は次の通りです。 VSCode上で関数の定義へのジャンプや参照、コード補完ができる docstring(JavaでいうJavadoc)が楽にかける テストのカバレッジ取得及び通ったコードパスが視覚…
Windowsを英語化してみました。 まだ2日しかたってないですが今のところトラブルなし。 Explorerで最初の一文字目をキーボードで打ってフォーカスがあてられるように DocumentとかPicturesとか英語のままがよかったので、 英語版にしました。もちろんそこだ…
ひょんなことから内積・外積をちゃんと学びなおしたいと思い… 文系であった自分はあまりなじみがないのです。物理も選択せず生物選択でした。 数学は嫌いではないんだけど、計算が得意でなかったです。 とはいえ行列をやっていた関係もあり、全く知らないと…
最近の趣味はサクラエディタのPull Requestを眺めることです。 昔から愛用してきたサクラエディタですがマクロを使ったことはありませんでした。 ということで毎日よく簡易的にメモをテキストエディタに書いてYYYYMMDD.txtみたいな形式で保存するのですが、 …
例によって備忘録です。 Anaconda3とAnaconda2をWindowsで共存させる方法です。 ありふれた記事なのでGit Bashで使う方法も記載しました。 Python2のEOLが到来したというのに何をしているんだという感じですが、 いまだにNodeの安定板がPython2に依存してい…
npm config setするよりエディタで直接いじりたくなる人向けの内容 npm config listとかで設定を見ると思うが、 そもそもどっちに設定されているんだっけ? ってのもあるので… npm -g config listというのもある。 npmの設定ファイルの場所 普通はnpm config…
良く忘れるのでメモ 様々な事情でプライベートリポジトリを立てられなかったりする場合や、 そもそもプライベートリポジトリ立てるまでもないよねというときに便利なマルチモジュールプロジェクトの構成を作ります。 お題目は、Spring Boot + MongoDB + Post…
久々にhangoutsでマイクを使おうと思ったら、トラブりました。 相手に音が聞こえないようです。 Skypeでは聞こえるのに… ちなみにhangoutsはサービスが終了する見込みのようですね。 10年前のマイクデバイスを使ってたので調子悪いのかな…なんて思ったりしま…
Vueの練習を兼ねてVueでテーブルソートを作ってみました。 気が向いたらPagerも作るつもり(気が向いたら)。 SPAは最近興味がないので(大半のケースでオーバースペックなので…) 単純にscriptタグでVueを入れてるケースです。 Vueをあえて選ぶ勢ってたぶんです…
Explorerで右クリックしたときのコンテキストメニューは簡単に編集できる レジストリをいじればOK 例えばVS Codeの場合、インストール時にVSCodeで開くのメニューを出すチェックを入れ忘れた場合など、次のようにして追加することができる Win + Rキー reged…
Docker for Windowsが入っていれば30秒以内です。 Java大好き人間ですがPHP系の話題を書いてみます。 Dockerは既に入ってるよって人はdocker-composeのための設定から読んでください。 前提条件 Dockerが使える環境であること前提となります。 やや語弊があ…
何台かマシンを所有していて、たまに使うマシンでgit cloneするとユーザ名とパスワードを聞かれて、しかもパスワードを正しいのを入れても $ git clone https://github.com/foo/private_reop_bar.git fatal: Authentication failed for 'https://github.com/…
なんとなくC++をちょろっと書いてみたくなったので書いてみました。 いや、ほぼC言語だけど…。 それよりもWandboxがC++2aとかになってて…えぇ…C++11からかなりバージョン上がってるなぁ…という印象です。 #include <iostream> #include <cstdlib> #include <stdexcept> #define CHECK(e) do</stdexcept></cstdlib></iostream>…
ガシガシJavaScriptをかかないWebアプリで、比較的単純なJQueryだけのプロジェクトのときに極力名前空間を汚さず大してめんどくさくなく書く方法のメモ 見返したらただの感想文になってしまった。 とりあえず (function($) { ... })(jQuery);で引数ありの即…
開発環境での構築手順です。 本番環境ならajpを使ったほうが良いと思います。 組込みTomcat(jar)を使った場合のajpの有効化方法は後述します。 今回は単純にApacheとSpring Bootをhttpで連携する方法を書きます。 Windowsを想定しています。 (Linuxとほぼ変…
Spring Bootでは例外処理はthrowしてしまえばわりとよしなにやってくれるが… それでも考えるべきことはある。 場合によっては例外処理をあまり使わず、オブジェクトの戻り値による処理をすることもある。 と、去年の1月からSpring Bootを使い始めてSpringの…
サービスからネットワーク越しの共有フォルダを覗きたいことがあるが ¥¥example.machine.local¥folder のようなUNC(Universal Naming Convention)パスはプログラムからは使えない。 なのでネットワークドライブの割り当てをしたいと思うはず。 GUI(Explorer)…
@EnableSchedulingを用いて Spring BootのScheduling Tasksについて調査しました。 Spring BootにはSpring Batchという仕組みがあるのですが、やや大仰で使いにくいです。 Web系システムでの利用だと単純なスケジューリングのTaskで十分なことが多いと思いま…
Web開発では最近はReact, Vue, Angularを使ってSPAが主流ですが、 とはいっても、レガシーなjQuery UIとBootstrapと組み合わせてサーバ側でレンダリングしたいこともままありますよね。 そんなわけで、僕の場合、特にjQuery UIを使いたい。 というのが一番に…
Spring Bootのapplication.ymlの仕組み素敵ですよね。 かなり柔軟性がある。 あるときにアプリケーションをMariaDBとMySQLでどちらも対応できるように外部設定値(Externalized Configuration) であるapplication.ymlにて制御しようとしたときにハマったので…
TL;DR スーパークラスのメソッドはサブクラスでオーバーライドすれば サブクラスのインスタンス経由で呼び出すと、 たとえスーパークラスでそのメソッドが呼び出されていても当然上書きされる。 経緯 とあるライブラリをカスタマイズしたくて、 そういや、ス…
今回作成する構成 事前準備 VS Codeを入れる 入れたほうが良いプラグイン Node.jsを入れる webpackコマンドを叩けるようにする Reactプロジェクトを作成する packageを追加する ソースコードを書く package.jsonに追記する webpack.config.jsを書く Reactの…
Angularを使っていてWebpackでのbundle.jsが肥大化したときにmoment.jsをやめたいときのメモ 可能な限りDateとimport { DatePipe } from '@angular/common';を使う date -> string moment moment(date).format('YYYY-MM-DD HH:mm:ss.SSS'); TypeScript + Dat…
ふと、いろんな記事を見ていて、インターフェースは必要かっていうのがあった。 Java インターフェース メリット わからない - 社内se × プログラマ × ビッグデータ どういうものかは分かりますが、メリットについては何も分からないです。 処理を具体的に書…
AngularとjQuery/jQuery UIを組み合わせるのは何か間違ってる気がしますが、 Angularの部品が足りなくて、どうしても使いたいことが起きることがあるかと思います(たぶん…)。 ここは意識低い系の方法を紹介します。 (意識高い系の方法は知識不足でちょっ…