タグ

2017年12月21日のブックマーク (30件)

  • Haskellへの巡礼

    C++の入門書を書くという目的のため、C++を一旦離れてHaskellを学ぶことにしてはや三日目。初日は環境構築で潰れ、二日目はリストを学ぶだけで終わった。 Haskellのリストは、単に順序のある値の集合だけではなく、[1..10]のように規則的な数列を作り出す機能も持っている。またList comprehensionsといって、リストからリストを生成する機能もある。 二日目はリスト処理を学ぶだけでだいぶ疲れた。何も難しいことをしている実感はないのだが、全く馴染みのない新しい概念を学ぶということはかくもつらく苦しいものだとは、久しく忘れていた。馴染みのない新しいことを学ぶのはつかれるということは覚えておかなければならない。 そして三日目はtupleを学んだ。 List comprehensionsはなかなか興味深い機能で、質的にループであり、imperative languageでルー

  • primitiv-rustでディープラーニングする - Qiita

    記事はRust Advent Calendar 2017の12月21日の記事です。 RustでディープラーニングしたくてRustでディープラーニングできるようにしたので紹介します。 はじめに 昨今ディープラーニングのフレームワークが勃興し高機能化が進む一方で、Theanoのように一時代を築いたフレームワークの開発停止がアナウンスされるなど1、移り変わりが激しい状況です。 多くのフレームワークはPythonで開発、あるいは公式にPython APIの提供をしており、機械学習・ディープラーニングのライブラリはPythonを中心に利用できるようになっているのですが、諸々の事情でPythonでもなくC++でもなくRustでディープラーニングがしたいというニーズがあるかと思います。 ディープラーニング in Rust 私の知る限りではRust界隈のディープラーニングのフレームワーク事情は以下のとお

    primitiv-rustでディープラーニングする - Qiita
  • RubyでTraceMatchingを実装した話 - Qiita

    これは Ruby Advent Calendar 2017 20日目の記事です。少し遅れてすみませんでした。 はじめに Trace Matchingというものをご存知でしょうか? Trace Matchingとは平たく言うとプログラムの実行時にある操作に対してフックを仕掛け(シンボルという)、シンボルの履歴に対してマッチングをするものです。 これだけだと伝わりにくいと思うので以下の例を用いて説明します。tracematchはJava向けのAspectJの拡張なのでJavaコードで説明します。 tracematch() { sym f before: call(* f(..)); sym g before: call(* g(..)); f g { System.out.println("fg!"); } } これは、以下を満たすtracematchです。 fというメソッドが呼ばれる時( j

    RubyでTraceMatchingを実装した話 - Qiita
    igrep
    igrep 2017/12/21
    prependを使えばなんちゃって実装が作れそうだけど、それより確実なのかなぁ。
  • delegateを使って、別クラスへの切り出し - Qiita

    Railsのリファクタリングの際に、クラスを細かく分ける手段として、Railsのdelegateを使ってみました。 直しづらい、クラスの長さ プロジェクトRubocopを入れて、ヤバそうなコードをチェックしているのですが、書式の問題はものによっては自動解決も可能ですし、長すぎるメソッドも、どうにか分けられるものです。 一方で、「長すぎるクラス」というのは、そう簡単に分割できるものではありません。クラスは最終的に1つものとして動作させることになるので、メソッドみたいに「一部切り出す」というのが、あまりスッキリしません。 Moduleは使える、けど もちろん、一部を別なモジュールに分けてincludeする、という手段はあります。 Railsのモデルではhas_manyとかvalidatesとか、DSL的なメソッドを多用しますが、これに関しては「クラスに直接書く」あるいは「Concernのin

    delegateを使って、別クラスへの切り出し - Qiita
  • GitHub - ktonon/elm-serverless: Maintained at: https://github.com/the-sett/elm-serverless

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ktonon/elm-serverless: Maintained at: https://github.com/the-sett/elm-serverless
  • Serverless Framework × AWS Lambda で始めるサーバサイド Elm - Qiita

    はじめに この記事は、クライアントサイドの実装に特化した言語仕様、アーキテクチャを持っているElmであえてサーバサイド実装をしてみたまとめの記事になります。インフラのことは考えずサーバレスで作っていきたいのでAWS LambdaとServerless Frameworkを使ってみました。かなり荒削りなので質問があればコメント欄、もしくはTwitterで気軽にお声がけいただけるとうれしいです。 なぜElmでサーバサイド? モチベーションは非常にシンプルです。フロントエンドとバックエンドの両方でElmが使える、それに尽きます。メリットとしては以下が考えられると思います。 モデルの構造(データ型)に差異が出ない APIのインターフェースの定義をフロントエンド側からも参照できる 全てがElmである(?) 登場人物

    Serverless Framework × AWS Lambda で始めるサーバサイド Elm - Qiita
    igrep
    igrep 2017/12/21
    elm-serverlessすばらしそう。
  • neovimのリモートプラグイン開発入門してみた - Qiita

    最近は仕事でcmakeを扱うことが多いので、neovimプラグインの開発を勉強しながら、neovimからcmakeを扱いやすくするプラグインを作ってみたいと思います。 今回作ったもののリポジトリはこちら 環境 mac nvim 0.2.0 python3 準備 プラグインの管理はShougoさんのdein.vimを使用します。 インストール方法はググると大量に出てくるのでそちらを参考に。 目標は tomlに記述してdeinでpluginをインストールできるようにする neovim上からcmakeを実行してMakefileを生成する neovim上からcmake .. && make を実行してバイナリを生成する という感じにしたいと思います。 どうやって開発してんの的なのはあまり書いてる人がいないので、効率の良い方法があればコメントください。 gitリポジトリを作る プラグインのgitリポ

    neovimのリモートプラグイン開発入門してみた - Qiita
    igrep
    igrep 2017/12/21
  • 一攫千金プログラミングpaizajackを自動化して1位を目指す - Qiita

    はじめに この記事は Ruby Advent Calendar 2017 21日目の記事です。 paizajackというゲームで1位を取るために、Rubyを使って自動化したので、そのことについて書いていこうと思います。 この自動化ツールは以下のGitHubページに公開していますので、気になる方は参照ください。 https://github.com/TomoProg/paizajack-automation それでは頑張っていきましょう。 paizajackって何さ? ITエンジニアのための転職サービスサイト Paiza が提供しているサービスでブラックジャックを対戦するコードを書いて億万長者を目指そうというゲームです。 https://paiza.jp/paizajack BETする処理や山札からもう一枚引くといった処理を追加しながら運営側が用意したディーラーとブラックジャックで対戦してい

    一攫千金プログラミングpaizajackを自動化して1位を目指す - Qiita
  • Chromium を支える技術 - 開発インフラツアー

    Chromium を支える技術 開発インフラツアー riesz@ Chromium の開発は多くのインフラに支えられています。Chromium Browser Advent Calendar 2017 21日目の今回はそれらを巡るツアーにご案内しようと思います。 Google Docs が重い場合は軽量版をご覧ください。 (参加を表明してから Jun Mukai 氏による 2012 年の記事と書きたいことが結構かぶっていることに気づきましたが、5年で変化したところも多いのでリスペクトしつつ投稿させていただきます) 目次 バージョン管理 コードの閲覧・検索 コーディングスタイル...

    Chromium を支える技術 - 開発インフラツアー
  • git sparse checkout で clone せずに一部のサブディレクトリだけを pull/checkout する

    Git は大変便利なのですが、 clone では基的にすべてのディレクトリが同期されます。 不要なものを削除すればそれはそれで変更として追跡されてしまうので、一部のディレクトリだけを取得したい場合は sparse-checkout というテクニックを使います。 一旦 clone しない sparse checkout Git 特定のフォルダのみcloneする - Qiita 先人の情報によれば「とりあえず普通に clone する」という例が多いのですが、ファイル数が多い場合など、すべてを clone したくない場合もあります。 そのような場合は下記のようにして sparse checkout を有効にします。 空の Git リポジトリとして初期化 sparsecheckout を有効にする リモートリポジトリの URL を origin として登録 チェックアウトする対象のディレクトリを

    git sparse checkout で clone せずに一部のサブディレクトリだけを pull/checkout する
    igrep
    igrep 2017/12/21
    でかすぎるリポジトリー対策として有効かも。
  • GitHub - jurliyuuri/OS: 悠里世界のOSのエミュレータ作ろうぜという計画

  • Kotlinの型を知る ~前編~

    はじめに この記事は Kotlin Advent Calendar 21日目の記事です。 Kotlin Advent Calendarは3年連続3回目の参加になります。 今年はGoogle I/OでKotlinAndroidに正式採用されて、酉年の2017年はKotlin🐤にとっても飛躍の年になりました! 11月にはサンフランシスコにてKotlin Confが開催され、更なる盛り上がりを見せています! また、レビュアーという形ですがKotlin In Actionの翻訳に携わりKotlinの盛り上げに少しばかりは貢献できたのではないかと思います。 記事ではそのKotlin In Actionの著者の1人であるSvetlana Isakova氏のKotlin Confでのセッション 「Kotlin Types: Exposed」の内容と、Kotlin In Actionの6章の内容を元

    Kotlinの型を知る ~前編~
    igrep
    igrep 2017/12/21
    揚げ足をとるとまだこれからのことなのに「絶後」と言っては悲しいのでは。
  • NIKKEI STYLEは次のステージに

    キャリア、転職、人材育成のヒントを提供してきた「リスキリング」チャンネルは新生「NIKKEIリスキリング」としてスタート。 ビジネスパーソンのためのファッション情報を集めた「Men’s Fashion」チャンネルは「THE NIKKEI MAGAZINE」デジタル版に進化しました。 その他のチャンネルはお休みし、公開コンテンツのほとんどは「日経電子版」ならびに課題解決型サイト「日経BizGate」で引き続きご覧いただけます。

    NIKKEI STYLEは次のステージに
    igrep
    igrep 2017/12/21
    "銘柄を売買する際の手数料や外貨建て資産の保管費用などがかかるの。これらを合計した「実質コスト」で見ると、信託報酬の水準を大きく上回ることも"
  • Relocatable GHC Cross Compiler Binary Distributions

    TLDR: Watch the videos at the end of this article and grab your cross compilers from http://hackage.mobilehaskell.org It’s been a while since the GHC Cross Compiler Binary Distributions post. A primary issue was installation. Specifically the ./configure and make install logic that is part of GHCs binary distributions. This is necessary for GHC to install properly and setup the settings file, whic

    igrep
    igrep 2017/12/21
  • 5分で絶対に分かるOpenFlow

    仮想化技術やクラウドの登場によって、これまでの静的なネットワークの在り方が根から見直されつつあります。稿では、SDN(Software-Defined Networking)を実現するための標準の1つである「OpenFlow」について解説します。 (6/6)

    5分で絶対に分かるOpenFlow
  • 5分で絶対に分かるOpenFlow

    仮想化技術やクラウドの登場によって、これまでの静的なネットワークの在り方が根から見直されつつあります。稿では、SDN(Software-Defined Networking)を実現するための標準の1つである「OpenFlow」について解説します。 (5/6)

    5分で絶対に分かるOpenFlow
  • 5分で絶対に分かるOpenFlow

    仮想化技術やクラウドの登場によって、これまでの静的なネットワークの在り方が根から見直されつつあります。稿では、SDN(Software-Defined Networking)を実現するための標準の1つである「OpenFlow」について解説します。 (4/6)

    5分で絶対に分かるOpenFlow
  • 5分で絶対に分かるOpenFlow

    仮想化技術やクラウドの登場によって、これまでの静的なネットワークの在り方が根から見直されつつあります。稿では、SDN(Software-Defined Networking)を実現するための標準の1つである「OpenFlow」について解説します。 (3/6)

    5分で絶対に分かるOpenFlow
  • 5分で絶対に分かるOpenFlow

    仮想化技術やクラウドの登場によって、これまでの静的なネットワークの在り方が根から見直されつつあります。稿では、SDN(Software-Defined Networking)を実現するための標準の1つである「OpenFlow」について解説します。 (2/6)

    5分で絶対に分かるOpenFlow
  • 5分で絶対に分かるOpenFlow

    0分 - ソフトウェアでネットワークをプログラミング! 今までコンピュータのネットワークは、どちらかといえば“静的な”存在でした。組織変更や新しいサービスの投入に合わせてネットワーク構成の変更が必要な場合には、ネットワーク管理者が関連する機器それぞれの設定変更をマニュアル操作で行っていました。 しかし、サーバ仮想化やクラウドの登場により、現在はこうした静的なネットワークの在り方が根から見直されてきています。 例えば、サーバ仮想化のおかげで、何台ものサーバが突如としてネットワーク上に現れたり、「ライブマイグレーション」によって、突然サーバがネットワークのある部分から別の部分へ移動したりといったことが起きるようになりました。ネットワークも、これらに適応した柔軟かつ迅速な構成変更が求められるようになっています。 あるいは、クラウドの登場によって、1つのデータセンター内で複数の顧客の通信をそれぞ

    5分で絶対に分かるOpenFlow
  • インターネット10分講座:BGP

    ▼BGPの拡張 BGP4は元々、IPv4アドレスの経路制御のために利用する経路制御プロトコルとして設計されました。しかし、IPv4アドレスだけではなく、IPv6アドレスやマルチキャストアドレス、MPLS(Multi Protocol Label Switching)のラベルなど、さまざまなプロトコルの経路制御に対応すべく、拡張が加えられ続けています。代表的なRFCにRFC2545「Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing」、RFC2858「Multiprotocol Extensions for BGP-4」などが存在します。これらの拡張をまとめてBGP4+やMBGPと称する場合があります。 ▼BGPを用いた経路制御の実際 BGPを用いた経路制御では、AS番号とIPアドレスの割り当てを受けた後、上

    igrep
    igrep 2017/12/21
    “BGPは自由度が高く、運用される現場でも高い信頼性を求められることが多い経路制御プロトコルです。そのため ...「壊して覚える」ということが非常に難しい”
  • 5分でわかる、これまでのSDN動向 - Qiita

    この記事は、武蔵野 Advent Calendar 2017 の14日目の記事です。 昨今のSDNブームに便乗して、これまでのSDN動向をまとめてみました。 @hichiharaさんの「SDN 温故知新」のSDN続編として、お楽しみください。 あくまでも、私のこれまでの経験(主観)に基づいた回顧録なので、「あの技術が入っていないんだけど!」とか、多々、コメントがあるかもしれませんが、何卒、ご容赦お願いします。 m(_ _)m ペコリ ■ SDN黎明期 この時期から、ICT業界では、OpenFlowなる技術が、注目されるようになりました。 当時は、"SDN/OpenFlow"という用語ばかりが先行し、具体的な実装ユースケースにお目にかかることができず、情報収集に苦労した思い出があります。 (1) OpenFlowのブーム到来 [2011年頃 〜] □ 当時の回顧録 OpenFlowの情報収

    5分でわかる、これまでのSDN動向 - Qiita
  • 地域越え電力融通 東京・関西・中部・北陸4社 【イブニングスクープ】 - 日本経済新聞

    東京電力ホールディングス、関西電力、中部電力、北陸電力の電力大手4社は送配電事業で連携する。予備の電力を相互に融通し、太陽光や風力など天候に左右される再生可能エネルギーの発電量の急変に備える体制を築く。2020年度の実施を目指す。電力自由化により、発電や小売りではすでに大手の地域独占が崩れているが、需給を調整する送配電でも地域割りの脱却に踏み出す。4社は21日までに連携で大筋合意した。18年初

    地域越え電力融通 東京・関西・中部・北陸4社 【イブニングスクープ】 - 日本経済新聞
  • Cloud Native Computing Foundation

    MAKE CLOUD NATIVE UBIQUITOUS CNCF is the open source, vendor-neutral hub of cloud native computing, hosting projects like Kubernetes and Prometheus to make cloud native universal and sustainable.

    Cloud Native Computing Foundation
  • 美術の人が考える Haskell - Qiita

    sketchで作成しました。 普段日銭を稼ぐためwebデザインをしておりますが業は油絵です。 Haskell初心者なので間違っている部分があるかもしれません。 数学的なこと・エンジニア的な部分は当に難しく、単語ひとつ理解するのに非常に時間がかかります。 アーティストとエンジニアは似ている部分が数多く見受けられます。 美しいものを大切にする気持ちがとても強いところ。 何度も試行錯誤を繰り返し、形を研ぎ澄ましていくところ。 世の中の「既存」から外れた部分に価値を見出すところ。 これからも、Haskellをゆっくりとですが気長に勉強していきたいと思います。 美術もHaskellも、どちらも美しいです。 以上で 美術の人が考えるHaskell を終わります。

    美術の人が考える Haskell - Qiita
    igrep
    igrep 2017/12/21
    カッコいい
  • 代表取締役会長の異動(退任)に関するお知らせ | 株式会社ドワンゴ

    株式会社ドワンゴ 株式会社ドワンゴ(社:東京都中央区 代表取締役社長:荒木 隆司)は、当社の代表取締役会長である川上量生が、2017年12月21日(木)に行われた取締役会をもって、株式会社ドワンゴの代表取締役会長を退任することとなりましたので、下記の通りお知らせいたします。 退任の理由 川上は、1997年8月に株式会社ドワンゴを設立し代表取締役社長に就任、2000年9月からは同社の代表取締役会長としてグループの運営を担ってまいりました。その間、AIに代表されるように過去に類を見ないスピードで技術革新が進んでいく中、IT(web事業)を事業の柱の一つに据える当社として、技術力の向上という経営上の最重要課題にいかに取り組むかということを考え続けておりました。そして今、川上がグループにおいて果たすべき役割というものを考えたときに、新技術の開発に、より集中することがグループの価値を極大化できると

    代表取締役会長の異動(退任)に関するお知らせ | 株式会社ドワンゴ
  • ブロックチェーンとスマートコントラクトで、抽選の公正性を証明する - Qiita

    ※抽選券払い出しは所定の枚数(1000枚)で一巡し、別ユニットで再度1番目から発行されるようにする ※1ユニット1000枚払い出されていない場合は、販売分の賞金を獲得比率で掛けた分の賞金を得る 検証環境 Ethereum Geth 1.5.5 Solidity 0.4.19 Truffle 4.0.3 実行フロー 抽選ロジックをブロックチェーンに載せ公開する 以下の機能を備える 抽選券を払い出す機能 保有する抽選券番号を確認する機能 当選券を決定する機能(乱数生成) 当選券を保有するアカウントに賞金を送付する機能 当選券を決定するロジックを検証する機能 抽選券の募集 販売価格 1 枚 3 Ether ユニットごと 発行枚数 1,000 枚 売上総額 3,000 Ether 賞金 1等 1,050 Ether、2等3等・・以下略 総額 1,500 Ether 応募者からの申し込み(購入) ト

    ブロックチェーンとスマートコントラクトで、抽選の公正性を証明する - Qiita
    igrep
    igrep 2017/12/21
    "宿命的に信頼を得ることが難しく、かつ公平公正であることがビジネス上重要な領域(カジノあるいはカジノ業者のような)では、ブロックチェーンを利用するメリットが大きいかもしれません"
  • にこ、希と一緒に学ぶHaskell(番外)「あまり知られていないGHC拡張の紹介」 - Qiita

    この記事はブログ版の引用です。 ブログ版では、一部のスタイルが装飾されている。 もしくはQiita版では崩れているスタイルが正しく表示されます。 また、ブログ版の内容は優先して修正され、Qiita版の内容は古い場合があります。 この記事はHaskell (その3) Advent Calendar 2017の 21日目の記事です! この記事にはSS表現、ラブライブが含まれます。 これらが苦手な方はブラウザバックを推奨します。 記事一覧 - ことり、穂乃果と一緒に学ぶHaskell(入門) 記事一覧 - にこ、希と一緒に学ぶHaskell(番外) 更新履歴 - μ'sと一緒に学ぶHaskell 前回の型ライブ! 放課後、部室に集まって、よく知られたGHC拡張について語り合う にこっち と うち。 希「GHC拡張っていっぱいあるんやね!」 にこ「Haskell reportに『実験的な機能を取り

    にこ、希と一緒に学ぶHaskell(番外)「あまり知られていないGHC拡張の紹介」 - Qiita
    igrep
    igrep 2017/12/21
    ConstrainedClassMethods知らなかった。
  • キューの効率的な実装 または私は如何にしてHaskellを止めてF#を愛するようになったか - Qiita

    この記事は F# Advent Calendar 2017 と Haskell (その2) Advent Calendar 2017 のために書かれています。 はじめに 最近『純粋関数型データ構造』の勉強会に参加していて、いろいろと学ぶことが多かったので、その一端でも残しておこうと思いました。 一言で言うと、『純粋関数型データ構造で効率を追求するなら遅延評価と正格評価の両方が必要』だという話です。 あらためて kinabaさんの有名なスライド を読んだら、ぜんぶ書いてあったので、そちらを理解している方は読む必要ありません。 私はネタとしては知っていましたが、今回を読んで初めて内容を理解しました。 キューと償却計算量 キューってありますよね。 末尾に要素を追加したり(snoc)、先頭の要素を取り出したり(head、tail)できるデータ構造です。 純粋関数型で(破壊的更新なく)実装する場合

    キューの効率的な実装 または私は如何にしてHaskellを止めてF#を愛するようになったか - Qiita
  • 「tar」「curl」がWindows 10に、“WSL”も強化 ~Insider Preview Build 17063/LinuxのパスをWindows風のパスへ変換する“wslpath”ツールやUnixソケット対応も注目

    「tar」「curl」がWindows 10に、“WSL”も強化 ~Insider Preview Build 17063/LinuxのパスをWindows風のパスへ変換する“wslpath”ツールやUnixソケット対応も注目
    igrep
    igrep 2017/12/21
    ちゃくちゃくとMSYS2なしでできることが増えているようだ。