タグ

2019年12月5日のブックマーク (16件)

  • ウーバーイーツの報酬引き下げに配達員が抗議、日本法人は団交を拒否

    ウーバーイーツの報酬引き下げに配達員が抗議、日本法人は団交を拒否
    igrep
    igrep 2019/12/05
    なんで需要が増えているときに値下げなんてするんだろう... ただでさえひどい条件らしいというのに
  • なぜ私はVimを使い始めたのか:アンドゥ機能事始め - Qiita

    動機 Vim歴がもうすぐ7年になろうとする私ですが、そもそもVimを使い始めた理由は当時のエディタの中でアンドゥ(元に戻す)の機能が最も優れていたのがVimだったからです。 しかし、Vimのアンドゥ機能は十分に理解されているとは言い切れないと思っています。そこでこの記事ではVimのアンドゥ機能について解説を加えていきます。 Vimのアンドゥ機能の基 Vimではアンドゥをu、リドゥをCtrl+rで行います(どちらもノーマルモードでの話)。 Vimはアンドゥの履歴をツリー状にかつ無制限に保存できます。特に「ツリー状」のアンドゥ機能(アンドゥツリーとも言われます)を持つエディタはなかなか珍しいのではないかと思います。 アンドゥ機能がツリー状であることとモーダル形式の編集が合わさることでVimの強力な優位性が生まれます。モードに入ってから出るまでが一つのアンドゥ単位であるため、論理的に意味

    なぜ私はVimを使い始めたのか:アンドゥ機能事始め - Qiita
    igrep
    igrep 2019/12/05
    undo_treeかー、これは使いたいな。たまに欲しくなる。
  • 最強にして最速のビルダー、mason - モナドとわたしとコモナド

    Haskell Advent Calendar 2019 5日目 この冬、神速のサンタクロースがやってくる—— Haskellにおいて、バイト列の表現はByteStringが定番である。ByteStringはPinned領域に直接格納され、空間効率はリストに比べればはるかに良い。しかし、Pinned領域にあるとヒープフラグメンテーションが起こりやすくなるということでもあり、細かい文字列をつなぎ合わせるような使い方はパフォーマンスに悪影響が及ぶ。そのような問題を避けるため、ビルダーと呼ばれる構造が用意されている。 Data.ByteString.Builderは、word8 42 <> byteString "hello" <> doubleLE 42のように細かいプリミティブを連結し、toLazyByteStringを呼ぶと最後にByteStringを一気に鋳出せるという仕組みである。By

    最強にして最速のビルダー、mason - モナドとわたしとコモナド
    igrep
    igrep 2019/12/05
    すごい。内部構造はむしろこれまでよりきれいになっているだろうにここまで高速化できるとは。やっぱensureの融合変換がミソなんだろうか。
  • Bitbucket

    igrep
    igrep 2019/12/05
    Redisの設定をyamlパッケージで読むの面倒くさいなーと思ってたらちょうどいいのを作っている人がいた
  • RustとGoでWebAssemblyのファイルサイズを比較する - aptpod Tech Blog

    この記事はAptpod Advent Calendar 2019の3日目の記事です。 先端技術調査グループの大久保です。 最近はWebAssemblyが注目されるようになり、弊社でもWebフロントエンド側での軽量化・高速化に応用できないか検討をしています。 そこで、今回はWebSocketのechoクライアントをRustGoで作成し、wasmへコンパイルした時のファイルサイズを比較してみます。現状では、wasm内から直接WebSocketを取り扱う方法は無いらしいので、JavaScriptAPIを呼び出してWebSocket通信を実現します。 Goでの実装 私はGoが書けないため、先輩からもらった以下のコードを使わせてもらいました。適当にwstest.goと名前を付けて保存します。 package main import ( "fmt" "syscall/js" ) func prin

    RustとGoでWebAssemblyのファイルサイズを比較する - aptpod Tech Blog
    igrep
    igrep 2019/12/05
    tinygoだと小さくできるよ、って話を聞いたのでお試しください。 / と思ったらちゃんと最後に書いてましたねすみません...
  • C#のクエリ記法をHaskellのモナド&do記法みたいに使う話 - Qiita

    この記事はC# Advent Calendar 2019の12月5日の記事として書かれました。 この記事はkekyoさんのスライド「C#でわかる こわくないMonad」をモチベーションに書かれています。 kekyoさんのスライドでは、HaskellのMaybeモナド(Optionモナド)に相当するクラスを、まるでHaskellのdo記法のようにC#のクエリ記法で扱う方法が丁寧に紹介されています。記事ではその他のモナドも同様の手法を用いて実装していきます。 TL; DR C#のクエリ記法でHaskellのモナド & do 記法みたいな機能が実現できるよ! 簡単な実装でそれを実現できるよ! この手法が用いられたプロダクトもあるので紹介するよ! 概要 LINQでおなじみのクエリ記法(from ... in ... select ...)ですが、これを用いてHaskellのモナド&Do記法に近い

    C#のクエリ記法をHaskellのモナド&do記法みたいに使う話 - Qiita
    igrep
    igrep 2019/12/05
    LINQがMonadなのは知ってたけどなるほどパーサーコンビネーターに使う、と。(まぁ、StringScannerで大体どうにかなりそうな気もするけど)
  • モナドってなにさ? - Qiita

    はじめに ちょいと Haskell やってみる。むずい。 私は分析は得意ではないが、把握は得意な方です。 そう、私はジェネラリストです。 モナドとは? Haskell 対話環境が教えてくれる。 $ ghci GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help Prelude> :info Monad class Applicative m => Monad (m :: * -> *) where (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b return :: a -> m a fail :: String -> m a {-# MINIMAL (>>=) #-} -- Defined in ‘GHC.Base’ instance Monad (E

    モナドってなにさ? - Qiita
  • Fullstaq Ruby を投入してみた(結果編に続く) - Qiita

    触れ込みについて 公式サイト の触れ込みでは Ruby, optimized for production A new Ruby distribution, with the Ruby you know and love, but better. 番環境向けに調整されたより優れたRubyとのことです。 Less memory — save 30-50% メモリ消費を3~5割抑え Faster 高速で More secure セキュアで Fully open source, based on MRI MRIベースの完全なオープンソース とのこと。 作者について サイトをみていると、創設者は Hongli Lai と Fullstaq という会社のようです。 Hongli Lai はそこに記載があるように、 Passenger や Ruby Enterprise Edition の作者だそう

    Fullstaq Ruby を投入してみた(結果編に続く) - Qiita
    igrep
    igrep 2019/12/05
  • crates.ioにクレートを公開するまで - Qiita

    バイナリクレートは実行可能なバイナリを提供するためのクレートで、cargo installでインストールして実行したり、cargo runでローカルでコンパイルして実行したりすることができます。 ライブラリクレートは他のプログラムで取り込むことに適した機能群を提供するためのクレートで、Cargo.tomlのdependenciesフィールドに追加して使用することができます。 公開するクレートはこれらのどちらか、もしくは両方を含むことができます。 エラーハンドリングを行う 試験的に使用しているunwrap()やexpect()などのpanicするメソッドを消し、ResultやOptionを返すように置き換えます。 特にライブラリクレートではpanicするのはなるべく避けます。 panicするべき状態についてはthe bookのGuidelines for Error Handlingを参照し

    crates.ioにクレートを公開するまで - Qiita
    igrep
    igrep 2019/12/05
  • JavaScriptのBigIntを勉強してみた - Qiita

    JavaScriptのNumber型で正確に表せる範囲は、最大で 9007199254740991 (2^53 − 1)、最小で −9007199254740991 (−(2^53 − 1)) 個人的に読みにくいので日語で読みやすく書くと、9007兆1992億5474万0991 が最大です 最大値、最小値はそれぞれ、Number.MAX_SAFE_INTEGER、Number.MIN_SAFE_INTEGERで定義されています。 console.log(Number.MAX_SAFE_INTEGER) // 9007199254740991 console.log(Number.MIN_SAFE_INTEGER) // -9007199254740991 const x = Number.MAX_SAFE_INTEGER + 1; const y = Number.MAX_SAFE_IN

    JavaScriptのBigIntを勉強してみた - Qiita
  • 検索について - Qiita

    検索で使うのは、ほぼこれだけです。 手打ちは面倒です。 検索ワードはファイル内に存在するので移動したほうが早いことが多いです。 単語を調べたいけれど、単語までが遠い場合

    検索について - Qiita
    igrep
    igrep 2019/12/05
  • Kotlinで@Deprecatedと@Experimentalを使って無言で意思疎通をとる - Qiita

    チームでコードを書いている途中、こっちの方がいいんじゃないか?という新しい関数を作って乗り換えてみたり、もっといい変数名を思いついたのでリネームしたら予想以上に影響範囲が広かったり、新しいロジックを思いついてみたがまだ格導入するほど自信がないといった経験はありませんか? 個人プロジェクトでは自分の好きなタイミングでリファクタや導入タイミングを決められますが、チームで開発しているときはこれらは注意事項としてチームメンバーに周知する必要があります。 より便利な関数ができたのでそちらを使ってほしい よりわかりやすい名前にリネームしてほしい セキュリティやメンテナンス性の観点からこれ以上使って欲しくない まだ実装が固まってないので利用を限定するか、破壊的変更があることを分かった上で使ってほしい Slackや口頭でも説明ができますが、時間が経つと忘れてしまうものです。できればそういった関数や変数を

    Kotlinで@Deprecatedと@Experimentalを使って無言で意思疎通をとる - Qiita
    igrep
    igrep 2019/12/05
    DeprecatedはあるけどExperimentalプラグマがGHCにあると便利だろうか。
  • 一般に知られていない、コンピューターの優れた小技・裏技は何ですか?

    回答 (14件中の1件目) あまり知られていない小技・裏ワザといってよいのかは?ですが、Win8.1/10でトラブル時の備えとして、非常に有用な設定を一つ。ただし、デメリットが一つあり、毎回の起動時に一度エンターキーを押下してOSを通常起動しなくてはならなくなります。 毎回の起動時に起動オプションを表示させる設定方法 すべてのプログラム⇒Winシステムツール⇒コマンドプロンプトを右クリック⇒その他⇒管理者として実行を選択し、コマンドプロンプト(管理者)を開きます。「 bcdedit /set advancedoptions on 」を実行し、正しく終了したらexitで閉じます。 こ...

    一般に知られていない、コンピューターの優れた小技・裏技は何ですか?
    igrep
    igrep 2019/12/05
    あれ、SendToの追加ってレジストリーへの追記も必要だった気がするけど、今は不要なのかな?
  • Vim Short Tipsのカレンダー | Advent Calendar 2019 - Qiita

    1 ツイートに収まるような短い Vim の Tips を書いていくアドベントカレンダーです。 ルール 担当の日になったら Tips の内容を Twitter でツイートし、その URL を Advent Calendar の記事として登録してください。 画像等の添付は禁止します。内容を簡単な Tips に限定するためです。 外部へのリンクも極力避けてください。リンク先に文があると末転倒なためです。簡単なプラグインの紹介 + プラグインへのリンク、程度であれば OK です。 メタ的な補足情報(この Advent Calendar へのリンク等)を付けたい場合は、リプライツリーを付けても構いません。ただし Tips の内容を 2 ツイート以上に分けることは禁止します。 可能だったらハッシュタグ #vimtips_ac を付けてください。 背景 昨今、技術系アドベントカレンダーは加熱の一途を

    Vim Short Tipsのカレンダー | Advent Calendar 2019 - Qiita
    igrep
    igrep 2019/12/05
    “このアドベントカレンダーでは記事の分量を絞ることで、参加のハードルが下げられないかやってみようという試み” 知らなかった。すばらしい。
  • Using WebAssembly from .NET with Wasmtime – Mozilla Hacks - the Web developer blog

    Wasmtime, the WebAssembly runtime from the Bytecode Alliance, recently added an early preview of an API for .NET Core, Microsoft’s free, open-source, and cross-platform application runtime. This API enables developers to programmatically load and execute WebAssembly code directly from their .NET programs. .NET Core is already a cross-platform runtime, so why should .NET developers pay any attentio

    Using WebAssembly from .NET with Wasmtime – Mozilla Hacks - the Web developer blog
  • GitHub - nikita-volkov/hasql-th: Template Haskell utilities for Hasql