レガシーコード生産ガイド

私に教えられることなら

Squeak

2017年からSmalltalkに(再)挑戦したい人へ

この記事はSmalltalk Advent Calendar 201614日目の記事です。 ある程度プログラミング経験がある人を対象にしています。特に、一度触ってみたがよくわからなかった、という人向けです。 環境構築 まず最初は、Squeak Smalltalkの、有志によって日本語化され…

Squeak5.1 / fcitx / Linux Mint で日本語インライン入力

over the spot方式ですが、できました。 Windowsで使う場合は別の記事参照。 手順 日本語TTFフォント導入 まずなんらかのフォントを入れておきます。 手順はSqueak5.0で好きなTrueTypeフォントを使い、日本語を表示する - レガシーコード生産ガイドの通りで…

SqueakのVMConstructor探検メモ

Squeakみたいに、Smalltalk VMをサブセット(Slang)で書いて楽しみたいという野望があるんですが、最近の(Cog)VMの生成周りはどういう設計なのかさっぱりわかりません。 SqueakのSlangがVMシミュレーションに便利なのはわかるんだけど、いかにCのボイラー…

Squeak5.0/Pharo4であるクラスの全メソッドのソースをクリップボードに

ブログ等に貼るために、Smalltalkのクラスのメソッド定義を手軽にコピーしたい。 クラスの定義はFileOutでファイルに書き出せるけど、いちいちファイルからコピーするのも面倒だし、あまりブログ等で眺めるのには適してない表示になる。 コピペも面倒だし、S…

Squeak5 on Windows7で日本語インライン入力に対応させる

www.youtube.com FFIを利用します。 環境はWindows7(64bit)です。 C言語、WindowsAPI、Smalltalkすべてについて初心者なので何か凄まじく危ないことをしているかもしれません。真似しておかしくなっても自己責任でお願いします。助言など大歓迎です。 手順な…

Squeak5.0でHTTPサーバを立ててSmalltalk環境外と通信する

パッケージWebClient-Core内にあるWebServerクラスが便利そうなので使ってみた(Client?)。いつから入ってるものなのか知らないけど、とりあえず5.0にはある。 クラスメソッドのexampleDoItなどを参考に、 htmlを表示 XHRでブラウザ側からテキストを送信 Sque…

Squeak Smalltalkで荷物運びゲームを作るガイド

これはSmalltalk Advent Calendar 2015の7日目の記事です。 はじめに この記事では、Squeak Smalltalkで荷物を運ぶゲームの簡易版を製作した過程などを紹介します。 完成品のプレイ動画です。 www.youtube.com この記事対象はかなり限定されています。簡単に…

Squeak Smalltalkでクラスメソッドとインスタンスメソッドを相互に移動/コピー

明け方、早くに目が覚めたのでSqueakを探検して、ブラウザのメニューを片っ端から調べた。 いろいろ便利なの見つけたんだけど、前々から欲しかったタイトルの機能が無かったので作った。 もうとっくに同じ機能あったり、他にうまいやり方なんかあったら教え…

Squeak Smalltalk練習中

作業記録。相変わらず、空いた時間にちょいちょいSqueak Smalltalkを触っている。触るために時間を空けているとも言える。 まずGUI/可視化ツールを手っ取り早く組み上げられるようになりたい、というわけで今の課題はドローツールみたいなものを作る練習。 y…

SqueakでTodo Board作った

環境はSqueak5.0。 youtu.be 何やったか Squeak Smalltalkで色々作る題材として、最初はTodoリストを作るつもりだった。が、なんとなく困難に体当たりしたい気分だったので、今まで取り組んだことがないタイプのGUIに挑戦してみることにした。Trelloを結構便…

Squeak5.0でXYPadつくった

相変わらずMVCよくわかってないので、練習としてXYPad作ってみた。 www.youtube.com MonticelloとFileTree使ってGithubにも一応あげた とりあえずモデルとその他に分けて、モデルがビュー・コントローラに依存してなければええやろ!ということで、 MMTModel…

Squeak5.0で好きなTrueTypeフォントを使い、日本語を表示する

(2015-11-23追記)id:sumimさんがFontImporterToolを使うやり方を紹介されています。 必要なものは日本語が表示できるTrueTypeフォントファイル(.ttfや.ttc)のみです。私の環境はLinuxですが、読みかえれば他のOSでも可能だと思います。Squeak-5.0-All-in-One…

自由自在Squeakプログラミングを読み終わった

……と言いたいところなんだけど、最後のVMプラグイン作成の章は飛ばすことにした。どうも使ってるSqueak4.4jaにはVMMakerなく、やり方も変わってそうだから調べるのが多少めんどうなのと、Squeak/Pharo今もガンガン進化していってるし、VMプラグイン作りたい…

自由自在Squeakプログラミングを読んでいる

現在7章の半分ぐらいまで ノート代わりのコード ずっと勉強してこなかった人生なので、体系的に知識を頭に入れる技術が身についてない。 好奇心に従っていればいいかな、と思っていたけど、基礎知識の不足を痛感することが増えたので、読書技術の構築や練習…

Squeakでオブジェクト指向の練習

Twitterで度々呟いてるんだけど、オブジェクト指向できていますか?というスライドを見て「これは……」と思ったので練習してみた。 枠として使うMorphの中に、好きなMorphを突っ込むと、重力をうけつつ跳ねまわるようにしたい。 特に守ったルールは インスタ…

Squeakメモ

使用してるのはSqueak-4.5-all-in-one クラスコメントを書き換える方法、書き換えると出るエラーへの対処 参考:http://forum.world.st/Save-a-class-comment-in-Unix-Squeak-4-5-leads-to-RemoteString-past-end-of-file-td4771346.html 書き換えるとエラー…

Smalltalk(Squeak)でちょっと待つ

Squeak触っておこうと思って、自由自在 Squeakプログラミング PDF版を読み始めた。そのときやりたくなったことのメモ。 最初の方にこういうカンジのコードが出てきて joe := Morph new. joe openInWorld. joe flash. joe delete. 1行ずつ実行すると何やら物…