サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
phaendal.hatenablog.com
2017 - 06 - 25 ブラウザ上で完結する動的Lisp環境を作っている Den 最近やってること で書いた、ブラウザ上で完結する動的 Lisp 環境の制作記録。 とりあえずできた。 方言の名前はDenLisp。 作ってるうちに 名前空間 の量が大変なことになったので、先に気合入れて IDE を整備した。便利になった。 今のところ 自作 Lisp 方言( Clojure /wisp風)→ JavaScript への コンパイラ ( トランスレータ ) ブラウザ上で全てのソースを閲覧・変更できて、全体をビルドして JavaScript に書き出せる。自己増殖するイメージ。 ある程度LateBindingできている。例えば コンパイラ のある関数にバグがあったとき、その関数だけを修正・ コンパイル して動作を変更できる。修正はそのまま保存できる。 node.jsとExpressを使って簡
2017 - 06 - 21 最近やってること 近況です。 yahoさんがきた 前々から会って話してみたかったyahoさん( id:lhcpr )が遠路はるばるお越しくださった……! で、様々に言葉を交わし、とても刺激になった。 あまりに刺激を受け、主に ナシーム・ニコラス・タレブ の著書などの影響で変わりつつあった人生観が、変化が加速して別人になった。 端的に言うと、悩まずに手を動かせるようになった。 ビジュアルプログラミング 10年前ぐらいに PureData を触って以来ずっと作ってみたかった、ノードをパイプでつなぐ式(?)のやつを作り始めた。6/1〜6/8ぐらい。 Glyphite といいます。 ちょっと前の動画 動画載せられるかテスト pic.twitter.com/HjXFe3sGSN — phaendal_a (@phaendal_a) 2017年6月5日 黒い画面 一番最初
2016 - 12 - 14 2017年からSmalltalkに(再)挑戦したい人へ Smalltalk Squeak この記事は Smalltalk Advent Calendar 2016 14日目の記事です。 ある程度プログラミング経験がある人を対象にしています。特に、一度触ってみたがよくわからなかった、という人向けです。 環境構築 まず最初は、 Squeak Smalltalk の、有志によって日本語化された 4.4-ja をオススメします。 環境構築は、ダウンロードしてzipを解凍、起動するだけでお手軽です。 最新版の5.1は4.4に比べて非常に高速になっているので、本格的に使用する場合は乗り換えた方が良いです。 Windows / Linux での日本語表示・インライン入力対応は以下の記事を参照してください。 Squeak5 on Windows7で日本語インライン入力に対応さ
2016 - 09 - 23 静的型付き関数型言語ElmでWebアプリ(SPA)を作ってみた Elm 以下の記事を見てElmがかなり気になりました。 elm-conf 2016に行ってきたメモ - ジンジャー研究室 再利用可能なコンポーネントはアンチパターン - ジンジャー研究室 Evan Czaplicki「脱FRP。またはThe Elm ArchitectureからSignalを消した件」 - 以下斜め読んだ内容 私は 型推論 ありの静的型付き 関数型言語 (と言えばいいんでしょうか)でプログラミングした経験が殆どありません。このブログに昔 Haskell を触っていた 記録がありますが 、今読み返しても何書いてるかさっぱりわかりませんでした。 型推論 での静的型付けの強力さについては最近よく目にします。動的型付き言語での開発時に起きるエラーがどのようなものか少し記録を取ってみたところ
2016 - 08 - 17 20時間、1つの目的のために練習してみる 様々なことを日々学び、大きな目的に邁進したいと思っているんですが、何を学ぶか・どの目的を選ぶかで麻痺してしまい腰が重くなる一方でした。どうにかしたいと思い続けていたんですが、ようやく打開できそうな考えを見つけ、実践することもできました。 きっかけとなったのは次の2冊の本です。 たいていのことは20時間で習得できる 忙しい人のための超速スキル獲得術 作者: ジョシュカウフマン 出版社/メーカー: 日経BP 社 発売日: 2014/09/20 メディア: Kindle 版 この商品を含むブログを見る 原題は「THE FIRST 20 HOURS」で、何か新しいことを学ぶときに最初の20時間ぐらいはイライラしてやめてしまいやすいので、それを乗り越えることに集中しようという趣旨の本です。楽しめる程度まで上達するにはどこを抑えれ
2016 - 08 - 06 Scheme/SmalltalkユーザーがRuby入門してみる ruby ある作りたいものがあるのですが、そのためには今ある中で良いとされているモノや設計思想を知っておこうと考えました。そのためには最低でも1,2ヶ月ぐらい腹をくくってそれに取り組む必要があると思います。 というわけで趣味と実益を兼ねて、しばらく Ruby on Rails 、そのために触ったことがない Ruby を書いてみようと思います。 まずは今知っているもの、使いたいものを Ruby でどう使えるか、を調べてみます。以下はそのメモです。 REPL irb 関数/メソッド呼び出し トッ プレベ ルで def した関数は foo(a, b) 又は foo a, b で呼び出せる。 メソッド呼び出しは receiver.method arg1, arg2 の形。 トッ プレベ ルでの def は
2016 - 06 - 21 何故1つのプログラミング言語に集中できないのか 個人的な話です。 いくつか強烈に面白いなと思っている プログラミング言語 があって、どれも興味を惹かれるのであっちを使ったりこっちを調べたり、と引っ張られています。 他にもいろんなツールを試したり、プログラミング以外にも音楽を作ったり絵を描いたり武道をやったりと興味を散らかしています。 それはそれで楽しいこともあって、多趣味と言われる度に密かに誇っていたりもします。 しかし、特に 選択肢が多すぎて迷うストレスが大きい それぞれにかけられる時間が少ない というデメリットが大きく、またもう若いと言われる年齢ではなくなってきたので、「 選択と集中 をしていれば」とかなり焦っているのが現状です。 時間やタスク管理の手法を試したり、選択肢ごとのメリット・デメリットを書き出して比較してみたりしましたが、一向に改善されません。
2015 - 05 - 19 PAIPメモ 3 CommonLisp PAIP(実用 Common Lisp )を読んでて気になって調べた事などをメモします。 今回はch3.13「 デバッグ ツール 」から。 step SBCL と、 SBCL をSLIMEから使ったところ上手くステップ実行できませんでしたが、 CLISP だとPAIPで説明されているようなステップで実行できました。 処理系で結構違いがあるみたいです。 追記: デバッガからステップ実行できるそうです。( id:nfunato さんのコメント参照) inspect Smalltalk やFactorの影響でinspectorが好きになったので、CommonLispにもある (というより Smalltalk とInterlispが発祥なのでしょうか?)のは嬉しいですね。 SBCL のinspectを試してみます。 q で終了し
2015-12-07 Squeak Smalltalkで荷物運びゲームを作るガイド Smalltalk Squeak これはSmalltalk Advent Calendar 2015の7日目の記事です。 はじめに この記事では、Squeak Smalltalkで荷物を運ぶゲームの簡易版を製作した過程などを紹介します。 完成品のプレイ動画です。 www.youtube.com この記事対象はかなり限定されています。簡単に言えば、少し前の私が読みたかった記事です。 Smalltalk以外でのプログラミングの経験は少しあって、Smalltalkにかなりの興味を持ち、入門書を読み終わった時点です。しかし今までの環境とあまりにも違うので、何を作れるのか、どう踏み込んでいけばよくわからず躊躇していました。そういう風に戸惑っていた私と同じような人を対象とし、モチベーションを上げることを目的としています
2015-11-17 SqueakでTodo Board作った Smalltalk Squeak 環境はSqueak5.0。 youtu.be 何やったか Squeak Smalltalkで色々作る題材として、最初はTodoリストを作るつもりだった。が、なんとなく困難に体当たりしたい気分だったので、今まで取り組んだことがないタイプのGUIに挑戦してみることにした。Trelloを結構便利に使っていて、こういう小気味良いインターフェイスを手軽に作れるようになりたいゾ、と思っていたので真似することにした。 結果的に6日ほどかかりだいぶん苦しんだけど、かなり知見が溜まったし次に同じようなの作る時腰を上げやすくなったとは思う。ボード間のやりとりをまだ完全に把握してなくてバグが多そうだし、ウィジェット自体の再利用はちょときついので暇をみつけてリファクタリングの練習もしていきたい。 コードは一応Gith
2015-07-18 Forthの仕組み - ワード実行 forth いろいろForth処理系を作ってきて、 大分動作が頭に染みこんできたので、ここらへんで一度復習も兼ねて動作を解説してみる。 ForthやConcatenativeLanguageには本当にいろいろな作り方があるんだけど、 今回はjonesforthで学んだ、おそらく一番伝統的なやり方を選ぶ。 前提として、ポインタとリンクリスト、関数ポインタ(参照)を理解していれば大丈夫だと思う。 それから、JavaScriptでサンプルコードを書くけど、コードに合わせた詳細な説明はせず、動作や仕組み、考え方を大まかに説明する。 というよりjonesforthの更に入門みたいになるだろうから、興味がある人はjonesforthを続けて読んで欲しい。 Forth言語自体の説明はしない。1 1 +で2がスタックに置かれること、: inc 1
2015-01-05 JavaScriptで暗号化通信 JavaScript Node.js 備忘録 特に漏れてもダメージは無いデータを扱うWebサービスを作っていて、こちらで発行したパスワードをトークンでの暗号化でやりとりする方式で認証していた。しかし平文が流れるのは流石に…と気になったのと、興味があったので、GET/POSTを公開鍵暗号方式で暗号化してみることにした。 node.jsとAngular.jsでのSPAなので、JavaScriptのみを使う。 ついでに今年の目標など - レガシーコード生産ガイドで述べたように、図を描く習慣と能力を育てようと思うので、やりとりを紙にスケッチして開発、その後Inkscapeをインストールして画像にしてみた。 暗号化・復号にはCrypticoというライブラリを使った。 wwwtyro/cryptico · GitHub ブラウザ側ではcrypti
2015-04-21 Forth + プロトタイプベースなFactor風言語を作りました forth JavaScriptで組みました。動作ページ 前書き エラー処理はまだないので、コンソールを開いて確認してください。 名前は未定です。(とりあえずPrototype + ForthでProtoForth) とりあえずの実験なので、何度か全体を書き直すと思います。 Factorを始めとした、プログラミング言語自体をある程度知ってる人向けの説明です。 まったくの素人の独学なので、以下での用語や理論の使い方は間違ってる可能性があります。指摘してもらえると嬉しいです。 もうForthとプロトタイプベースオブジェクト指向を混ぜたものがある場合、それを教えてもらえるとありがたいです。 以下のコードをコピペすると、使用例のようにワードの定義などが楽にできます。以下、全てのコード例は以下のコードを前提とし
2015-04-17 Smalltalk(Pharo)でLispを書いてみる Pharo Lisp cons、first、rest、+だけだけど書いてみた。コードは最下部にある。 Smalltalkで宣言的に書く 暫く前に名詞の王国 - あどけない話と、それについて言及した 言霊の國 - みねこあを読んで、ふーん宣言的にか……なるほどな、でも例えばLispインタープリタならLispEvaluator.new().eval(code)みたいに名詞に従わせるしかないのでは……?と思ってた。 しかしよく考えると、関数で言えば適用される前と後の値をオブジェクトとして注目するべきで、Lisp評価器だと ast := AST from: code. value := ast eval. 又は value := LispValue evaluated: code みたいに、「○○をhogeしたものは××
2015-03-26 少しだけClojure 8 / Clojureにシーツ・オブ・サウンドを演奏させる clojure プログラミングClojure第2版を読みながら続き。 方針 基本的に本の説明をそのままor自分の言葉に直しただけで書き直すようなことはしない サンプルコードが長くて理解しづらい、練習したいなと思うものは細かく試して書いてみる 読んだ時点で書かれてなかったり省略されているか、疑問に思ったことを調べて書く 後から書かれていたら参照のために簡単にメモする 離れたところから影響を及ぼす で説明されてる動的束縛とは全く関係ないんだけど、 clojure自体のソースではどういう風に^:dynamicやbinding使われてるんだろ?→シンボル一覧みたいなの出してsourceでmapしてtakeして少しずつdynamic探していけばいいかな→source関数は何返すんだろ、(clas
このページを最初にブックマークしてみませんか?
『レガシーコード生産ガイド』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く