タグ

masatoiのブックマーク (1,103)

  • Common LispでOpenID Connect - Qiita

    これはLisp Advent Calendar 2016の7日目の記事です。 どうも。 1日目の記事が好評だったようで嬉しいです。 今回はブログの方に書こうと思ったんですが、カレンダーの記事はQiitaに書くことにしました。 それと12日目はライブラリ紹介になりそうです。お楽しみに。 では題に入って行きましょう。 OpenID Connectはご存知でしょうか? ざっくり言えば、OAuthの上位互換の認証方式です。 最近の外部認証方式ではこれが一番安全らしいです(あまり詳しく無いので自信はない)。 これを使うと、いちいち会員登録しなくてもWebサービスなどにSNS(Twitterとか)のアカウントでログイン出来るようになります。 メールアドレス以外に個人情報を必要とするサービスの場合はさらに手続きがあったりしますが…。 今回はこれのクライアント側実装をCommon Lispでやってみまし

    Common LispでOpenID Connect - Qiita
    masatoi
    masatoi 2018/03/18
  • GitHub - ruricolist/cl-feedparser: Common Lisp feed parser

    masatoi
    masatoi 2018/03/18
    手元で試したところ普通にRSS1.0/RSS2.0/Atomのフィードをパースできているように見える。Quicklispで入るし使えそう
  • http://localhost:5000/

    masatoi
    masatoi 2018/03/16
    Common Lispのフレームワークclackもこれなんだよね
  • 新春 Emacsゆるふわコーデ大会(仮) - Qiita

    参考:Pixiv ...流石に自虐が過ぎました. とはいえ, 見た目のインパクトはAtomの圧勝です. ちょっと古いバージョンの画像を持ってきたのは不公平な気もしますが, たぶんどう見積もっても負けてます. そんな中, Emacs界に超新星が爆誕しました. イケメン『Spacemacs』顕る ざっくり言うとSpacemacsは「Emacs + Vim = 最強」という理念のもと生まれたプロジェクトです. こちらの記事が詳しいです: Vimも秘伝のタレも飲み込むEmacsの超強力ディストリビューションSpacemacsまとめ どれだけ便利かということはとりあえず置いておいて... Spacemacs from Github イケメンの息吹を放ち, 圧倒的な説得力を携えています. 「EmacsかVimはじめてみたい」という方には是非是非おすすめしたいです. Emacs + Vimが基調ではあり

    新春 Emacsゆるふわコーデ大会(仮) - Qiita
    masatoi
    masatoi 2018/03/15
    powerlineを入れてSpacemacsのようなイケメンモードラインにするだけであなたのクソダサ骨董品化石エディタがナウでヤングなモダンエディタに!
  • Clojureの思い出 - yasuhisa's blog

    ふと思い立ったので、記憶から忘却される前に書いてみようと思います。もう2年くらい書いてないけど、4年ほど仕事で使っていました。その期間はコード書くときはほとんどClojureだったので、まあまあヘビーに使っていたと思います。 前提 Clojureを使うようになったきっかけ ここがよかった、Clojure Immutableな世界 リスト系関数の充実 困ったときにはJavaに逃げられる マクロ Deployが容易 並列処理が容易 ClojureScript面白い ここが辛いよ、Clojure コード上で型が分からない パフォーマンスチューニング ちょっとしたcliアプリが書きにくい 再帰をよく使う 前提 メリット/デメリットはコンテキストによるだろうと思うので、どんな感じで使ってたかを書いておきます。 機械学習/自然言語処理の研究開発用途 最近だとPython一択になりつつありますが、数年前

    Clojureの思い出 - yasuhisa's blog
    masatoi
    masatoi 2018/03/15
  • Clojure - clojure.spec - 論理的根拠と概要

    Clojureは動的言語だ。何よりこれは型アノテーションがコードの実行に必要とされないことを意味する。Clojureは型ヒントをいくらかサポートしているが、型ヒントは強制のメカニズムではなく、網羅的でもなく、効率的なコード生成を支援するためコンパイラに情報を伝えることに限定されている。ClojureはJVM自身による豊富な型に対する実行時チェックの恩恵を受けている。 しかし、情報をデータとしてシンプルに表現することが常にコミュニティで広く評価され実践されてきたClojureの指針だった。したがって、Clojureシステムの重要なプロパティはデータの形状やその他の述語的なプロパティによって表現され伝達され、実行時の型は区別の付かない異種の型が混在するマップやベクターであるため、それ以外で捕捉されたりチェックされたりすることはない。 ドキュメンテーション文字列は人間の利用者とのコミュニケーショ

    masatoi
    masatoi 2018/03/14
    今日の #clj_nakano でclojure.specの話があるそうなので予習
  • The Animated Guide to Paredit

    Paredit is great, it brings structural editing to lisps, maintaining the syntactical correctness of your code. I’ve been a fan for a long time, but still was only using a small subset of the functionality available, even afer spending time reading the manual and paper printing out cheat sheets. Lately I decided to work deliberately with Paredit and really understand it, and now I mostly do. Here i

    The Animated Guide to Paredit
    masatoi
    masatoi 2018/03/13
    Pareditのアニメーションでの解説なんだけど、超!スタイリッシュ!!
  • python vs hylang ~コード編集のしやすさ編~ - Qiita

    はじめに 最近、hylangを早いところ流行らせてこれで仕事しても怒られない雰囲気を作りたいと思っています。 altjsならぬaltpythonくらいのノリでhylangが受け入れられてほしいものです。 さて、今回は言語仕様がどうだとかいう話ではなく、hylangのpythonに対する単純なアドバンテージの話をしたいと思います。 というのも、 hylangはpythonにくらべて編集しやすいです。 カッコがあるからマクロが書けるんだ!同図像性が!みたいな話をするより、わかりやすいと思います。ただ単に編集しやすいんです。 「またうるさいlisperが同図像性の話ししてる。。。」ってなった人は帰ってもらって結構です。 さて、編集しやすい理由は簡単です。コードに一定の規則でカッコ(構造)があるからエディタがコードをパースして入力をアシストできるからです。 どういうことか、実例で見ていきましょう。

    python vs hylang ~コード編集のしやすさ編~ - Qiita
    masatoi
    masatoi 2018/03/13
    hylang、っていうかlisp系言語に共通する圧倒的編集のしやすさ。
  • チャットボットのための収益化プラットフォーム Cashbot.ai

    こんにちは、荒井(@yutakarai)です。 海外のスタートアップの事例を通して、新しいビジネスアイデアのきっかけや、ビジネスのヒントを得ようという主旨で、毎回気になった海外スタートアップを紹介しています。 今回紹介するのは、AIビジネスの事例で、「Cashbot.ai」というサービスです。 チャットボットに組み込むことで収益を得ることができる、という収益化プラットフォームです。 Cashbot.aiは、アメリカ、カリフォルニアのスタートアップサービスです。 現在ベータ版のリリースになっていて、無料で利用することができます。今後についても、有料にするというようなことはHPに記載がないので、おそらく、無料のまま正式リリースされるんではないかと思います。 日国内でも、AIビジネスが盛り上がっていますが、なかでもチャットボットのサービスがたくさん出てきています。なかには「チャットボットの開発

    チャットボットのための収益化プラットフォーム Cashbot.ai
    masatoi
    masatoi 2018/03/13
  • カプセルネットワークはニューラルネットワークを超えるか。 - Qiita

    先日、こんな記事が上がっていました。 グーグルの天才AI研究者、ニューラルネットワークを超える「カプセルネットワーク」を発表 中々刺激的なタイトルですね。 ニューラルネットワークといえば、近年の機械学習分野を支える最も大きな技術の一つであると言えます。そんなニューラルネットワークを超えたカプセルネットワークとは一体何なのでしょうか。また、当にニューラルネットワークを超えたのでしょうか。 記事では、カプセルネットワークの仕組みを理解することで、従来のニューラルネットワークとの違いを比較していきます。 CNN カプセルネットワークに触れるにあたり、まず畳み込みニューラルネットワーク(Convolutional Neural Network; CNN)について理解しなければなりません。なぜなら、カプセルネットワークは、CNNをベースとして、CNNの欠点を克服するために生まれたモデルだからです

    カプセルネットワークはニューラルネットワークを超えるか。 - Qiita
    masatoi
    masatoi 2018/03/13
    カプセルネットワークってこれかー
  • Linuxで音がなる仕組み – Linux & DTM

    これからLinuxDTMをやってみようと思っている人、まずはこの記事を読んでほしい。稿で記載する内容を完璧とまでは言わないが、なんとなくくらいは理解しておかないと、多分、DAWを入れてみたものの音が出ないとか、そもそもアプリが起動しない等のトラブルにほぼ確実に出くわす。 うるせー!とにかくはやくLinuxのDAWとかシンセ触ってみたいんだよぉお! と言いたい気持ちもわかる。ボクもそうだった。でもそれはかえって遠回りになりかねない。まずは落ち着いてLinuxの音周りの仕組みを知っておこうね。 目次 Linuxサウンドシステムの中枢的存在、ALSA サウンドサーバーの存在 PulseAudio JACK Audio Connection Kit サウンドサーバーが複数あることによって起こる弊害 さいごに Linuxサウンドシステムの中枢的存在、ALSA アプリケーションの音が、どのようにし

    masatoi
    masatoi 2018/03/09
    Overtoneを使ってみようと思ったらJACKが起動してないからダメと言われて、JACKとはなんぞやということで辿り着いた記事
  • ロジバンでPrologプログラミングしてみた! - Qiita

    ロジバンの紹介 今回発表する言語はロジバンという言語です。 聞いたことがないかもしれないので、まずはその紹介からです。 ロジバンというのは、元々、基的に人間が話すために作られた人工の言語です。 最初はサピア=ウォーフの仮説という言語学上の問題を検証するために作られた言語ですが、元々言語学者が作った下敷きからスタートしているので、色々と面白い性質があります。 例えば下の様な感じです。 音中心で設計されていて、同音異義語が原理上存在しない 文法が厳格に決められていて、構造に曖昧さが表れない 一階述語論理をベースに組み立てられている 文化非依存 この様な性質を持っていることから、ロジバンで話しかけたり、書かれたりした文は、命題としてプログラムが実行可能という性質を持っています。 特に日語や英語では根に持っている構造的な曖昧さが発生しないというのが大きくて、日語では解析不可能な長文でもプロ

    ロジバンでPrologプログラミングしてみた! - Qiita
    masatoi
    masatoi 2018/03/08
    とても面白い。ロジバン勉強したくなる
  • LINE Game Cloudの例に見る関数型言語の特徴 - LINE ENGINEERING

    ! This post is also available in the following languages. 英語, 韓国語 By Bu Sung Kim, Jae Ho Lee | 2018.03.05 2021.01.08Busung Kim:LINEでGame Promotion Platformの開発を行っています。プログラミング言語に大変興味があり、最近、Kotlinの勉強を始めました。 Jaeho Lee:LINEでGame Tech PMを務めています。最近はJavascriptに関心があります。 こんにちは。LINEゲームプラットフォーム開発を担当しているジュニア開発者のBusung Kim、Jaeho Leeです。LINE Game Cloudが関数型プログラミング言語の一つであるClojureで実装されているのを見て、関数型言語に興味を持つようになりました。

    LINE Game Cloudの例に見る関数型言語の特徴 - LINE ENGINEERING
    masatoi
    masatoi 2018/03/05
    Clojure使われてるなー
  • GP code on Github

    masatoi
    masatoi 2018/03/03
    おお、型付き遺伝的プログラミング(STGP)のCommon Lisp実装がある。試してみたい
  • What is Gradual Typing: 漸進的型付けとは何か - Qiita

    稿は Python に型アノテーションを追加するという PEP 483 - The Theory of Type Hinting の提案で参照されている Jeremy Siek (@jeremysiek) 氏と Walid Taha 氏が開発した漸進的型付けについての入門記事の翻訳です。 What is Gradual Typing Python 3.5 で導入された型アノテーションについて興味がある方は以下を参考にしてください。 Python と型ヒント (Type Hints) と #pyconjp [翻訳] PEP 0484 -- 型ヒント (Type Hints) Revenge of the Types: 型の復讐 私自身、型システムに明るくないため、一部未訳の部分があったり、勘違いや誤訳もあると思います。そういった誤りを見つけたら編集リクエストを送ってもらえると助かります。

    What is Gradual Typing: 漸進的型付けとは何か - Qiita
    masatoi
    masatoi 2018/03/02
    Common Lispも漸進的型付けといえるのだろうか
  • Technical Issues of Separation in Function Cells and Value Cells

     Technical Issues of Separation in Function Cells and Value Cells This paper appears in Lisp and Symbolic Computation, Volume 1, No. 1, June 1988, pp81-101. The substance of the original text appears in normal fonting, though a small number of out-and-out typos were corrected. Oddities of spelling that were the custom of the time (either generally, or just for me) were left alone. Some formatting

    masatoi
    masatoi 2018/03/01
  • LISPMEMO

    Common Lisp による日常作業 CSV ファイルを読む (read-line, read-line-into, simple-stream-read-line とか) 以前のエントリ CSV ファイルを読むコード で、ちょろっと いかにも Scheme なコードなのでループと状態マシンに書き直すとかの高速化の余地がありますね。 今迄ちっこいファイルしか読んでなかったので、ちょっとメモリ使用量が多いなー。 まぁ、Gauche と違って immutable な文字列じゃないんで共有とかできないから効率わるいんじゃろ。 などと目を背けていたのですが、ある程度の規模の CSV を読んだら途端に性能問題が。うがぁ。 簡単に体感できる量だと 20MB 程度のデータを読み書きしてみればわかります。 (use text.csv) (length (call-with-input-file "KEN

    masatoi
    masatoi 2018/02/25
    ステートマシンのCSVリーダの実装があって非常に勉強になる
  • 6. LuaJIT、Lisp、Forth、PostScript、メタオブジェクトプロトコル、勉強に良いソースコード

    Miuraさんと一緒にいろいろなスクリプト言語の実装や言語そのものなどについて話をしました。出演者: Miura Hideki (@miura1729)、Rui Ueyama (@rui314) https://turingcomplete.fm/6 ハッシュタグは#tcfmです。 TCFMはサポーターの投げ銭によって収益を上げています。このコンテンツに課金してもいいよという方はぜひクリエイター支援サイトPatreonから登録してご協力ください。 LuaとLuaJIT (0:00) 例外のABI (8:25) SQLiteとライセンス (12:45) ファイルシステムとデータベース (16:23) XLISPで言語の書き方を学んだ (19:15) C++の後方互換性とトライグラフ (21:55) Common Lispのメタオブジェクトプロトコル (26:18) Gauche Scheme

    6. LuaJIT、Lisp、Forth、PostScript、メタオブジェクトプロトコル、勉強に良いソースコード
    masatoi
    masatoi 2018/02/20
    MOP!
  • さらばpython、ようこそhylang - Qiita

    はじめに 皆さん、python書いてますか? なんだか最近は機械学習やらなにやらで当然pythonでやっているよね?という空気が皆さんの職場にも暗黙のうちにあると思います。 こういった職場環境は自分のような肩身の狭い隠れlisperにとってみれば、ハラスメントと言っても過言ではありません。 確かにnumpy, pandas, matplotlib, scipy, tensorflowといろいろ便利なものがpythonにはあります。 だけどやっぱりおもちゃはおもちゃです。妙なスコープ、貧弱な構文でたくさん頑張るマゾ言語としか思えません。 どうにかして、甘い蜜(資産)だけ吸いながら脱出したいとずっと思っていました。 そこで、hylangです。 lispっぽいpythonです。リッチではないですが、十分なマクロがあります。 lispでマクロがあるなら、形はどうにでもできます。(やっていいかは別と

    さらばpython、ようこそhylang - Qiita
    masatoi
    masatoi 2018/02/11
    つよさを感じる
  • let-plus: 汎用束縛系マクロ|独学 Common Lisp

    masatoi
    masatoi 2018/02/07
    let-plusって知らなかったけどmetabang-bindみたいなものか