souki-paranoiastのブログ

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

雑記

ChatGPT 4 有用ですね もう話題になって結構時間が経つ気もするけど、今月頭くらいからたまに触っている。 で、過去に記載しているような小ネタというかふと気になった系のネタを書いてもらうと、自分で書いたものより精度が高い(ネットにもたくさん転がっ…

【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などの集約に関するパフォーマンスの向上などについては触れられている記事を見かけるが、あまり表題の使い方…

【PostgreSQL】シーケンスを特定のグループ別に発行する

前置き 表題の通り。 テーブルAにrecord_idとline_noという項目が存在するとした場合に、record_id単位で新規にシーケンスを振りたい状況が出てきた。 ※ record_idとline_noは1:Nの関係 こういう風に書けたら良かったのだけど、ウィンドウ関数ではないので書…

【JavaScript】GAS + TwitterAPIで共有アカウントからつぶやく

前置き 知人が小さなコミュニティを運営している。まあ、サークルみたいなものだ。私はたまーに手伝いをしている。一員なんだけど活動は殆ど出来ていないや その知人が、「コミュニティのTwttierアカウントから各自が更新情報を発信できると運営が楽になるな…

【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アプリで転がって…

ただの雑記(詰将棋 3手詰め)

前置き 最近、将棋を始めた。というより再びやり始めた。 何も知らずに将棋を打っていた頃から比べると年齢を重ねたこともあり、頭が回るようになった。 終盤力という表現をするようだが、どうにもこの終盤力が自分には無いようで、CPUと対戦していても中盤…

【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>…

コンベクションオーブン欲しい

コンベクションオーブンが欲しい。 安いものだと6000円程度で買えるらしい。 お菓子作ったりパンとか焼きたい。鶏とか焼きたい。 部屋も狭いけど欲しい。 どうせ年に数回程度しかまともに使わないのがわかってても欲しい。手入れとか面倒だろうしね。 でも唐…

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を配置して一緒にサイズ変更したいとか… …

ブログ開設

ITに関する小ネタを毎週を目標に書いていこう。特にプログラミングネタで、Webアプリに繋がるものにしよう。記事中に何か誤り等があったらご指摘お願いします。