タグ

ブックマーク / m-hiyama.hatenablog.com (124)

  • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

    jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

    パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2022/12/05
  • 文書処理:20年前の課題は今でも課題 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    僕は、人生のかなりの時間と労力と情熱を文書処理に費やしました。なので、文書処理のことを書いたり話したりしたことはあります。ですが、文書処理の実際のプロジェクトやソフトウェアの話をしたことはありません。守秘義務の問題もありますし、仮に守秘義務に引っかからなくても進行中のプロジェクトについて口にすることはありません。 しかしながら、10年20年も昔の話なら、もはや誰にも迷惑はかからないし、気にする人もいないでしょう。技術的なアイディアで具体性があるものは特許になっているし、抽象的一般的な方法論は、むしろパブリックにすべきものでしょう。 僕がそのテの話をしなかった一番の理由はメンドクサイからです。そして、懐旧談に意味があるとは思えないからです。ごく最近、ふとしたキッカケから、個人的体験を縷々述べることに意味はないが、10年20年前に考えたりやったりしたことを書き残しておくことはまんざら無駄でもな

    文書処理:20年前の課題は今でも課題 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2020/07/23
    懐かしい話が。
  • VSCodeのEmacsキーバインド - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Google日本語入力のコマンドと状態遷移を解明する」にて: 色々と事情がありまして、Google日本語入力のキーバインドを変更しようと思いました。...[snip]... その事情は別なブログ記事に書くかも知れません。 ...[snip]... 今まで[変換キーを]トグル方式で便利に使っていたのですが、とある事情(今日は割愛)でトグルがとても使いにくくなってしまいました。それが、今回キー設定をやり直すことになった事情です。 ここで言っている「事情」とは、エディタをEmacsからVSCodeに切り替えたことです。Emacsのなかに籠もっていて、久しく忘れていた日本語入力との相性とか、文字コード〈character encoding〉問題とかに、またぶち当たることになりました。 内容: Emacsはもうやめよう Awesome Emacs Keymapはダメだった IME状態がわからない

    VSCodeのEmacsキーバインド - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2020/07/22
    自分もemacsに出戻ったクチ。IMEのキーバインド変えてまでVSCode使うのもなー…
  • TypeScript、お前もか: nullやundefinedの扱いがイイカゲン過ぎ【事実誤認あり】 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    TypeScriptには期待してたんだけど、ガッカリだよ。 それでもまー、割と好きだけど。 *1 [追記]各所でご指摘いただきました(ありがとうございます)ように、コンパイル・オプション付きなら、シングルトン型のセマンティクスになります。この記事はほぼ言いがかりでした。事実誤認した経緯と、内容的修正を「TypeScript、僕が悪かった、ゴメン: nullやundefinedの扱いはマトモだった」に書きました。 この記事の文自体はそのままにします。事実誤認も含めて記録が残ってもいいかな、と思うので。ただし、この記事だけを読む人が同じ誤認をしないように、何箇所かに修正記事へのリンクは入れます。[/追記] 内容: 特殊な型や値の扱い方はイイカゲンになりがち 特殊な型とは TypeScriptの基型にnullは入らないと信じていた どんな伝統なんだよ TypeScriptにシングルトン型はな

    TypeScript、お前もか: nullやundefinedの扱いがイイカゲン過ぎ【事実誤認あり】 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2018/01/12
  • アマゾンが間違いメール? なんなんだ、これは!? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    なにがあったのかというと(少し前のことなので、「ありのまま 今 起こった事」ってセリフは適当じゃないです)、詐欺メールみたいなのが来たのですが、なんか物のようなんです。物だとすると、なんで僕(檜山)宛に届いたの? 事情も対処も分かりません。 3月13日に次のメールが届きました。 Title: 店舗到着済:認証キーをお送りします(注文番号: XXX-XXXXXXX-XXXXXXX) From: Amazon.co.jp <delivery-notification@amazon.co.jp> 2015年3月13日 11:21 Amazon.co.jp <delivery-notification@amazon.co.jp>: Amazon.co.jpをご利用いただき、ありがとうございます。 ご注文商品がご指定のコンビニに到着いたしましたので、商品をお受け取りいただけます。 商品のお受け取

    アマゾンが間違いメール? なんなんだ、これは!? - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2015/03/17
    これはAmazon=サンのひろみちゅ案件では?
  • J言語の印象: その変態さと可能性 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    なんだか驚いた、というわけで、J言語を少し調べたり触ったりしました。このJ言語、2014年は絶対に … … 流行らないでしょう。 J言語のホームページは http://www.jsoftware.com/ です。必要なものはココに揃っています。J言語の入門的解説であるPrimerもあります。そのPrimerの冒頭に曰く: J is a very rich language. You could study and use it for years, and still consider yourself a beginner. J言語はとても奥深い言語です。何年もJ言語を勉強し使い続けても、それでも「自分はまだ初心者だ」と感じるかもしれません。 のっけから気力が萎えることを言ってくれますね。(人によっては挑戦意欲を刺激されるかもしれませんが。) 日語の資料は少ないですが、次がまとまってい

    J言語の印象: その変態さと可能性 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2014/01/09
    VZエディターのマクロ思い出した… 「J言語は…モーバイルデバイス上でストレスなく使えるインタプリタ言語です」学習ストレスと引き替えに… 元を取ろうと思っちゃダメな言語だなー
  • 僕らが大好きだったWebはなくなるのかもしれない - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Webはなくなるのかもな、と思います。 この記事の続きは「ブラウザが消滅して: APIベースのWeb」 あの頃のWeb 「Webとは何か」を定義しなければ、なくなるか/存続するかなんて議論は意味をなしません -- それは承知ですが、ここでは曖昧な、あるいは感傷的なWebのイメージに基いて話します。 Webはブラウザで閲覧するものでした。ブラウザはHTML文書の表示装置です。ハイパーリンクをたどってインターネットを“サーフィング”できます。あるいは、検索エンジンを利用して目的のWebサイトを探します。たまにフォームを使ってWebに“書き込み”をします。それが、今までの(「かつての」かもしれない)Web体験です。 このようなスタイルのWebの盛り上がりのピークは2005年からのWeb 2.0ブームだったと思います。Web 2.0の提唱者だったティム・オライリーの真意はどうであれ、Web 2.0

    僕らが大好きだったWebはなくなるのかもしれない - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2013/12/03
    うーん。twitterの場合個別ツイートに永続リンクがあり、ストックとしてのウェブにフローの風味(アーキテクチャ・シュガー?)を装うことでメッセージングをメディア化したと評価しているのだけど。
  • Webページからの情報抽出について考えみた - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Webページ(HTML文書)からの情報抽出は、古くからある話題です。そして、「頑張れば何とかなるけど楽な方法はないよね」というあたりに落ち着く話題でもあります。「頑張るのは辛い ←→ 楽して出来ることはたかが知れてる」というトレードオフの関係なのです。このトレードオフの境界線をズラして、「楽に出来るけど、けっこうなところまでイケる」としたいな、と思います。 XSLTをものすごく単純化してみる 汎用プログラミング言語でHTMLをパーズしていじれば何でもできますが、それは楽ではないですね。HTML文書からの変換処理に向いた言語といえばXSLTです。XSLTは、基的には XML to XML の変換を扱うので、入力HTML文書をXML(XHTML)化する前処理(またはオプション)が必要です。いったんXML文書ツリーができてしまえば、XSLTの変換能力は豊富で強力です。 問題は、XSLTが難しい

    Webページからの情報抽出について考えみた - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2013/11/28
    「XSLTの概念と機能を、「XPath → CSSセレクター」「出力XML → 出力JSON」「命令/関数 → なし」と単純化」したツールの構想。処理系は実際に動いているとのこと。
  • Web上で発生する膨大な量の不愉快と困惑 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    とあるフォームを入力したときのエラーメッセージ。 契約者名 姓(フリガナ)は全角カナで入力してください。 契約者名 名(フリガナ)は全角カナで入力してください。 お客様番号をご利用されているご住所の番地号 小字は全角で入力してください。 お客様番号をご利用されているご住所の番地号 番地は全角で入力してください。 お客様番号をご利用されているご住所のフロア・部屋番号は全角で入力してください。 フリガナに関してはひらがなを使ってしまった。番地などの数字は、僕は常にアスキーコードのほうが入るように仮名漢字変換(IME)を設定している。それでエラー … って納得いかない! 僕個人でも、こういう事態にしょっちゅう出会う。Web全体では、このての不愉快と困惑の総量は膨大なものだろう。毎回「なんで?」と思うわけだが、実際なんでこういうエラーを出すのかが分からない。理由があるのだろうか、単に悪しき習慣が固

    Web上で発生する膨大な量の不愉快と困惑 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 結果の豊かさか、それとも適用範囲の広さか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    コメント欄 http://d.hatena.ne.jp/m-hiyama/20130318/1363563919#c1363614093 にて、emoyanさん曰く: >余演算は ...inc: Hidden×Integer→Hideen は許されないのです。 許されないというのはどういう意味ででしょうか? inc: Hidden×Integer→Hideen とするとどう困るのでしょうか? 色々な場面で、似たような質問が形を変えて現れます。 とりあえず上記の質問にツマラナイ答え方をするなら、「『許されない』とは、余代数の定義がそうはなってないこと」です。「定義」は「余代数の公理」といっても同じです。 公理系(理論の出発点にする大前提)に対して、「どうしてそう決めたんだ?」「他の形ではダメなのか?」というタグイの質問は、なかなかに答えにくいです。公理系が、膨大な実例や経験のなかから抽出され

    結果の豊かさか、それとも適用範囲の広さか - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2013/03/26
    「公理をたくさん要求すると、精密で強い結果が得られるかもしれませんが、やり過ぎると適用範囲が狭くなり過ぎます」「公理を減らして条件をゆるくしていくと、意味のある結果を出しにくくなります」
  • bitbucketはもう信用する気になれない - 檜山正幸のキマイラ飼育記 (はてなBlog)

    bitbucketは、分散バージョン管理システムのリポジトリと関連機能をホスティングしているサービス。Catyの開発にはずっとbitbucketを使ってきた。細かい不満はあるものの、「これはダメだ」というほどの問題点は感じていなかった。だが、最近の変更は酷い。それについては、既にKuwataさんが書いている。 http://return0.info/note/2012-10.html#id2012-10-10 http://return0.info/note/2012-10.html#id2012-10-19 Wikiの記法が、WikiCreoleからMarkdownに変わったのだが、互換性への配慮が一切されてない。ユーザーが今まで貯めこんできたデータが壊れる事態もヤムナシという判断らしいが、ヒド過ぎる。具体的に言うと、過去にWikiCreole記法で書いた(イシュートラッカーの)イシュー

    bitbucketはもう信用する気になれない - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • CSSのテーブル的displayって、めちゃくちゃ便利だわー - 檜山正幸のキマイラ飼育記 (はてなBlog)

    次のような2つの箇条書きがあります。 <ul> <li>リンゴ</li> <li>オレンジ</li> <li>バナナ</li> </ul> <ul> <li>キャベツ</li> <li>ニンジン</li> <li>ダイコン</li> <li>ハクサイ</li> <li>ブロッコリー</li> <li>トマト</li> <li>キューリ</li> </ul> この2つの箇条書きを、左右横並びに配置したかったんですよ。 CSSでなにやら頑張ればできそうな気はしたんですが、頑張りたくない。古き悪しきテーブル・レイアウトでいいや、と割りきって次のようにしました。 <!DOCTYPE html><!-- -*- coding: utf-8 -*- --> <html> <head> <meta charset="UTF-8" /> <title>table</title> <style> table

    CSSのテーブル的displayって、めちゃくちゃ便利だわー - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2012/11/21
    td { vertical-align: top; } じゃダメ? ってのは無粋なんかな…
  • 素数を感じる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    うちの子供たちの話題といえば、サッカーかお笑いばっかり。最近だと「ワンピース」が少し入るくらい。 ところが、次男が『素数ゼミの謎』というを読みだして、 素数ゼミの謎 作者: 吉村仁出版社/メーカー: 文藝春秋発売日: 2005/07/12メディア: 単行購入: 6人 クリック: 85回この商品を含むブログ (66件) を見る 次男:「おにいちゃん、素数って知ってる?」 長男:「あー? なんか、そんなん習った気もするなー」 次男:「約数って知ってる?」 長男:「なんか、あったような気もするなー」 次男:「あのね、…(説明)…」 それを聞いていて、最近話題の次のアニメーションを思い出して、iPadで見せてあげた。 Animated Factorization Diagrams - Data Pointed 予想よりずっとウケた。次男は「おーっ、素数きた!」「次くるぞ、素数うー」とか騒いでい

    素数を感じる - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2012/11/09
    「薄目で見てると、幸せな気分になる」そうかもしれない…
  • URLに関する議論 -- なぜ僕はクエリパラメータを擁護、ときに推奨するのか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    一時期(2010年の1月頃)、URLの議論をしていて、僕は拡張子を含むURLやクエリパラメータを擁護していました。 そろそろ決着、HTTPメソッド、URL、そして標準化された動詞 RESTfulなWebサイトと拡張子を含むURLについて 最近、またURLの問題を考えてみたのですが、僕が拘っているのは次の2点なのだと気付きました。 すべてのURLを列挙したい。 すべてのURLを分類したい。 すべてのURLを列挙したい あるWebサイトやWebアプリケーション(以下、総称してWebシステム)を考えたとき、有効なURLを完全に列挙したいのです。ここでの「URL」は、正確に言えばクエリパラメータを含まないパス部分のことです。もちろん、有効なURLは時々刻々と変化します。でも、ある一時点を取れば、その時点におけるURLは確定するはずです。各時点ごとのURLの集合を100%把握したいのです。 列挙する

    URLに関する議論 -- なぜ僕はクエリパラメータを擁護、ときに推奨するのか - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2012/07/02
    「列挙可能性=有限性」のないモノはURLのパス部分に入れるべきではない、という考え方。パス部分はサーバーが用意してるもの、クエリパラメーターは無限の可能性からユーザーが選択したもの?
  • Catyの特徴と機能をイメージできるようなオハナシ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    先ほど書いた記事を受けて、Catyに関する情報不足をナントカする試み。 技術的な背景や設計判断に関して述べることはいくらでもあるのですが、それ以前に、「それはなに?」「なにがうれしい?」さえも説明してない/できてないですね。 「それはなに?」「なにがうれしい?」のイメージがある程度は湧くように、次の2つのキャッチフレーズに絞って、どんなことがどのように出来るかを描き出したいと思います。 ミーティングが終わったら出来ている 作り方を作れる ミーティングが終わったら出来ている 例えば、新しいWebサービスに関してブレーンストーミングをするとか、顧客と業務システムの概要について打ち合わせをするとか、ひとしきりディスカッションをして、だいたいの合意が取れたとしましょう。「こんな感じかなー」というシステムイメージは、おおざっぱなロバストネス図として描けた、と、そうしましょう。 Catyではロバストネ

    Catyの特徴と機能をイメージできるようなオハナシ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2012/06/22
  • 悟りやヒラメキがほんとに大キライだ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ソフトウェアの設計は僕の仕事の一部なんだけど、モデリングとか高水準の設計手法とかに興味がない。いや、正確に言うと、そのテの手法とか流儀とかには、僕を苛立たせるものがあって、精神衛生のために避けている傾向があるってことです。 参照の必要があって、モデリングや設計手法の情報をWebや書籍で調べると、たいていはイライラしてきて最後まで読みきれず、腹を立てて放り投げてしまいますね。 なんでか?と言うと、僕が嫌いな「悟り」や「ヒラメキ」の要素が含まれることがあるからです。「最初は意味不明でも、我慢しているとある日わかってしまう」ような体験 -- それを想定しているような説明がほんとに嫌いなんです。「ある日わかってしまう」経験は僕にもあります。でも、それは僕の能力が足りないからです。つまり、来なら分かるはずのものが「理解力の不足ゆえに分かってなかった」という事実があるだけ、「遅れて理解した」という事

    悟りやヒラメキがほんとに大キライだ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2011/11/15
    発見とか発明のコツみたいな話だから、定式化できたらそれはもはや発見でも発明でもなくてルーチンワークになっちゃうよね。説明できないものを説明するのは詐欺だと言えるかどうか…
  • JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JSON(http://www.json.org/)データはけっこうよく使うので、何度か話題にしたことがあります(例えば「もう一度、ちゃんとJSON入門」)。でも、JSONには型情報/メタ情報が付けられないのがとても不満で、JSON改なんてもんを考えたこともありました。(後でXIONに改名) JSONデータに対するスキーマ定義の仕様がかたまりつつあることを、ごく最近になって知りました。 http://json-schema.org/ JSON体はRFC 4627になっていますが、JSONスキーマの標準化のステータスは、あまりハッキリとは分かりません(僕には)。http://groups.google.com/group/json-schema?pli=1 を覗き見した感じでは、現状ワーキングドラフトという位置付けらしいです。 なかなか面白いし役に立ちそうなので紹介します。ただし、僕にとっ

    JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2011/10/14
  • 落下する人工衛星のよけかた - 檜山正幸のキマイラ飼育記 (はてなBlog)

    これを見て、死んだ父親が言っていたことを思い出した。 父は戦争と戦闘を体験している。飛んでいる鉄砲の弾は見えるのだそうだ。黒い小さな楕円に見えるらしい。その弾が真円に見えたとき、「たぶん死ぬんだろう」と父は言っていた。

    落下する人工衛星のよけかた - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2011/09/25
    「父は戦争と戦闘を体験している。飛んでいる鉄砲の弾は見えるのだそうだ。黒い小さな楕円に見えるらしい。その弾が真円に見えたとき、「たぶん死ぬんだろう」と父は言っていた」
  • 読み方が多い漢字 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    次男:「漢字って、いろいろな読み方があるでしょう」 父親:「あるなー」 次男:「一番読み方が多い漢字ってなーんだ?」 父親:「それは君も知っている漢字?」 次男:「うん、知ってるよ」 父親:「なんだろな。あっ、『知ってるよ』のシるとか。知識のチ、名前だとトモとかカズとかも読むし」 次男:「違う」 父親:「生は? ナマ、イきもの、セイ、キとか」 次男:「違うー」 父親:「えー、なんだよー?」 次男:「『々』って字」 父親:「はっ、そっ、そうか」 次男:「前に来る字によっていろいろな読みになるでしょ」 父親:「あー、はいはい。少々、重々、程々とか」

    読み方が多い漢字 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2011/05/14
    コメント欄に「漢字」ではなく繰り返し記号ではないか、UnicodeでもCJK Symbols and Punctuationに入っている、という指摘が。
  • 目線でフォーカス切り替え - 檜山正幸のキマイラ飼育記 (はてなBlog)

    目線の移動に伴ってウィンドウのフォーカスを切り替えてくれる眼鏡デバイスがあったらいいな(もうあるかもしれないけど)。 ブラウザにフォーカスがあるのに、エディタを見てるとつい勘違いして Ctrl-N だの Ctrl-P を押してしまう。すると、新しいウィンドウや印刷ダイアログがワラワラと出現してしまい、始末が大変。

    目線でフォーカス切り替え - 檜山正幸のキマイラ飼育記 (はてなBlog)
    rna
    rna 2011/04/03
    一眼レフでフォーカスエリアの目線入力って昔あったけど今は見ないなー。銀塩時代のEOSだっけ? メガネかけてると精度落ちるとかいろいろ問題あった