日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

コマンドでコマンドプロンプトのサイズを変更する(別サイトのブックマーク)

ブクマ。 コマンドでコマンドプロンプトのサイズを変更する 余談だがコマンドヘルプ(/?)だと省略記法って書いてなかったんだけど どこに情報あったんだろう?

Clojure の Macro 中(defmacro)での型ヒント

英語ならググれば割とすぐ出てくる話題だが自分用にメモ。 最近は Clojure で CLI ツール書く時、GraalVM で実行 exe を生成できる可能性を残すべく 自分が書くコード中では reflection warning を出さないよう型ヒントをつけまくってる。 ある日 defmacro …

この Protocol の使い方正しいんだろうか?

Clojure に限らないんだが関数名決めるのってプログラミングで一番難しいとか 誰か偉い人も言ってた気がする。 んで、自分で作った関数に付けたい名前が clojure.core にある関数名と被っている事があった場合どうするのが良いのか。 最も単純なのは被らない…

fossil を使ってみる

更新履歴 2020/07/13 2017/09/15 記事移行 参考 はじめに 参考リンクとか インストール リポジトリ作成 リポジトリ作成時、他既存リポジトリから設定を引き継ぐ リポジトリ設定 UI 画面起動 プロジェクト名設定 ローカル時間に変更 ファイル追加 無視ファイ…

Clojure でコマンドラインツール作成のお供に lein-jlink のススメ

前置き 前提 jdeps で必要モジュールを調べる project.clj に必要モジュール指定の設定を追加する カスタム JRE 作成 カスタム JRE 作成場所の設定 実行スクリプト作成 パッケージング 最後に 前置き 英語的には Motivation に当たるのかな。 Clojure + Graa…

Programming Clojure, Third Edition 読む(宣言)

どうも最近の(と言っても随分前だが) Clojure の新機能イマイチ理解できてないなあと思い公式やネットの解説とかつまみ食い的に読んだりするのだがなーんかあんまり身についた気がせず、そろそろ GW だけど今のご時世遠出はリスクあるしここらで一つ Program…

Windows GraalVM で Clojure 製CLI ツールの native-image 作ってみた

2020/07/01 追記 GraalVM 20.1.0出たので インストールしてる時 native-image を gu install native-image で入れようとした時に 入れられなかったのでローカルでインストールした手順も追加。20.0 でも同じ PKIX なんちゃらのエラーだったので おそらく証明…

Clojure の Java interop で可変引数メソッドを呼び出す方法

例えばSomeClassと言うクラスのsomeStaticMethodの引数が String first, String... moreな場合。 (SomeClass/someStaticMethod first (into-array String [more...])) more は渡したい引数分だけ要素を突っ込む。例ではスタティックメソッドになってるがイン…

Excel で F2→Enter によるセル再評価をまとめて実行する

セル選んで F2→Enter するとセルが再評価されて書式変わったりするが、 これを大量のセルでまとめて実行する方法があるのかググってみたら見つかったのでメモ。 マクロ組んでもできなくもないが、区切り位置指定ウィザードでまとめて実行できる。 www.relief…

spacemacs お試し中

最近 spacemacs の設定にハマってる。 ハマってると言うのはあんま良い意味ではなく、しばしばエディタの学習曲線でネタ的に良く挙がる 以下比較イメージ中にある emacs の状態。 emacs設定の底なし沼にハマると中々抜け出せないんだよなあ。 じゃ今までの自…

ASP.NET アプリを IIS に配置する(ただし一度パッケージングしてからのやり方)

はじめに 2017/01/23 加筆修正 やりたい事の要点 経緯的なもの 手順概要 Visual Studio 2015 の Web 公開ウィザード(?) で Web Deploy Pakcage を作成する アプリ配置前 IIS 設定(必要なら) 配置サーバ環境 Default Application Pool の .NET Version 変更 I…

Java, Clojure くらいしか知らない自分が ASP.NET 上で動く Web サービスをイチから作る

はじめに 実行環境 手順概要 ASP.NET 空 Web アプリプロジェクトを作る 外部ライブラリの依存性の解決 WebAPI 初期設定を行うクラスファイルを用意する Global.asax に初期設定コードを記述する 疑問1: App_Start フォルダ作成は必須なのか? 疑問2: WebApiC…

leiningen しか使った事のないやつによる NuGet の使い方メモ

はじめに インストール VisualStudio 拡張版と CLI 版 CLI 版のインストール Visual Studio 拡張版のアップデート バージョン確認 CLI 版 Visual Studio 拡張版 設定一覧 VisualStudio で表示・変更できる設定は? パッケージの生成的なものはあるか ローカ…

四角形を動かす、描画する

arcade-clj シリーズ。全体の目次はこちら。 元記事での追加機能 まずは四角を描画してみる すごくどうでも良い事 Entity System について 四角を動かす 斜め移動の判定 動かすコード 動かすコードを呼び出すコード 画面内のみで動くようにする 画面のリサイ…

Screen の 切替

arcade-clj シリーズ。全体の目次はこちら。 元記事での追加機能 作業 赤い画面と緑の画面二つ用意する ところでイベントハンドラに渡してる関数って Clojure 的にはタダの関数だよね github スナップショット 元記事での追加機能 スペースが押されたら背景…

ESC を押したら終了するようにする(イベントハンドリングの触り)

arcade-clj シリーズ その 2。シリーズ全体の目次はこちら。 元記事での追加機能 イベントハンドリング :on-keydown github スナップショット 元記事での追加機能 エスケープかxが押されたら終了するように変更する 以上。x は play-clj では特に何もしなく…

play-clj のインストール、シンプルなウィンドウの表示

arcade-clj シリーズ 1 つ目。シリーズ全体の目次はこちら。 一部以前の記事と重複している所もあるけどご容赦を。 play-clj のインストール ひとまず動かしてみる 元記事の仕様に合わせる REPL で動かしてみる それでもまだ面倒 emacs の設定書き換えるの嫌…

ArcadeRS サンプルゲームを通じて play-clj に慣れる

ArcadeRSという ゲーム制作を通じての Rust 言語を学ぼうと言うチュートリアル記事がある。 この記事はそのチュートリアルを通じて完成するゲームを play-clj で作ってみようと言う記事。 元記事と違って Clojure そのものは既にある程度学習済で、ここのタ…

cider で play-clj 触り始めました

libGDX を Clojure 上でより使い易くされた play-clj 触り始めました。 github.com まだサンプル触ってる段階だけど REPL で起動したままいじれるのは 非ゲーム分野では経験済みとは言えゲームでも可能なのが改めて新鮮。 今日は 公式チュートリアル ではフ…

駄文:すいません、Rust 俺にはムリ

まあ誰に謝ると言う訳でもないんだけど Rustはプログラミング言語Rustを 一通り試してみて、さあそれじゃちょっとしたツールやライブラリみたいなの試しに作ってようかと 手を動かしてみたらコンパイラに怒られまくって正直心折れました。 いや、ネイティブ…

環境変数設定画面を直接開く方法

前日本語でググって見つからず諦めてたが今日英語でググッてみたらあった。 serverfault.com と言うわけで以下のような感じでそのままバッチファイルにしたものを PATH 通してる所に放り込んだ。 @echo off rundll32 sysdm.cpl,EditEnvironmentVariables コ…

Rust Win GNU ABI で実際何か作る時は MinGW-w64 の gcc にパスを通しておくのが実質必須と言うお話

今回は Conrod と言う GUI ライブラリのサンプルを動かしてみたくて 試そうとしたら、コンパイルが途中で止まったのが発端。 確認環境 Win7 64bit Rust Stable 1.8.0 GNU ABI 公式ガイドにあるサンプルを動かす Cargo タスクを実行すると外部 Crate のコンパ…

Cargo で gcc のフラグを任意に渡す方法→cargo rustc からのみ可能(2016-05-08修正)

要は Windows の GUI サンプルコードをお試しで動かすと コンソールも一緒に立ち上がってたのが嫌だったので調べると見つかった。 stackoverflow.com で、このフラグを Cargo から渡す方法はないか調べた。 確認環境 Win7 64bit Rust Stable 1.8.0 GNU ABI 2…

Cargo でグローバルにライブラリサーチパスを追加する方法

Cargo で C ネイティブライブラリをリンクさせる為に 配置されているパスを Cargo に明示的に指示したい場合どうするか。 確認環境*1 プロジェクト単位での設定方法 グローバルに設定する方法 参考 確認環境*1 Win7 64bit Rust Stable 1.8.0 GNU ABI プロジ…

Rust で try! マクロが上手く動かなかった

Rust 絶賛学習中なんだけども、try! を 使用したサンプルが動かなかったのでメモとして残す。 原因はちゃんと追ってないが、状況と回避方法だけ。 (と言っても try! マクロ使わないようにするってだけだけど) 2016-05-08 追記 原因分かった。未読だったエラ…

Rust 開発環境構築 - Eclipse で構築してみた

LifeTime や Trait、関数型プログラミング的な事も可能らしいシステムプログラミング言語辺りの ワードが気になって Rust を始めてみようと思いたった。 で、まずは環境構築からと言う事で探してみた。 開発環境選定 Emacs IntelliJ VisualStudio Eclipse 事…

Dungeon Crawl Stone Soup 0.17.1(英語版)をビルドしてみた

ちょっと思う所があって PC フリゲのローグライクの一つである Dungeon Crawl Stone Soupをソースからビルドして上手く行ったので その時の環境をメモしておく。 OS は Win7 Pro 32bit ソースは 公式に置かれてる Full source with dependencies のリンクか…

WindowsでJDK7,8を切替

以下の記事そのままの方法を使わせて頂いたのでメモ。 WindowsでJDK 7とJDK 8を切り替える際の注意点 Oracle もこういう情報を標準で提供してくれればいいのに。

cider での TDD っぽいワークフロー

ワークフロー REPL 起動(C-c M-j) ※ 1 回のみ 何か関数書く REPL 上でテスト ok なら保存・リロード(C-x C-s, C-c C-n, C-c C-k) REPL 上で実行したコードと結果を = とした is フォームにコピペし、 適当な名前を付けて保存・リロード(C-x C-s, C-c C-n, C-…

On Lisp -> Clojure へ移植: 14.1~14.4

14.1 関数の構築 関数合成をマクロ化する意味が結局良く分からない。 funcall を暗に呼んでいて省略できるのがメリットくらい?それにしてもまだ呼び方が (fn (compose list 1+ truncate)) と、Clojure の comp を知っていると使う側が fn を改めて呼ぶ必要…