souki-paranoiastのブログ

地方都市でプログラマーをやっている人のブログ。技術ネタ以外も少し書く。メインの言語はJava。https://paranoiastudio-japan.jimdo.com/ に所属

プログラミング

【JavaScript?】Webアプリの開発時にログイン情報切り替えを楽にしたい

ログインIDとパスワードの入力が面倒 面倒……じゃないですか? だいたい管理者権限と一般権限みたいに二つくらいありますよね。ユーザによって権限を細かく設定できる場合はもっと用意する気がします。 IDだけならクエリパラメーターで設定できるようにしてあ…

【PostgreSQL】テーブルの型(列幅と列名)を維持しつつ、レコードの一部を上書きして取得する

やりたいこと select * from my_table where id = ?で取得しつつ、値を一部書き換えたい select my_column1, my_column2...(以下略) from my_table where id = ?のような列挙形式ではない ORMを使っていたり、副問い合わせのネストが深い場所で一部だけ値を…

JavaでSocketライブラリを使ってHTTP通信を行う

元々はネットワークスペシャリスト試験にちょっと興味を持って、それに何も知らん人が望むには必読みたいな扱いを受けている『ネットワークはなぜつながるのか』という書籍を読み、その序盤で出てくるSocketライブラリを用いてHTTP通信する例をJavaで実行し…

Flutter2.10.0でちょっと遊ぶためにインストール

遊ぶための下準備、インストール 兎にも角にもflutter 2.10.0をインストール。 インストールしてからflutter dockerを実行すると、2つほど問題が見つかった。 Android toolchain というのと Android Studio ということで、両方Android関連ぽい。 Android Stu…

【PostgreSQL】小数点以下のみ固定長フォーマットを施す

やりたいことは表題通り。外部アプリとの連携でそういう値が求められた。 つまり、 1.1 0.2 123 0.123456 は、それぞれ 1.100 0.200 123.000 0.123 となる必要がある感じ。 …ニッチなケースだなぁ。 基本的な記述は下記の通りで良いはず。 select to_char(n,…

【PostgreSQL】同じ計算が複数出る問い合わせにlateralは有効か?

今回やること 表題の通り。Aを求めれるのにカラムXとYが必要で、BやCも同様にカラムXとYあるいはAの結果が必要なケースを想定している。 group byなどの集約に関するパフォーマンスの向上などについては触れられている記事を見かけるが、あまり表題の使い方…

【TypeScript】JSの暗黙の型変換に頼っていた文字列の数値変換はどう書くのか

前置き 例によってJSからTSに書き換える作業中の出来事を抽出。 javascript - 0とかjavascript minus zeroとかjavascript 明示的 型変換とか幾つか調べたけど直接的な答えはヒットしなかった。JavaScript畑の人たちには当たり前の事実なんだろうか。教えてほ…

【TypeScript】interfaceの一つの要素を型で指定する方法

前置き TypeScriptに完全に置き換える場合は、この内容は全く不要です。 JavaScriptをTypeScriptに書き換えるために、なるべく書き換えずに、かつ型安全にしていくためのものです。 元のコード(JavaScript) var ConstantsTest = function () {}; Constants…

【Java】【Hugo】ExcelTable_to_HugoTable

まあタイトル通りです。英語が正しいかは置いておいて。 HugoというMarkdownで記述できる静的サイトジェネレータを使用することがあるのですが、Markdownでテーブルを記述するのは非常に面倒です。 ExcelからMarkdownに変換するツールがWebアプリで転がって…

【Java】AオブジェクトとBオブジェクトの紐づけ

本文 型自体が違うオブジェクトのリストが2つ存在し、その中身は一つのキーでペアになることができる前提の時、これをどうするか少し悩む時があるのでメモをしておく。 補足として、以下の考慮や前提がある リストのサイズは一致しない可能性があること 数が…

【Java】「InterfaceのAとBを実装する型」という書き方がローカル変数で実現できない

何を言っているかという話だが、こういうこと↓ public class Main { public static void main(String[] args) throws Exception { Ccc c = new Ccc(); System.out.println(c.concatB(c.concatA("hoge"))); // hogeAB System.out.println(concatHelper(c, "ho…

【ES6+】React + Babelifyでブラウザで動くアプリをnpm scriptで環境構築 ②

前回はbrowserifyとbabelifyが動かせるところまで進めた。 今回は、CSS Modulesの導入についてまとめていく。 詳細は別に任せるが、CSS Modulesは要するに純粋なcssとして記述して、JS側でスコープの制御をやってしまおうというものである。 ※ cssのスコープ…

【ES6+】React + Babelifyでブラウザで動くアプリをnpm scriptで環境構築

タイトル通り。 愚痴というか背景というか フロントエンドに限った話ではないが、環境構築が大変なことが多い。 サンプルとしてWeb上にあるものも、自分が実現したいことの組み合わせが存在しなかったり、そもそも単純な例だけだったり。 また、今日のフロン…

CollectionとOptionalを同時に使うことってあるのかね?

たまたまWebで見かけたコードで、コーディング規約的なものも存在するかもしれないから真意はわからないのだけど、 Optional<List<T>> getXxxList();みたいなソースを見かけた。Optionalって基本的には値が存在しない可能性を示すためのものでしょ? Collectionでも</list<t>…

Scala + Playframeworkを試してみる

仕事で本当にちょっとしたアプリを作成するのにScalaを使いたくて、Scala + Play2 Frameworkを試してみた。 なので時間をかけたくないという前提です。最新のScala 2.12.8 + Play2 Framework 2.7.x を試した結果は途中までやって諦めました。でも結構時間か…

Divタグのresizeイベントを拾うには

取り扱う言語 HTML JavaScript 背景/目的 ↓みたいな要素は、右下に可変にできる機能が付与されている。 <div id="resizeDiv" style="resize: both; overflow: scroll; width: 200px; height: 200px; background-color: red;"> </div> で、稀にこれのサイズ変更が発生したタイミングで処理を行いたいことがある。 例)表や裏にサイズ違いのDivを配置して一緒にサイズ変更したいとか… …