タグ

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

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

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

    パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • データベースへの論理的アプローチ: NULLについてチャンと考えよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「奥野幹也『理論から学ぶデータベース実践入門』はどこがダメなのか」のなかで、ピンクで「(詳細は別途記述予定。)」と書いてあるところが6箇所あります。これらの“ピンクの宿題”を順不同で片付けていきます(全部、片付くかは不明)。 ピンクの宿題 その1 単なるベキ集合でも(ある意味)重ね合わせです。[...今回の話題に関係ないので省略...]この枠組内でNULLの意味も(ヨタ話じゃなくて)分析できます。(詳細は別途記述予定。) NULLに関する基的な事項についてゼロから考察してみます*1。予備知識として、ラーメン屋さんに行った経験を仮定しますが、その経験がなくても読めるように心がけました。この記事を読めば、NULLの使用法とダメさ加減がハッキリと分かるでしょう。 内容: NULLはダメなの? なんで?? 型と型構成子 ベキ集合の型 ラーメン屋さんの券販売機 繰り返し型と不明型 繰り返し型を禁

    データベースへの論理的アプローチ: NULLについてチャンと考えよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 奥野幹也『理論から学ぶデータベース実践入門』はどこがダメなのか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    言い訳から始めます。この記事を(途中まででも)読んだ人は、次のように言いたくなるでしょう。 『理論から学ぶデータベース実践入門』は良いなのか悪いなのか、いったいどっちなんだよ?! このは間違いや説明不足があり、誤読されやすい表現も多く、その点では残念なです。しかし、面白いアイディア、するどい観察も含まれていて、行間を補い深読みすれば、多くの示唆を得られるでもあります。 よって、「良い/悪い」の二択では答えられません。良い点と悪い点の両方を、できるだけ客観的に記述するしかないのです。それをした結果、長い記事となりました。 内容: ことの発端: zhanponさんの批判 奥野擁護と奥野批判 僕の擁護・批判の方針 zhanponさんの指摘の再検討 1. 論理的な矛盾とデータの不整合を混同している 2. 命題論理の限界についての説明がおかしい 3. 古典論理の定義を間違えている 4.

    奥野幹也『理論から学ぶデータベース実践入門』はどこがダメなのか - 檜山正幸のキマイラ飼育記 (はてなBlog)
    fumikony
    fumikony 2017/10/11
  • 無料で入手できる本格的(紙なら高額)な理数系専門書15選 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    インターネットで資料探しをしていると、出版されている書籍と同じ内容のPDFがゴロンと置いてあってビックリすることがあります。以下に挙げるのは、そのような、“出版物と同等な内容”が無料公開されている理数系専門書のリストです。 紙のとまったく同じものもありますし、ドラフト原稿が公開されているものもあります。紙のの出版後もメンテナンスされていて、インターネット版のほうがより新しくより充実していることもあります。 例えば"Monoidal Functors, Species and Hopf Algebras"は、ハードカバーは735ページで、現時点で24,650円もする大部な書籍です。公開されているPDFは書籍より増量して836ページあり、誰でも無料ダウンロード可能です。 著作権があやしいものは除外し、著者人または著者の所属組織のWebサイト、あるいはarXiv.orgで公開されているも

    無料で入手できる本格的(紙なら高額)な理数系専門書15選 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • gulp問題ひきずり:ウォッチがまたおバカ過ぎる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「最近のビルドツールって何なの?」において、gulpは「腕力はあるが知性を持たない」、ゴレライ的というかゴライアス的というか…、そんなツールだと述べました。二、三、後から思ったことがあるので追加します。 内容: プロジェクトは肥大しちゃうことがある ウォッチをいちいち手で書くのかよー OMakeと比較してみる ウォッチはこうでなきゃ じゃ、OMakeがいいのか? プロジェクトは肥大しちゃうことがある 「そもそも大した事はしないのでシンプルなツールgulpでも十分」ということなら、「そうですよね」と同意して話はオシマイです。でもね、gulpを使うプロジェクトが、ほんとに小さくて簡単なものなんでしょうか。 目の前に、10種のプログラミング言語が混じった2000ファイルのソースコード群がいきなり与えられたとき、「よしっ、gulpを使おう」とはならないと思うのですが、小さなプロジェクトが(良くも悪

    gulp問題ひきずり:ウォッチがまたおバカ過ぎる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2014初頭に書いた「WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows」の最後の文: ブランチは、Gitのなかで最も重要でありながら最も分かりにくい概念でしょう。表面的な言葉に騙されず、先入観を持たず、SourceTreeの視覚的表示(樹形図)の力を借りながら学習するのが、理解への一番の近道です。 そんへんの詳しいことはまたの機会に述べるかも知れません。 1年半以上たってしまいましたが、「またの機会」がやって来ましたよ。ええ、Gitの説明をします、ブランチを中心に詳しく。 「基礎編」と「ブランチ編」で2回に分けようかと思ったけど、長大な記事として一挙公開。これからGitを使う人が対象ではありません。Gitが何をやっているのか、自分が何をやっているのかイマイチ自信が持てない方向けです。 ブランチやマージって、なん

    もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Parse.comとMailGunを普通のWebサイトのバックエンドとして使ってみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Parse.comは、スマートフォンアプリのためのバックエンド(サーバー側システム)機能を提供するクラウド・サービスのひとつです。このてのサービスは、MBaaS(Mobile Backend as a Service; エムバース)と呼ばれているようです。MBaaSはたくさんありますねー(↓)。 BaaSはまだ戦国時代だったのか、まとめ。(執筆中) - Qiita 【開発】MBaaSについてまとめてみた(比較表あり) - NAVER まとめ Parse.comの提供する機能のなかには、普通のWebサイト/Webページでも使えるモノがあるので、「それを使ってみよう」という話です。取り上げるのはParse.comの機能の一部だけですが、詳しく説明します。メール送信を話題にするので、APIベースのメールサービスであるMailGunも使います。 内容: サーバー側機能は自分で作りたくない Pars

    Parse.comとMailGunを普通のWebサイトのバックエンドとして使ってみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 「確率変数」と言うのはやめよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    カーク・スターツ(Kirk Sturtz)という人が、なにやら圏論ベースの確率論をやっています。スターツのarXiv論文リストをたどって、アブストラクトと第1節を拾い読みしてみると、「『確率変数』という言葉は使わない」という記述がありました*1。 なるほど。共感・同意します。 謎すぎた「確率変数」 僕が確率を嫌がっていた理由のひとつは、この「確率変数」という言葉の尋常じゃない謎さかげんです。まったく意味不明で、やる気を失いました。 僕、普通の確率論なーんにも知らんわ。高校の教科書に確率もあったのですが、「確率変数」の定義があまりに意味不明で、それ以来毛嫌いしているのでした。 かなりシッカリした内容の教科書でも、「確率変数とは、値がハッキリとは決めることができない変数です」みたいな“定義”から始まります。 「確率変数」を使わないなら何と呼べばいいのか? 「可測写像」です。可測写像を定義するに

    「確率変数」と言うのはやめよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 最近のビルドツールって何なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    TypeScriptでは、コンパイルが必要です。プログラムをブラウザーとNode.jsの両方で使おうとすると、さらに加工が必要です。ミニファイだの文書も作るだのすると、ちょっとしたビルドプロセスとなるので手作業では辛くなります。 今更Makeでもないよなー、と思い、最近のビルドツールを試してみました。 内容: 流行りすたりが激しすぎる gulpを使ってみる:こんなサンプル gulpのビルドスクリプト タスクランナーってのはビルドツールとは違うのか? ビルドツールは進化したのか 参考資料: 例題のファイルとコマンドの一覧 ソースファイル 追加の話: gulp問題ひきずり:ウォッチがまたおバカ過ぎる 流行りすたりが激しすぎる 「確かGruntってツールがあったよな」と、インストールと使い方を調べていると、やたらにgulpって単語が目立つんですよね。Gruntのライバルの新興勢力らしいです。 「

    最近のビルドツールって何なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    WindowsへのCoqのインストール」: 事情があって、AgdaかCoqを触ってみようか、と。 事情というのは、個々の命題の証明(確認)は割と簡単そうだが、命題がイッパイあるのでウンザリな状況のことです。家計簿の計算が筆算だと面倒だから電卓を使いたい、という状況と同様です。 それでCoqのインストールは済んだのですが、処理系の使い方が分からない。個々の操作は覚えていけばいいのでしょうが、そもそもCoq処理系が何をするものなのか? が理解できないのです。Web上にCoqの解説は幾つもあるのですが、「いやいや、そうじゃなくて、それ以前のことがサッパリわからんのですけど」という感じ。スタートラインに立てない。 それで、「Coqの解説」じゃなくて「Coqの仕様」を読んだほうがいいのかも、と https://coq.inria.fr/distrib/current/refman/ (リファレンス

    誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    fumikony
    fumikony 2014/12/08
  • 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)
  • 1