Gnucash で日本株情報を Stooq.com から取得する Perlモジュール

というのを作ってみたよ

WSL に Flutter 環境を作ったときに dart が `Failed to memory map snapshot` で落ちたら

Flutter をセッティングしたときに、以下のような感じでエラーが出た場合 ../../runtime/bin/snapshot_utils.cc: 144: error: Failed to memory map snapshot: /home/wsl-user/flutter/bin/cache/dart-sdk/bin/snapshots/kernel-service.dart.snapshot versi…

画像の上に矩形を描画する(HTML)

画像領域検出の可視化など、諸々の用途で「画像や写真の上に矩形を描画したいなー」ということが時々あるのでサンプルコードをメモ。 HTML上で、画像に罫線を描画するサンプル ありがちなミスとしては、矩形の描画をImage.onload の外に書いてしまって、矩形…

AWS Lambda を開発する際のユニットテストでは、TZ=UTC にしておこう

時刻判定周りでのローカルタイムゾーンの違いは、うっかりバグの元になりやすいものですが、AWS Lambda の場合、以下のように環境変数 TZ が予約済み環境変数として変更不可能となっているようです。 docs.aws.amazon.com TZ – 環境のタイムゾーン (UTC)。実…

AWS SDK for Go V2 をちょっとだけ触ってみた

AWS SDK for Go V2 が正式版となったので、ちょっとだけ触ってみました aws.github.io Pagination の変更 V1 から V2 に移行するにあたって、コードを書く上で最も影響がありそうな変更が、リスト系の API で使用する Pagination の変更です。 V1 では、個々…

Ubuntu18.04 に PHP7.4.8 をインストールしたときのメモ

PHP インストールのたびに前提パッケージで悩んでる気がするのでメモ。 (多分、後々バージョンが上がったらまた変わってくると思うけど) 1. anyenv 入れる $ git clone https://github.com/anyenv/anyenv ~/.anyenv $ echo 'export PATH="$HOME/.anyenv/bin:…

AWS ECR を使う開発に便利な Vagrantfile

概要 ECS で稼働させるアプリケーションを開発していますが、Docker for Mac は何かと遅いので、Docker/ECR まわりの作業だけ Vagrant上でやるための Vagrantfile を作りました。その内容を残しておきます。 Vagrantfile # Vagrant環境に予めインストールし…

AWS CLI で取得した情報をシェルスクリプトで使うときの Tips

はじめに AWS 上のリソースの操作を自動化したいとき、ちょっとしたことなら AWS CLI とシェルスクリプトで書くのが一番お手軽だと思います。ただ、きちんとソースコード管理されるようなスクリプトであれば、例えば EC2 の Instance ID のような自動採番値…

Mac の iTerm2 上で Home/End キーを使いたい

MacBook に PC 用キーボードをつないで使っていますが、Terminal での行頭/行末移動が不便。なので、Windows 同様、Home/End キーで行頭/行末移動ができるようになりたい。 というのを実現したのでその手順を。 なお、 以下手順は iTerm2 で確認しています。…

anyenv で tfenv を入れると init でエラーが出るので回避する

数多ある *env 系のツール導入をぐっと簡単にしてくれる anyenv ですが、現行バージョン (1.1.1) では、tfenv を導入すると、シェルログイン時にエラーが出るようになります。 No such command 'init' Usage: tfenv <command> [<options>] Commands: install Install a specifi</options></command>…

CircleCI で CIRCLE_SHA1 を使う場合の注意

過去に自分がミスった内容と似た事例を他にも見かけたので、今更ながらメモ。 TL; DR CircleCI の ECS/ECR へのデプロイに関するドキュメントで、コンテナイメージのタグに CIRCLE_SHA1 の値が設定されているが、これには要注意 CircleCI における CIRCLE_SH…

必要最低限のrequirements.txtを作成する (virtualenv版)

2017年に書いた、「必要最低限のrequirements.txtを作成する」という記事に未だに多少のアクセスがありまして、今現在でこれを参考にされてしまうとちょっとアレだなあと思いましたので。 (当時は Docker 憶えたてでイキっていました。反省) noisyspot.haten…

細かすぎて伝わらないJava10のvar仕様

いろいろ試したのでメモ。 初期化時に型が決まる まあ当たり前ですが。 public class Main { public static void main(String... args) { var hoge = 1; // hoge は int型になる hoge = 2147483648; // Integer.MAX_VALUE + 1 System.out.println(hoge); } }…

無限Streamに終了条件を設定する (Java9版)

noisyspot.hatenablog.com というのを以前書きましたが、Java9では Stream#takeWhile というメソッドが追加されてこういうケースが簡単に書けるようになりました。 public static String getTreePathTakeWhile(Node node, String delimiter) { List<String> names = </string>…

必要最低限のrequirements.txtを作成する

シチュエーション Pythonでつくったサーバーアプリを環境へのデプロイするために、依存モジュールのバージョンを固定したrequirements.txtを作りたいけど、開発環境のPython環境がだいぶ使い古しで、試しに導入した不要なモジュールもあるので、単純にpip fr…

Gitでローカル・リモート一緒にブランチ名を変更したい

Git 2.11.1で確認。 シチュエーション hageってブランチ作って、 $ git checkout -b hage 諸々修正して、 $ git commit -a $ git push -u origin hage commit・pushした後に、 「あれ、ブランチ名間違えた。hogeだった」 ということで、ローカルとリモート併…

atom 1.9.x + graphviz-preview の表示バグの回避

Atom を使っていて、ちょっと図を書いて整理したいなんてときに便利な graphviz-preview ですが、2016/8/27現在、graphviz-previewの更新が、対応バージョン1.7.0で止まっており、現時点の最新である1.9.8で使用するとこんなことになってしまいます。 そのう…

追記:Let's Encrypt のDV証明書更新

この記事の続きというか補足。 自サイトをHTTPS化してみた - NoisySpot/メモ帳 Let’s Encryptで発行されるDV証明書の有効期限は90日間と短めに設定してありますが、Certbotのクライアントツールを使用していれば更新は簡単。コマンド一発です。 $ sudo letse…

自サイトをHTTPS化してみた

はてなブログでホストしていただいている等ブログの他に、勉強のために自ドメインでサイトを構築しております。 (内容はあまりありません。日記的ブログだった残骸があるだけです…) Noisy Spot | 個人的まとめ で、なんか最近調子が良くなかったので、OSご…

Emacsへのphp-mode, php-completion の導入方法

下記の参考資料通りにやってみたところいくつかエラーが出たので、試行錯誤して正常にインストールできた手順をメモ。 前提 Emacs 24 (本記事は gnupack版Emacs for Windows 24.2.1でテスト) melpa, marmalade のパッケージマネージャが使用可能であること …

Java8 定義済み関数型インタフェース(主要なものメモ)

忘れるのでメモ。プリミティブ型用のインタフェースは省略。 Interface Scala風関数型表記 Consumer<T> (T) => void BiConsumer<T, U> (T, U) => void Supplier<T> () => T Function<T, R> (T) => R BiFunction<T, U, R> (T, U) => R Predicate<T> (T) => boolean BiPredicate<T, U> (T, U) => bo</t,></t></t,></t,></t></t,></t>…

無限Streamに終了条件を設定する

例えばDOMのようなツリー構造があったとして、あるノードを渡された時に、ルートからそのノードまでの名前を連結してパス文字列を作成する、というプログラムを考えます。Java7でも動くように、副作用ループを使った書き方だとこんな感じ。 public static St…

System.Threading.Mutex の話

C#

.Net4.5時点のお話です。.Netの標準APIで、Mutexを扱うためのSystem.Threading.Mutexというクラスがあります。こいつはIDisposableなのですが、直感に反し、Disposeが呼ばれても確保したMutexを解放してくれません。どうやらDisposeメソッドは、基底クラスで…

LINQメモ

C#

初めてC#での開発プロジェクトに入るので勉強してます。 最近の言語の御多分にもれず、 Functional Collection的なコレクションAPIがありますが、SQL(LINQ)由来のメソッド名が多く、ぱっと見、ScalaやHaskell等とは雰囲気が異なるので、メモがてら高階メソッ…

ADFアプリのリソースチューニング

ADFアプリのリソースチューニングというと、独自のチューニングポイントとしてアプリケーション・モジュール・プールがありますが、ここでは大抵のJavaEEアプリで問題となるHTTPセッションタイムアウトとデータベース接続プールについて考えます。 HTTPセッ…

ADF Tableの末尾に新規行を追加するには

ADFのデータコントロールで、新規行を追加するOperationBindingは、CreateInsertにしろCreateWithParamにしろ、「カーソル位置への挿入」なので、データの末尾に追加するというのが素直に行えません。しょぼい。OTNのディスカッションでも時々話題になるよう…

ADF Table とデータコントロールの選択状態同期

だんだん内容がショボくなって参ります。データコントロールツリーからコレクションをデザイナ上にドラッグ・ドロップしてTableを構成するとき、行選択を有効にしておくと勝手に選択状態が同期するようになるのですが、一度行選択を無効にして構成してしまう…

PagePhaseListener のメモ

ADFには、JSFのPhaseEventとは別に、ページライフサイクルの各フェーズの開始・終了で発火するPagePhaseEventというのがあります。こいつのリスナ、PagePhaseListener は、呼ばれるフェーズを選択できず、毎フェーズの開始/終了で必ず呼ばれます(JSFでいう…

表で合計行の表示

最近 Oracle ADF を使ってます。古き良きC/S時代のVisualBasicみたいなデータバインディング付きのUIコンポーネントなんかがあったり、コンポーネントをIDEのデザイナ上でペタペタ貼って画面を作ったりと、おじさんにはすんなり理解できそうな感じがよいです…

Scala ARM的な自動リソース管理(超簡易版)

自動リソース管理(というかclose管理)を使いたいけど、Scala ARMライブラリを導入するほどのもんでもないなー、というときに自作するためのメモ。 // ラッパクラスと関数の定義 class ManagedResource[T <: {def close(): Unit}](resource: T) { def foreach[U](f: T => U) { try { f(resource) } finally { resource.clo</:>…