タグ

2018年2月12日のブックマーク (50件)

  • GitHub - NervJS/nerv: A blazing fast React alternative, compatible with IE8 and React 16.

    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 - NervJS/nerv: A blazing fast React alternative, compatible with IE8 and React 16.
  • 非可述多相に触れる: GHC の ImpredicativeTypes 拡張 - Qiita

    data Maybe a = Nothing | Just a -- Maybe Int や Maybe String, Maybe (Maybe Bool) などが使える double :: (a -> a) -> a -> a double f x = f (f x) -- double :: (Int -> Int) -> Int -> Int や double :: (String -> String) -> String -> String として使える forall を含む型 上記の double 関数の型における a は型変数で、任意の型を動くことができます。forall キーワードを使ってこのことを明示すると forall a. (a -> a) -> a -> a となります。(forall キーワードの利用には ExplicitForAll 拡張が必要です) さて、通常

    非可述多相に触れる: GHC の ImpredicativeTypes 拡張 - Qiita
  • チャットワークのID生成器 - Chatwork Creator's Note

    2018/3/18 追記 TISさんのreactive system meetupで発表する機会をいただきました。ありがとうございます。発表資料をリンクしておきます。 Distributed ID generator in ChatWork from TanUkkii 18桁になったメッセージID 2017年5月28日をもってチャットワークのメッセージIDは10桁から18桁になりました。みなさんお気づきでしたか? これはメッセージリンクを取得してみることで確認できます。 それまでは32bitでかつ連番のIDでした。今は64bitになり、また単調増加性だけを保証し、連番ではなくなっています。 この記事では新メッセージIDとそれを発行するシステムについて記述します。 枯渇しそうだったメッセージID チャットワークのメッセージ数は2017年3月時点で18億を突破しました。 lp.chatwork

  • 素晴らしき HLint を使いこなす

    Posted on January 29, 2018 authored by Shinya Yamaguchi はじめに HLint は haskell-src-exts を使って実装されている静的解析ツールです。 HLint を使えば github などを使って PR ベースで開発する場合のコードレビューでこんな事を言わなくて済みます。 fromJust とかの部分関数は使わないで! maybe 関数って知ってる? この言語拡張って当に使ってるの? undefined まだ残ってるじゃん! 嬉しいことに Travis CI や CircleCI などで一度設定するだけなので導入もお手軽です! また、最近知ったのですが、プロジェクト内で使って欲しくない関数なども HLint によって検出可能です。 さらに、独学で Haskell の学習を進めている人は HLint が素晴らしい教師役とな

  • Airframe: Lightweight Building Blocks for Scala

    AirframeはScalaでアプリケーションを作る際に便利な「道具」をオープンソースにしたものです。2016年から開始して少しずつ現在の形に整理し、簡単なプログラムを作るときはもちろん、現在ではTreasure Data社内でより複雑なScalaアプリケーションを構築する際に欠かせない構成要素(building block)となっています。 Airframeを開発したきっかけは、Google Guiceなど既存のDependency Injection(DI)ライブラリがScalaで使いにくいという理由からでした。Dependency injectionとはオブジェクトの構築をコード中に手書きで行うのではなくDIフレームワークに任せることで、プログラマの手間を省き、モジュールの切り替えを容易にするための仕組みです。しかし、Google Guiceを使ったとしてもオブジェクトのライフサイク

    Airframe: Lightweight Building Blocks for Scala
  • Slinky - Write React apps in Scala just like ES6

    Just like ES6Slinky has a strong focus on mirroring the ES6 API. This means that any documentation or examples for ES6 React can be easily applied to your Scala code. There are no new patterns involved with using Slinky. Just write React apps like you would in any other language! Complete InteropSlinky provides straightforward APIs for using external components. Simply define the component's prope

  • Wizardモノイドとその仕組み - Qiita

    main :: IO () main = do -- 最初に全ての情報を入力してもらう putStrLn "名前は?" name <- getLine putStrLn "年齢は?" age <- getLine -- 最後に全てのアクションを実行する putStrLn ("名前: " ++ name) putStrLn ("年齢: " ++ age) この短いプログラムには 名前を聞いて最後に名前を表示する 年齢を聞いて最後に年齢を表示する という明らかなパターンがありますが、それぞれの「聞く」と「表示する」が入れ子になっているせいでうまく分割できません。そこで登場するのがWizardモノイドです。Wizardモノイドを使うと以下のように書けます。 import Data.Monoid ((<>)) name :: IO (IO ()) name = do putStrLn "名前は?"

    Wizardモノイドとその仕組み - Qiita
  • HAMT ~ イミュータブルで高速なハッシュマップ ~ | κeenのHappy Hacκing Blog

    社内勉強会「AdTech Scala Meetup」でのLT大会の資料です。

  • hashdos脆弱性とunordered-containers - Haskell-jp

    HashMap・HashSetの利用時は注意!Posted by Yuji Yamamoto(@igrep) on January 21, 2018Tags: Security あらゆるソフトウェアに脆弱性は存在し得ます。 Haskellは高度な型システムを駆使することで、脆弱性を根的に回避したプログラムを作ることを可能にします(脆弱性を防ぐためだけのものではないですが、興味のある人はSafe Haskellについても調べてみるといいでしょう)。 しかし、だからといって、型を設計する段階で脆弱性を回避できるよう気をつけなければいけないことには変わりませんし、GHCが生成した実行ファイル、使用するライブラリーに絶対に脆弱性がないとは言えません。 現状、Haskellはほかの著名なプログラミング言語ほど使用されていないためか、あまり脆弱性が報告されることはありません(libcなど、ほかの言語

    hashdos脆弱性とunordered-containers - Haskell-jp
  • RustにおけるfutureとgRPC | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) 記事は、Tang Liu(tl@pingcap.com)が「Bay Area Rust Meetup August 2017」で行った講演内容をまとめたものです。 動画はこちらからご覧いただけます 。 講演者の自己紹介 非同期プログラミング なぜ同期にしないのか なぜ非同期にするのか コールバック地獄 コルーチンで簡単に書く もう1つの方法、future Rustにおけるfuture Futures コンビネータ 同期 Stream Sink Task gRPC なぜgRPCを使うのか HTTP/2 gRPCのベースはHTTP/2 futureとgRPCを組み合わせる C gRPCのキーワード 疑似フロー 単一通信 クライアントストリーミング サーバストリーミング 双方向ストリーミング 単一通信fu

    RustにおけるfutureとgRPC | POSTD
  • DRCSのSixel拡張について - Qiita

    はじめに Sixel Graphicsを活用したアプリケーションの御紹介を書いてからもう3年も経ってしまいましたが,この間,端末エミュレータで画像を表示するということ自体は,普通のこととして定着してきたのではないかと思います。 ただ,コンソールアプリケーションにおいて,Sixel Graphicsの利用が進んでいるかというと,まだハードルは高いかもしれません。 Sixel Graphicsは,コンソールで扱いやすいテキスト形式のフォーマットではあるものの,基的には,JPEGやPNGと同様のピクセル単位の画像フォーマットであることには変わりなく,キャラクターベースの処理を前提とするコンソールアプリケーションにとって,必ずしも扱いやすいものではありません。 こうした問題に対する一つの解として,@kefirさんのVimで画像を見る(DRCSのSIXEL拡張の話)に書かれているように,RLogi

    DRCSのSixel拡張について - Qiita
  • Sixel Graphicsを活用したアプリケーションの御紹介 - Qiita

    はじめに 主要な端末エミュレータでSixel Graphicsへの対応が進むとともに,libsixelの登場によって画像をSixel Graphicsに変換する基盤が整ったことにより,画像や動画を表示するコンソールアプリケーションも徐々に増えてきました。 アイコンなどの画像表示はもちろん,端末エミュレータ上で動くX Serverまで登場し,VT240でモノクロSixel Graphicsが登場したときには想像もしなかったであろう用途にまで,その応用範囲は広がっています。 稿では,Sixel Graphicsを活用した様々なアプリケーションやライブラリについて,若干の背景等も含めて紹介したいと思います。 (以下のスクリーンショットは,大半を http://github.com/saitoha/libsixel/ から借用させていただいております。) 必要なもの Sixel Graphics

    Sixel Graphicsを活用したアプリケーションの御紹介 - Qiita
  • Emacs で時の流れを感じる - Qiita

    なにをやったの ふらっと外に出てみたらちょうど空が夕焼けていて「ずいぶん日が短くなってきたなあ」とか、あるいは夜、なんとなく空を見上げてみたら綺麗な満月で「もうひと月たったか」とか、そんな、ふと時の流れを感じる瞬間が僕は好きです。 が、社会人になってから、退社したら外はもう夜、という日がほとんどになって、そんな瞬間を感じることが減ってしまったなあとふと思いました。 そんなわけで、その時刻の空の色(イメージ)、月齢、天気を反映した時計ウィジェットを作ってみました。モードラインなどに置いておくと、ふと目をやったときに、ちょっとほっこりできるかもしれません。 スクリーンショット モードラインに設置 色のサンプル インストール GitHub: https://github.com/zk-phi/sky-color-clock load-path の通ったディレクトリにダウンロード (clone)、

    Emacs で時の流れを感じる - Qiita
  • GitHub - jmacdonald/amp: A complete text editor for your terminal.

    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 - jmacdonald/amp: A complete text editor for your terminal.
  • GitHub - redox-os/sodium: Mirror of https://gitlab.redox-os.org/redox-os/sodium

    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 - redox-os/sodium: Mirror of https://gitlab.redox-os.org/redox-os/sodium
  • SA-IS 法のメモ - まめめも

    suffix array を線形時間で構築する SA-IS 法についてのメモです。 SA-IS 法の解説はわりと世の中にいっぱいありますが、実際のプログラムにする方法がよくわからなったり、どうしてそれでうまく行くのか書かれてなくて気持ち悪かったりするものが多くて、自分の望む感じのものがありませんでした。アルゴリズムは当然プログラムで見たいし、厳密な証明は要らないけど直観的な理由は知りたい。 ということで、自分なりの理解を書いてみました。 suffix array とは 文字列の suffix とは、文字列の途中から最後までの部分文字列のことです。題材の文字列を "mmiissiissiippii" とすると、次の 17 個の部分文字列です。 0 mmiissiissiippii$ 1 miissiissiippii$ 2 iissiissiippii$ 3 issiissiippii$ 4

    SA-IS 法のメモ - まめめも
  • 安定化間近!Rustのimpl Traitを今こそ理解する - 簡潔なQ

    概要: impl Trait が安定化間近である。これはトレイトオブジェクトと似た用途を持つが、静的ディスパッチされSizedのまま使えるため効率的である。 impl Trait が安定化間近 Rustでは新規の機能はまずnightlyバージョンに「不安定機能 (unstable feature)」として取り入れられます。そこでの実験を経て、プログラミング言語Rustに半恒久的に導入してもよいと合意されたものだけが「安定化 (stabilize)」され、betaやstableバージョンのコンパイラでも使用できるようになります。 さて、現在 「impl Trait」と呼ばれる機能の安定化のめどがたったというアナウンスがありました。この機能は2016年夏ごろに実装され、長い間待ち望まれてきた目玉機能のひとつでしたが、ここにきてようやっと、という感じです。そこで、 impl Trait について

    安定化間近!Rustのimpl Traitを今こそ理解する - 簡潔なQ
    emonkak
    emonkak 2018/02/12
  • 改めましてRocksDBさん | κeenのHappy Hacκing Blog

    κeenです。寝れない。前回のエントリでRocksDBのことを勘違いしていたようだったので改めてRocksDBについて書きます。 個人的理解をメモした雑多な記述です。 LSM-Tree まず、私は勝手にRocksDBはロックフリーなスキップリストを使って並列性能をあげたDBだと思ってたんですが間違ってました。 使っているのはLog-Structured_Merge-Treeのようです。 Log Structured File Systemに名前が似てるな〜思ったらやはりそこ由来のデータ構造のようです。 ファイルシステムも一貫性が必要なKVSですからまあ、参考になりますよね。 LSM-Treeについては元論文の他このスライドが多少参考になります。 重要なのは 削除や更新は論理操作。ストレージのデータは基はイミュータブル メモリのデータとストレージのデータ2つ合わせて完全 読み取りはメモリと

    改めましてRocksDBさん | κeenのHappy Hacκing Blog
  • RPCに特化したGoogleのセキュリティ通信ALTSとは何か - ぼちぼち日記

    はじめに 昨年、Googleから Google Cloud Platform に関するWhitePaperがいくつか公開されました。その中でGoogleのサービス内部で使われている新しいALTSというプロトコルを説明した文書「Application Layer Transport Security」は、読んでみると非常に面白く、セキュアなサービス間通信には当に何が必要なのか、といったことを改めて深く考えさせられるものでした。物理的なマシンからサービス運用まで、ALTSがカバーする範囲は幅広い領域に渡り、あの巨大なGoogleのサービスをよくここまでまとめ上げたものだとホント感心させられます。 以前から、Googleはデータセンタ内のサービス通信までも暗号化を進めていると言われていました。それは、2013年にエドワード・スノーデンが暴露した資料が、Googleのデータセンタ内部の通信データ

    RPCに特化したGoogleのセキュリティ通信ALTSとは何か - ぼちぼち日記
  • 「イミュータブル」って多義的だよね | κeenのHappy Hacκing Blog

    κeenです。「XX言語はデフォルトイミュータブルだ」とか「この機能を使うとイミュータブルになる」とかのもの、よく混乱が見受けられますよね。 ユーザの勘違いもありますし言語毎に指しているものが違ったりするので整理してみます シャドーイング イミュータブルなはずなのに変数が上書きできてしまう、あれ?というやつです。 以下のようなClojureのコードを考えます。 馴れてないと(どちらかというと束縛と代入を一緒くたにする言語に毒されてると)「xに2回代入しようとしてるからエラーになるか2回目は無視されて1のままのはず」と考えてしまいます。 しかし実際の実行結果はエラーにはならず、 1 2 と更新されています。 これは先述のとおり束縛と(再)代入を混同していると起きる勘違いです。 (def x 2)はもともとあったxという変数を上書きしているわけではなく、xとは別の新しい変数xを作っているだけで

    「イミュータブル」って多義的だよね | κeenのHappy Hacκing Blog
    emonkak
    emonkak 2018/02/12
  • ActivityPubの概要 - Qiita

    この記事はドワンゴ Advent Calendar 2017、Mastodon Advent Calendar 2017の三日目の記事です。 当は「で、結局Mastodonって何だったの?」をアドベントカレンダーに載せたかったのですが、先に公開してしまったものを載せても仕方がないので軽くMastodonの連合の仕組みを説明したいと思います。 ActivityPub: Mastodonの連合を支えるプロトコル 前述のとおり、Mastodonの最大の特徴は連合です。連合とは、Mastodonインスタンスという敷居を跨いだユーザー同士のやりとりを可能にする仕組みのことです。 Mastodonインスタンス同士はOStatusやActivityPubといった特定のプロトコルを介してつながっています。 Mastodonは、バージョン1.6以前はOStatusと呼ばれるGNU social互換のプロト

    ActivityPubの概要 - Qiita
  • エンジニアの働き方とかについてのエモい記事 | κeenのHappy Hacκing Blog

    κeenです。 非エンジニアのマネージャがエンジニアチームと上手くやる方法の記事に影響を受けてエンジニアとしての意見を書いてみようかなと。 非エンジニア向けのつもりです。 ここでいうエンジニアはソフトウェアエンジニアのことです。 Disclaimer ある程度客観的になるように気をつけてますがあくまで私個人の意見です。エンジニアを代表するようなものではありません。 κeenはまだエンジニア3年目くらいの若造なのて「それは違うんじゃねーの」と思ったところがあったら多分あなたが正しいです。 仕事内容 エンジニア仕事は外から見たら何してるかよくわからないらしいですね。 ふつう仕事の成果物はエンジニアの間でしか共有してないのでまあ、そうなるでしょう。 なので「何をしているか」を説明するのはやめて「仕事しているときにどんな気持ちか」を話しましょう。 エンジニア仕事は頭脳労働です。 それも問題解決

    エンジニアの働き方とかについてのエモい記事 | κeenのHappy Hacκing Blog
  • NonNull安定化記念にInternerを書いてみる - 簡潔なQ

    概要: NonNullが安定化され、1.25.0から使えるようになる。そこでNonNullの利用例としてInternerを実装してみた。 NonNull とは NonNull はRustにある生ポインタ型のひとつです。元々 Unique, Shared という2つの生ポインタ型でしたが、安定化を機に統合・仕様変更が行われ、 NonNull という名前になりました。 (Unique は libcore 内部には残っていますが、安定化の予定はなくなりました。) 予定通りに進めば、 Rust 1.25.0 から使えるようになるはずです。 Rustのポインタ関連型は仕様の微妙な違いを意識して使い分ける必要があります。以下にそれを列挙しました。 分類 エイリアス 変性 所有 非0 Send Sync &T 参照 なし※1 共変 × ○ 継承※2 継承 &mut T 参照 なし 非変 × ○ 継承 継

    NonNull安定化記念にInternerを書いてみる - 簡潔なQ
    emonkak
    emonkak 2018/02/12
  • 🐟日本語入力の落とし穴 #burikaigi - みずぴー日記

    BuriKaigi2018で発表した。 入力メソッドについてのテキストを書いてる途中なので、それを流用する目論見だったが、まったく別のものになった。 🎤原稿 あいさつ このセッションはJava+αだと聞いてるので、+α部分の寛容さに賭けて日本語入力の話をする。 日語を受け取るアプリケーションがおちいりがちな落とし穴についての話をするので、テキスト入力を受けつけるアプリケーションを作るときとかに役に立つと嬉しく思う。 会社の紹介 ボクはMisocaという請求書を管理するWebサービスを作っている会社に勤めている。 日本語入力の重要性 Misocaの開発には、様々なサービス・ソフトウェアを使っている。RubyRailsSlackGithubなどは使っている会社も多いと思う。 この図には記載されていないが日本語入力の使用頻度も極めて高い。 アンケート さて、ここでちょっとアンケートを取

    🐟日本語入力の落とし穴 #burikaigi - みずぴー日記
    emonkak
    emonkak 2018/02/12
  • 「労働者側の裁量で深夜労働もできる勤務体系」をまじめに考えるとクッソ大変な話 - terurouメモ

    これを読んだ。 tech.grooves.com 就業規則おじさん枠として、「労働者側の裁量で深夜労働もできる勤務体系」について言及しようと思う。労働法のエキスパートではないので、実際に検討をする場合は社労士と相談が必須。 お前誰よ 過去にこんなことをした。 terurou.hateblo.jp 業ではないので労働法のエキスパートではないが、 自分で就業規則をゼロから書き起こした零細企業実務者 就業規則は執筆中~施行前まで社労士チェックが何度も行われている みなさんが期待する裁量労働制・なんでもありフレックスタイムを気で検討したが、制度設計・運用がともに無理だと思ったので断念した という前置きで。 蛇足だが、就業規則をGitHubをした影響で業の社労士さんからコメントを頂くことがチョイチョイあるが、「ちょっと気になるところがあるけど、大体こんなところだよね」という評価である。 元記事

    「労働者側の裁量で深夜労働もできる勤務体系」をまじめに考えるとクッソ大変な話 - terurouメモ
    emonkak
    emonkak 2018/02/12
  • Form で submit されたデータの収集と FormData & URLSearchParams | blog.jxck.io

    Intro <form> の onsubmit をフックして、入力された値を <input> から集めて送るといった処理はよくある。 このとき、 submit されたデータの収拾方法はいくつかある。 submit に限らず、そのイベントに付随する情報は、基的にイベントオブジェクトに内包されている。 Form を例に、イベントオブジェクトを意識したコーディングについて解説する。 Form Submit Form が Submit されたことをフックして、処理を挟む場面はよくある。 HTML がこうであった場合。 <form id=login action=/login method=post> <fieldset form=login> <legend>Login</legend> <label for=username>Username</label> <input type=text

    Form で submit されたデータの収集と FormData & URLSearchParams | blog.jxck.io
  • Bookmarklet という一番身近な自動化技術 | blog.jxck.io

    Intro 「毎回やるなら bookmarklet にでもすれば?」と言ったら、後輩が「そんな便利なことできたんですね、知りませんでした」と言っていた。 そんな時代にこそ、今更だれも解説しないであろう、 bookmarklet という技術についてもう一度書いておく。 Bookmarklet 簡単に言えば、 JS を書き、それを Bookmark として登録すれば、クリックするだけで現在のページでそれが動くというものだ。 ブラウザ上で何かを自動化したいと思うなら、最も簡単に実現できる便利な技術だろう。 似たような手法ではブラウザの Extension などもあるが、 Bookmarklet の良いところは一切誰にも邪魔されないというところだ。 開発者登録も、ストアへのアップロードも、難解なドキュメントを忖度して煩雑な設定ファイルを書く必要もない。 開発者ツールで、「こんなことできないかな」と

    Bookmarklet という一番身近な自動化技術 | blog.jxck.io
  • Apple の AOM 加盟と AV1 への期待 | blog.jxck.io

    Intro Apple が Alliance for Open Media に加盟したという報道があった。 もし、このまま Safari が AV1 をサポートするまで至れば、 WebRTC のコーデック戦争に一旦の落ち着きが出ると思われる。 Apple joins alliance to shrink your online videos - CNET この動向について解説する。 WebRTC Codec WAR WebRTC によって、動画/音声をやり取りする際に、ブラウザはどのコーデックをサポートするべきかという問題があった。 特に動画については以下のような要件が求められる パテントフリー 圧縮効率率/計算速度 etc ハードウェアエンコーダサポート 普及率 パフォーマンス要件は確かに無視できないが、 Web において最も重要なのはやはりパテントの問題である。 そこで、パテントフリー

    Apple の AOM 加盟と AV1 への期待 | blog.jxck.io
  • Safari による User-Agent 固定化と Web における Feature Detection | blog.jxck.io

    Update 2018/3/1 : Safari 11.0.3 の UA を追記 2018/4/16: Safari 11.1 の UA を追記 2018/5/1 : OS のバージョンは固定されなくなった件を追記 2 月に方針が変更され、 OS のバージョンは固定されなくなった。 このため、 iOS のバージョンアップにより発生するバグなどを回避する道は残されたことになる。 一方 Webkit のバージョンは(予定では 605.1.15 に)固定されることになりそうだ。詳細は、以下を参照。 Safari の UA 文字列が固定されて固定されなくなったおはなし - fragmentary Intro 少し前に Safari Technology Preview 46 がリリースされた。 Service Worker のアナウンスに目がそちらに盗まれている一方、しれっと以下の一文がある。 F

    Safari による User-Agent 固定化と Web における Feature Detection | blog.jxck.io
  • Jestなどを使わずにスナップショットテストを書く

    次のようなテストコードを書きます。(これはMochaを使っていますが大体どんなテストフレームワークでも同じことが出来ます。) 次のスナップショットでは、transformというJSONを入力に受け取り、JSONを出力する関数をテストしています。 snapshot-test.js: const fs = require("fs"); const path = require("path"); const assert = require("assert"); const fixturesDir = path.join(__dirname, "snapshots"); // transform function const transform = require("../transform"); describe("Snapshot testing", () => { fs.readdirSy

    Jestなどを使わずにスナップショットテストを書く
  • CoinCheckとNemの騒動から暗号通貨について思うこと

    何から語ろうか。まずCoinCheckにしよう。CoinCheckという暗号通貨の取引所が、NEMを大量に盗まれたという事件だ。私の法と技術の理解では、盗むというのは物理的な物が伴うので映画泥棒という言葉が法的に正しくないのと同様に違うのではないかと思うんだが、まあそこは置いておこう。ここでは単に悪意としておく。 これについて、自分のNEMが悪意されたのでCoinCheckに金を返せと叫んでいる人間のほとんどは、そもそも筋が悪い。もし、Bitcoinが花開いた暗号通貨が技術的に正しく運用されていたならば、そんなことは起こりようがなかったのだ。つまり、しっかり自分の手元の信頼できる環境でフルノードを実行し、物理的なコンピューターの前には武装した警備員を配備するべきだったのだ。自分でフルノードの実行もせずに、秘密鍵すらCoinCheckに知らせ、やれ盗まれたのなくなったのというのは、紙に印刷し

  • 年収1200万円と2億の資産でできる贅沢はパトロネージュ

    以下のはてな匿名ダイアリーの記事が注目を集めている。 贅沢な生活って何が楽しいの?(追記しました 独身34歳男、年収900万+配当収入300万くらい。 贅沢の良さがわからない。 家は相続で貰ったので家賃無し。金融資産は相続したものと合わせて2億を超えた。 生活費は月に12万くらい。配当込みで年間800万以上金が増えていく。 別に金を使うのが嫌いなわけではない。ただ、使う気がおきない。 この増田は1200万円の年収と2億の資産を保有している。増田が過去に行った贅沢は以下の通り。 飛行機のファーストクラス(100万円) ホテルのスイートルーム(100万円) オーダーメイドのスーツ(50万円) 懐石料理(20万円) ステーキ(10万円) これらの贅沢がありきたりでつまらないのは当然だ。なぜならば、これらの贅沢には、何も1200万円の年収と2億円の資産は必要ないからだ。ただ100万円を貯金して一度

    emonkak
    emonkak 2018/02/12
  • Firefox QuantumのOff Main Thread Painting(OMTP)とRetained Display Listsについて - Mozilla Flux

    Windows版Firefox 58でOMTPが有効化 Firefox 58ではWindows版に限って、以前紹介したOff Main Thread Painting(OMTP)と呼ばれる機能が有効化されている(Bug 1403935)。このOMTPに対し、画像処理に関するものだという誤解が一部にあるようなので、その誤解を解いておきたい。 まずはGeckoのグラフィックス・パイプラインのおさらいから。Geckoでは、DOMツリー → フレームツリー → ディスプレイリスト → レイヤーツリーの順に処理が流れていき、最後にcompositorがレイヤーツリーを合成する。今回取り上げるのは、「ディスプレイリスト → レイヤーツリー」の処理の部分だ。 Geckoのグラフィックス・パイプライン Off-Main-Thread Painting – Mozilla Gfx Team Blogによれば

    Firefox QuantumのOff Main Thread Painting(OMTP)とRetained Display Listsについて - Mozilla Flux
  • Vim script で Chrome Debugging Protocol を扱うライブラリを作りたい - Humanity

    github.com タイトルの通りなのですが、Chrome Debugging Protocol (以下 CDP) を扱うためには、 CDP は WebSocket ベースなので WebSocket を実装しなきゃならない バイト列をパースする際にヌルバイトを Vim では扱えない となって悩んでいます。 ヌルバイトを扱う部分は Python/Ruby/Lua インターフェースを使ったり、外部コマンドでやったりと策がないわけではないのですが、 どうせなら Vim で扱う方法を考えてみようというわけです。 CDP を実装しようとしたきっかけ Chrome を (CDP が許す限り) 意のままに操ることができるからです。 まだ CDP をざっくりとしか調べてないのであまり風呂敷を広げすぎるのもアレかと思うのですが、 大体こんな事ができるんじゃないかと思っています。 できるか分からない部分に関

    Vim script で Chrome Debugging Protocol を扱うライブラリを作りたい - Humanity
    emonkak
    emonkak 2018/02/12
  • 最近の Vim で入った面白 Vim script 関数 - Humanity

    :h eval.txt を眺めてたら結構色々関数追加されてるなーと思ったのでまとめてみた。 (追記: 結構古くからある関数も交じってた…) 基的に詳細な仕様は書くつもりはありません (古くなるかもしれないし help 見た方が正確)。 wordcount() g<C-g> を押すと現在のバッファのバイト数、文字数、単語数 (ビジュアルモードの時は選択されたバイト数、文字数、単語数も) を表示してくれますが、それを関数で取れるようにしたやつです getcharsearch() [tfTF] コマンド (例: f<char>) の情報を返してくれるやつです どの char を押したか、前方検索 or 後方検索、[tT] か [fF] かを返してくれます 要するに直前に [tfTF] コマンドのどれを使ったか、引数の char は何なのかの情報 eventhandler() イベントハンドラ中

    最近の Vim で入った面白 Vim script 関数 - Humanity
    emonkak
    emonkak 2018/02/12
  • The wizard monoid

    Recent versions of GHC 8.0 provides a Monoid instance for IO and this post gives a motivating example for why this instance is useful by building combinable "wizard"s. Wizards I'll define a "wizard" as a program that prompts a user "up front" for multiple inputs and then performs several actions after all input has been collected. Here is an example of a simple wizard: main :: IO () main = do -- F

  • Pythonアプリの起動を高速化する : DSAS開発者の部屋

    pipenv 9.0.2 のリリースでCLIの大幅な高速化をしたというアナウンスを見かけました。 Just released Pipenv v9.0.2, which includes massive CLI speedups! https://t.co/AGD8Hkq1EG — Kenneth Reitz 🐍 (@kennethreitz) 2018年1月16日 興味を持ってすぐに試してみたのですが、あまり速く感じられませんでした。そこで Python 3.7 の新機能を使って速度を調査することにしました。 この記事ではその新機能と実際の使い方を紹介します。 起動時間 ≒ import時間 pipenv -h のようなコマンドの実行時間は、実際にヘルプメッセージを表示するための時間よりもずっと長くなります。 アプリケーションが起動するときには、設定ファイルの読み込みなど一定の処理が必要

    Pythonアプリの起動を高速化する : DSAS開発者の部屋
  • 最近のPython-dev(2018-01) : DSAS開発者の部屋

    バックナンバー: 2017: 12月号 | 9月号 | 8月号 | 6月号 | 5月号 | 4月号 | 3月号 | 2月号 | 1月号 Python 3.7b1 が29日の予定です。問題なければ日時間の今日中に出るはずですが、buildbotやTravisが不安定なので少し遅れるかもしれません。これで feature freeze なので新機能追加やパフォーマンス向上などは基的に終わりです。 beta 前の駆け込みで、先月号で紹介したAcceptされたPEPを実装する大型コミットがたくさんマージされました。(間に合わなかったものは無いはず。たぶん。) 今回は私が関係していたところを中心に紹介していきます。 dict の順序の言語仕様化 Python 3.6 から dict が挿入順序を保存するようになりましたが、この挙動は実装詳細であり、まだ言語仕様ではありませんでした。そのため、他の

    最近のPython-dev(2018-01) : DSAS開発者の部屋
  • Re: Configuring sql.DB for Better Performance : DSAS開発者の部屋

    Configuring sql.DB for Better Performance という記事を知りました。 コネクションプールの大きさを制御する3つの設定を丁寧に解説されたとても良い記事です。 しかし、この記事で推奨されている設定については同意することができません。私が推奨する設定とその理由を解説していきたいと思います。 Limit ConnMaxLifetime instead of MaxIdleConns Allowing just 1 idle connection to be retained and reused makes a massive difference to this particular benchmark — it cuts the average runtime by about 8 times and reduces memory usage by ab

    Re: Configuring sql.DB for Better Performance : DSAS開発者の部屋
  • DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together

    This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve learned about Software Architecture, how I think of it, and how I use that knowledge. The contents of this post might make more sense if you read the previous posts in this series. After graduating from University I followed a career as a high school teacher un

    DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
  • 「事故物件住みます芸人」が見た壮絶な現場

    テレビのワイドショーやネットニュースなどで時折話題になるのが凄惨な殺人事件だ。屋外や公共的な場所で犯行がなされるケースもあるが、個人の住宅で起きることも多い。厚生労働省と警察庁の調べによれば、年間の自殺者数は2万人を超える。その中には自宅で自ら命を絶つ人もいる。高齢者をはじめとする孤独死も社会的な問題になっている。 そんな殺人や自殺、孤独死などが賃貸住宅で起きると、そこは「事故物件」と呼ばれる。一般的な感覚の人なら、なるべくなら事故物件には住みたくないと思うだろう。だから事故物件は家賃が割り引かれているケースもある。家賃が安くなるのはわかりやすいメリットだが、デメリットは「なんだか気持ちが悪い」という心理的なものだけなのだろうか? 事故物件に5軒連続で渡り住んでいる、松竹芸能所属の芸人、松原タニシさん(35歳)に話を聞いた。 住むと気が変になってしまうアパート 松原タニシさんがそもそも事故

    「事故物件住みます芸人」が見た壮絶な現場
    emonkak
    emonkak 2018/02/12
  • Modern CSS Explained For Dinosaurs

    Images from Dinosaur Comics by Ryan North CSS is strangely considered both one of the easiest and one of the hardest languages to learn as a web developer. It’s certainly easy enough to get started with it — you define style properties and values to apply to specific elements, and…that’s pretty much all you need to get going! However, it gets tangled and complicated to organize CSS in a meaningful

    emonkak
    emonkak 2018/02/12
  • あなたはこうやってラーメン店に失敗する

    ∞∞ 思いっきりネガティブ ∞∞ 私はラーメン店を開業し廃業した体験談をHP上にて公開しています。HP上で私はラーメン店を開業することを勧めていません。それは安易な脱サラは失敗する確率が高いと考えているからです。しかし、私の思いとは反対に私の体験談を反面教師として実際にラーメン店を開業した方もいらっしゃいます。実は、私はその方を尊敬しています。失敗した例を知りながら挑戦する勇気に対してです。 私は考えました。失敗に至る例をもっと紹介しよう! と。 より多くの失敗事例を知ったのちに開業に踏み切るなら失敗する確率はもっと低くなるはずです。 書は私が見聞きした事例を参考に、読者のみなさんにわかりやすいように具体的に話を展開しています。とくに後半は物語ふうに書きました。一般の人は売り上げ不振で廃業することは想像できると思います。しかしそれ以外の理由で廃業してしまう例もたくさんあります。書では売

  • 「メンヘラ」という言葉はどう変化してきたか。精神科医が解説(熊代 亨) @gendai_biz

    2010年頃から2ちゃんねるを中心に広まりはじめた造語「メンヘラ」。ニコニコ動画やTwitterなどでも散見されるこの「ネット俗語」が生まれたことには、どういった社会的背景があるのか。精神科医の熊代亨氏が考察する。 メンヘラの誕生 皆さんは「メンヘラ」という言葉をご存知でしょうか。 なんらかの精神疾患を抱えている人や、抱えていると思われる人は、インターネットの俗語でひとまとめにメンヘラと呼ばれています。 メンヘラは特定の精神疾患を指しているわけではなく、ニュアンスのあいまいな言葉です。 一応、境界性パーソナリティ障害がそれに近いとみる向きもありますが、ネットの内外でこの言葉が使われているさまを見ていると、衝動のコントロールがあまり良くない人、風変りな言動の人、うつ病や不安障害で精神科や心療内科に通院している人などが、一緒くたに「メンヘラ」と呼ばれているように見受けられます。 また、他人を揶

    「メンヘラ」という言葉はどう変化してきたか。精神科医が解説(熊代 亨) @gendai_biz
  • 「メンヘラ」という言葉の歴史 2ちゃんねるで「メンヘラ」が誕生するまで - メンヘラ.jp

    2016年現在、なんとなくネット上で使われている「メンヘラ」という言葉。 あなたは「メンヘラ」がいつ・どこで生まれたかをご存知だろうか。私はなんとなく「2chのメンヘル板とかでしょ?2007年ぐらいにはもう知ってた感ある」ぐらいにしか思っていなかった。 しかし、ここはメンヘラ.jpである。そして私は今無職で、無限に時間がある。 「メンヘラ」の起源をじっくりと紐解いていくには今、このタイミングしかない。「メンヘラ」の起源を知りたい。 そこで今回は、2ちゃんねるのメンタルヘルス板の過去ログを丹念に掘っていくことで、「メンヘラ」という言葉が生まれた時期の特定を試みた。 かつて「メンタルヘルス板」は「躁板」だった そもそも「メンタルヘルス板」の事をご存じない方のために、ここで2chメンタルヘルス板について軽く説明する。 「メンタルヘルス板」とは、巨大匿名掲示板群「2ちゃんねる」の中にある、心の健

    「メンヘラ」という言葉の歴史 2ちゃんねるで「メンヘラ」が誕生するまで - メンヘラ.jp
  • 飲食店経営に手を出して、ズバリ「地獄にはまった」漫画家の話(折原 みと) | マネー現代 | 講談社(1/4)

    記事がきっかけになった、折原みと先生のセミナーが2018年9月27日に目黒で行われます。詳細はぜひ、以下のリンクでご確認ください。 ・【無料】飲店経営に手を出し地獄にはまった漫画家の話 @東京/目黒 「飲店経営に手を出して地獄を見る人の『三つの共通点』」 そんなタイトルに惹かれてこの記事を読んだ瞬間、思わず吹き出してしまった。年始に、何気なく現代ビジネスのサイトを覗いていた時のことだ。 「これ、私のことじゃん!」 10数年前の苦い思い出とは 業は、漫画家兼小説家の私だが、10数年前、無謀にもカフェ経営に手を出し、4年半で店を潰した経験があるのだ。 2004年から2007年の秋にかけて、八ヶ岳の麓、長野県富士見高原で営業していたドッグカフェ「八ヶ岳わんこ物語」。その時の失敗体験を思い起こすと、まさに、この記事の「三つの共通点」に当てはまる。 さすが! 経営のプロの考察は的確だ。 まっ

    飲食店経営に手を出して、ズバリ「地獄にはまった」漫画家の話(折原 みと) | マネー現代 | 講談社(1/4)
  • この10年、日本の大企業で「品質問題」が続発する理由がわかった(井上 久男) @gendai_biz

    にある「TQM」の衰退 新年早々に開催された米ラスベガスでの家電見市や、現在デトロイトで始まった北米自動車ショーでは、各社とも自動運転などの最新技術を提案した。こうした新技術がニュースの話題にならない日はない。1月16日付日経済新聞は1面で、島津製作所が人工知能を使って2分間でがんを判別できる装置を開発したと報じた。 技術革新によって、新しい商品がこれから続々と生まれてくるだろうが、昨今の日企業で起こるトラブルを見ていると、肝心の「品質」は大丈夫なのだろうかと思わざるを得ない。 今年に入ってすぐに、旭硝子の子会社で顧客と取り決めた検査を一部実施せずに出荷していなかったことが発覚した。昨年は、日産自動車やSUBARU(スバル)による「無資格者の完成車検査」が世間を騒がしたほか、日経団連会長企業である東レの子会社でも製品検査データを改ざんしていた。 ここ10年くらいの動きを見ていく

    この10年、日本の大企業で「品質問題」が続発する理由がわかった(井上 久男) @gendai_biz
  • ニトリ会長が2018年の日本経済を大予測!「今年はズバリ…」(週刊現代) | マネー現代 | 講談社(1/4)

    「経営者は先を読むことが大切な仕事」。似鳥会長はそう語る。目先のことばかりにとらわれていては、企業も個人も「勝てない時代」。なるほど、日経済のこれからはこんなに変わっていくのか! 株価はこう動く 経済界一、経済予測を的中させる男――。 ニトリホールディングス(HD)会長の似鳥昭雄氏(73歳)は、財界でそう呼ばれる。 毎年、年始に予測する株価、為替は連続的中。ニトリHDの経営は為替が1円円安になると15億円の営業利益を失うが、似鳥会長の予測をもとに為替予約契約をすることで、直近6年間で約630億円もの為替リスクを回避してきた。 同社は30年連続の増収増益中だが、その驚異的なパフォーマンスを支えているのが似鳥会長の経済予測なのである。 ニトリHDの東京部(東京・北区)。応接室に姿をあらわした似鳥会長はさっそく、「いまの相場はそれほど長く続かないと思うんですよ」と語り出した。 '17年の日

    ニトリ会長が2018年の日本経済を大予測!「今年はズバリ…」(週刊現代) | マネー現代 | 講談社(1/4)
  • 「日本のどこがダメなのか?」に対する中国ネット民の驚きの回答(安田 峰俊) @gendai_biz

    中国で流行中の『知乎』 中国の質問サイト『知乎(チーフー)』をご存知だろうか。これは日で言えば『Yahoo!知恵袋』のように、ユーザーの質問に他のユーザーが回答してくれる集合知型のウェブサイトだ。 中国では2005年からIT大手・百度(バイドゥ)が運営するQ&Aサイト『百度知道』などが存在したが、こちらはネタ質問やネタ回答・コピペ回答も多く、いまいち信用が置けなかった。 だが、2011年にサービスを開始した『知乎』は、一部のユーザーが所属や身元を明らかにした上で書き込んでいることや(共産党青年団などが身元を明かして公式に回答を寄せていることもある)、回答者を第三者が評価するシステムなどが奏功して、そこそこ真面目で信頼性が高い情報がやりとりされるプラットフォームになっている。 加えて言えば、『知乎』は一種の大規模掲示板としての役割も果たしており、むしろ回答の数よりも元の投稿に付く質問の数の

    「日本のどこがダメなのか?」に対する中国ネット民の驚きの回答(安田 峰俊) @gendai_biz
  • 「AV出演強要」何が問題だったのか?有識者委員会メンバーが明かす(河合 幹雄) @gendai_biz

    謎に包まれていたAV業界 2016年3月3日、NGOのヒューマンライツナウ(以下HRN)が、AV業界で女優に対する「出演強要」が起きていることをレポートし法規制による対応を国に求めた。 内閣府の男女共同参画会議が動き、主要新聞、週刊誌等が挙って報道した。警察も動き、2016年に労働者派遣法違反でプロダクション代表を逮捕、有罪になっている。 その後、不起訴にはなっているが公然わいせつ罪容疑も含めて、ガサ入れが続き、2017年1月には、裏ビデオ制作でカリビアンコム関係の撮影会社社長、出演女優、男優が逮捕された。 AV業界には、業界団体はなく、表現自主規制のための審査団体を核に、幾つかの集団があるだけである。監督官庁もなく、しいて言えば警察庁なのかという状態である。 したがって、立法がされるさいには、業界団体から意見聴取されるのが、現在日の通常の手続きだが、男女共同参画会議から業界側を代弁する

    「AV出演強要」何が問題だったのか?有識者委員会メンバーが明かす(河合 幹雄) @gendai_biz
    emonkak
    emonkak 2018/02/12