タグ

2016年6月30日のブックマーク (10件)

  • プログラミングElixir | コンピュータ・一般書,プログラミング・開発,その他 | Ohmsha

    Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、Erlangよりもなじみやすい文法を採用したプログラミング言語です。 書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの格的解説書、“Programming Elixir 1.2” (Pragmatic Bookshelf, 2016) の日語訳です。通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。書を読むことで、Elixirらしいプログラミングを学ぶことができます。 https://www.ohmsha.co.jp/book/9784274219153/ 第1章 赤いカプセルをとれ 第I部  伝統的なプログラミング 第2章 パターンマッチ 第3章 不変性 第4章 Elixirの

    プログラミングElixir | コンピュータ・一般書,プログラミング・開発,その他 | Ohmsha
  • OAuth2 のフローを Alloy Analyzer でモデリングする - 詩と創作・思索のひろば

    趣味でウェブの認証 API を地力で設計しようとしていたときに、認証フローの仕様を頑張ってこしらえたとして、その正しさをどうやって保証するんだろう? と疑問に思い、調べていたところ、「形式手法」というのに行き当たった。 形式手法というのはシステムの正しさを上流工程から検証するための方法で、数理論理やロジックに基づいている。その中でも厳密な仕様定義を求める方向と自動検証を求める方向とあるらしいが、Alloy はその後者に位置づけられ、軽量形式手法と呼ばれるもののひとつだということらしい。Alloy はモデリングのための言語および実行環境で、以下のホームページから入手できる。 http://alloy.mit.edu/alloy/ インターネット上にチュートリアルやマニュアルもあるが、作者による教科書の邦訳が出ていて、これで勉強してみた。 抽象によるソフトウェア設計−Alloyではじめる形式手

    OAuth2 のフローを Alloy Analyzer でモデリングする - 詩と創作・思索のひろば
  • 【社内資料公開】運用手順書を作る時のポイントについて書いてみた | DevelopersIO

    はじめに こんにちは植木和樹@上越妙高オフィスです。日は私がここ10年くらい意識している運用手順書を書くときのポイントについてまとめてみました。 対象読者 開発・構築したシステムを別の人に引き継ぐ予定のある人 他の人が作ったシステムを引き継ぐ担当の人 半年後の自分でも分かる手順書の書き方に困っている人 (この記事を読むのにかかる時間の目安:5分) 1. ドキュメントの冒頭に書くこと まず個々の詳細手順の前に、ドキュメント自体について記載してもらいたいことです。 1.1. ドキュメントに書かれていることを3行で書く ドキュメントの最初には、このドキュメントに何が書かれているのかを100文字くらいで書いておくと良いでしょう。 システムが増えれば増えるほど手順書も増えていくものです。見つけたドキュメントに自分の期待するものが書かれているのか、冒頭数行でわかるようになっているとうれしいです。 1

    【社内資料公開】運用手順書を作る時のポイントについて書いてみた | DevelopersIO
  • 【6/29記事追記】公衆無線LANでは情報が筒抜け!VPNでプライバシーを守る方法について調べてみた - 物欲に負けた日

    どうも!外出時には公衆無線LANでブログ更新をしているきったんです。 自分以外にもいろんな人が接続している公衆無線LAN、いわゆる無料Wi-Fiでは自分以外に接続している人たちに通信している情報が筒抜けって知ってました!? 昨日、ドトールで無料で無線LANが使えるって記事を書いたところ、けっこう知られてないみたいで、うちのブログにしてはそこそこのアクセスを頂きました。 ただ、このサービスで提供されている公衆無線LANって、暗号化が何もなされてないとってもオープンなものなんですよね。どういうことかって言うと、同じ無線LANに接続してる人の中に悪意のある人がいて、データを盗もうと思ったら全部盗み見れちゃうってことなんですよね。 最近は公衆無線LANって町中にあってすごく便利ですよね!でも危険なんです!危険なのはわかってるんですけど、便利なんでつい使っちゃうんですよね。 そういう場合に公衆無線L

    【6/29記事追記】公衆無線LANでは情報が筒抜け!VPNでプライバシーを守る方法について調べてみた - 物欲に負けた日
  • dockerで社内用かんばん「Wekan」を導入してタスク管理した話 - Qiita

    Wekanって? オープンソースなかんばん いれるだけでチームのモチベーションが上がる(かもしれない)魔法のツール 公式サイトにサンプルがあるので触ってみるといいかも 背景 Trello使いたいけど会社が使わせてくれない それでもかんばん使いたい 今回の想定環境 OSX Windows Linux 注意すること(OSX/Win) OSXまたはWindowsDocker Toolboxを使っている場合は、 mongoDBの永続化用フォルダはVMの中にすること。 そうしないとmongoDBのコンテナが上がってこないので注意 いつものようにちゃちゃっと用意 wekan: image: mquandalle/wekan links: - wekandb environment: - MONGO_URL=mongodb://wekandb/wekan - ROOT_URL=http://{ホストO

    dockerで社内用かんばん「Wekan」を導入してタスク管理した話 - Qiita
  • 新 App Store 審査ガイドライン 翻訳&移行ガイド - Qiita

    はじめに 2010年9月から公開されてきた App Store の審査ガイドラインは、2016年6月13日付けで全面的に改訂されました。これはその審査ガイドラインの翻訳&移行ガイドになります。 従来と比べて内容面に大きな差異はありませんが、継ぎ足されてきたカテゴリ群の整理や Mac App Store との統合により、構成面は大きく変わりました。記述スタイルは will be rejected の箇条書きから説明文章の割合が増えた印象。 下記では翻訳と共に新規情報を整理していますが、大半の箇所では制約が増えたわけではなく、明記されたという認識の方が適切です。翻訳部分については意訳になるため、気になる項目は原文を参照ください。なお、当資料は iOS 執筆過程における副産物のため、iOS 以外の内容は割愛しています。 1. Safety App Store の安全性を保つために以下注意。 W

    新 App Store 審査ガイドライン 翻訳&移行ガイド - Qiita
  • 逆説のスタートアップ思考

    スタートアップを始める前に知っておくべき、スタートアップの反直観的な事柄やスタートアップの逆説についてまとめました。Paul Graham と Peter Thiel の言説を振り返りたいときにどうぞ。※ 6/30 に東京大学のアントレプレナー道場で話した内容です。 1.不合理なアイデアこそが合理的 2.良いアイデアは説明しづらい 3.難しい課題のほうが実は簡単 4.良いプロダクトの機能は少ない 5.多数のLike より少数のLove を 6.スタートアップのアイデアを考えてはいけない 7.競争は敗者の戦略—独占せよ 8.小さな市場から始める 9.スケールしないことをしよう 10.チームに多様性はいらない 11.会社化すると良くない 12.スタートアップに関する知識はいらない 13.やりたいことはやってみないと分からない +逆説のベンチャー投資Read less

    逆説のスタートアップ思考
  • 面倒くさいパーサの実装もDSLで書くだけ!そう、Scalaならね - Qiita

    この記事では、Scalaのパーサコンビネータを用いて、BNF風の定義を書くだけで、オブジェクトのマッピングからパースエラーのハンドリングまでできてしまう高機能なパーサを作る方法を解説します! パーサコンビネータとは? Scalaにはパーサコンビネータというライブラリがあります。BNFと似たの記法で構造を定義するだけで簡単にパーサを実装することができます。たとえば、□□□-□□□□のような形式の郵便番号をパースするコードは次のように書くことができます。 import scala.util.parsing.combinator._ object PostalCodeParser extends RegexParsers { def postalCode = """\d{3}""".r ~ "-" ~ """\d{4}""".r } println(PostalCodeParser.parseA

    面倒くさいパーサの実装もDSLで書くだけ!そう、Scalaならね - Qiita
  • 色々な型の値をいくつでも入れられる型安全な“HList”を実装する - Qiita

    色々な型の値をまとめて扱う際にはタプルを用いるが、Scalaのタプルは22個までしか値を入れることができない。もし23個の値を持つタプルが必要な場合は自力でそういうデータ型を作るしかない。しかし、例えば23個のタプルを作ったとしても、次に24個のタプルが欲しくなったらまた作る必要があり、これは大変なことになる。そこで、今回はこの問題を解決するためにHeterogeneous List(HList)を実装することにする。 タプルの話題をしているのに、何故リストが出てくるのかと疑問に思うかもしれない。一般にリストとはある型の要素がいくつか入っているデータ構造であるが、HListは色々な型の要素を投入することができ、かつ値がいくつ入っているのかを管理しているデータ構造である。このようなHListはもはやタプルと同じように扱うことができる。 アイディア まず普通のリストについて考える。普通のリスト

    色々な型の値をいくつでも入れられる型安全な“HList”を実装する - Qiita
  • (あどてく!) PlayFramework/Scalaで3rd Party Cookieを出力するピクセルトラッキングサーバーを作る - Qiita

    1st Party Cookieで代表的なのはGoogleAnalytics(GA)です。 参考:http://nexal.jp/blogs/2061.html 3rdPartyにはSafariをトラッキングできないという致命的な欠陥(※)がありそれを回避するには1stParyCookieが有効です。(他にもローカルストレージをモニョモニョする・・などもありますが) (※)Safariのデフォルトの設定が「3rd Party Cookieを拒否する」となっているため事実上3rdのCookieを受け付けない。 ピクセルトラッキングとは 1x1の透明画像(だいたいはgif)をレスポンスとして返す裏でCookieを仕込み、Cookieにユーザーを特定するIDを付与する技術の事。 透明なのでブラウザからは見えない、というかほとんどはhtmlでhidden設定されてるのでブラウザには表示されない。

    (あどてく!) PlayFramework/Scalaで3rd Party Cookieを出力するピクセルトラッキングサーバーを作る - Qiita