タグ

2017年10月7日のブックマーク (11件)

  • Scala School - Pattern matching & functional composition

    This lesson covers: Function Composition compose andThen Currying vs Partial Application PartialFunctions range and domain composition with orElse What is a case statement? Function Composition Let’s make two aptly-named functions: scala> def f(s: String) = "f(" + s + ")" f: (String)java.lang.String scala> def g(s: String) = "g(" + s + ")" g: (String)java.lang.String compose compose makes a new fu

    masa8aurum
    masa8aurum 2017/10/07
    関数合成 (compose や andThen を使って) / `extensions.filter { case PhoneExt(name, extension) => extension < 200 }`
  • 第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp

    原因は大きく分けて3つあります。 1つめは、リソース不足です。たとえば、CPUのクロックやコアが足りず、処理の完了待ちであることなどが原因として考えられます。 図1 CPUのリソース不足の例 2つめは、M/W(ミドルウェア)からアプリケーションに提供されるスレッドや、コネクションのプールにあるリソースが不足していて、その提供待ち(無応答)になっている可能性です。 M/Wでプールしているリソースが不足した状況は、会社の書籍棚に1冊しかないを社員で順番待ちしている状況に似ています。1冊しかないため、今借りている人が返すまでは他の人は借りれません。 図2 M/Wでプールされたリソースが不足しているケース 1つめのケースで問題がGCにある場合、GCに割り当てるリソースのバランスが悪いことが原因です。たとえば、特定のプロセスに対するCPUリソースの割り当てが大きい場合、GCが起きると、CPUリソー

    第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp
  • IT芸人が訊く、おっさんエンジニアが“老害”にならないために(後編) | HRナビ by リクルート

    増井さんが「今、気になる人」に直撃する新連載。「スタートアップにベテランエンジニアが加入した影響」をテーマに、Incrementsの海野弘成社長と語った前編の続きです。後編はIncrementsに2016年5月に入社したベテランエンジニア、田中洋一郎さんも交えて、「ベテランと若い会社の上手な付き合い方」について語りました。 IT芸人が訊く、なぜ優秀なおっさんエンジニアを次々と採用できるんですか?(前編) おっさんが“老害”にならないために (前編からの続き。増井さん、田中さんを連れて会議室に戻ってくる) 増井:洋一郎さん、お仕事中に突然声かけちゃってすみません(笑) 田中:大丈夫だけど、僕なんで呼ばれたの?(笑) 増井:今、海野さんに「若い会社におっさんが入ったことによって、どんな変化が起こったか」という話を伺っていたんですよ。それで、せっかくだから“入社したおっさん側”の話も聞きたいな、

    IT芸人が訊く、おっさんエンジニアが“老害”にならないために(後編) | HRナビ by リクルート
    masa8aurum
    masa8aurum 2017/10/07
    “「誰を見て作っているか」と「誰に向けて作っているか」がズレている会社って、意外と多いんですよね。よくあるのが、「広告の人を見ながら」「一般ユーザー向けに」アプリを作っているケース。” ほう。
  • 2年半を費やしたチャットワークのScala移行、もしやり直すならどうしますか?(後編) | HRナビ by リクルート

    トレタCTOの増井雄一郎さんがチャットワークのScalaプロジェクトのお話を掘り起こすインタビューの後編です(前編はこちら:チャットワークのScala移行と大規模メッセージDB再構築、当にできたんですね!)。ChatWork CTOの山さんは2年半を費やしたプロジェクトを振り返り、「やっぱりScala化は必要だった」と語ります。 山 2014年4月ぐらいにScala化を決断して、社内で勉強会が立ち上がりつつ、採用をかけていった感じです。2014年7月に加藤潤一(「日Scalaユーザーズグループ」発起人のひとり)というScalaの優秀なエンジニアが入ってくれて。そこから設計をどうしよう、と始まって。しばらくは加藤と、もう1人ぐらいで設計をしていた。それが半年ぐらいあったのかな。 2015年ぐらいから実装を始めて。1年でチームメンバーも増えて、そのときは全部まるっと移そうと計画をたて

    2年半を費やしたチャットワークのScala移行、もしやり直すならどうしますか?(後編) | HRナビ by リクルート
  • チャットワークのScala移行と大規模メッセージDB再構築、本当にできたんですね!(前編) | HRナビ by リクルート

    2016年8月、トレタの増井雄一郎さん(「IT芸人」「フログラマー」で検索!)はPHPからScalaへの移行を表明していたChatWork CTOの山正喜さんに「当にScala化できるんですか?」と直球で聞きました(「PHPからScalaに乗り換えたチャットワークさん、その後どうですか?(前編)」)。そして2017年2月。「移行できたら、ぜひもう一回来てください」との誘いを受けて、再び増井さんがチャットワークにやってきました! 増井 Scala化、おめでとうございます! 山 ありがとうございます。 増井 前回も聞きましたが、読んでない方もいるでしょうから、もう一度聞かせてください。Scalaを入れようと思った時期はいつなんでしょうか。 山 そのあたりはBlog(「チャットワークがScalaを採用する理由、これからのチャレンジ。」)に書いたんですが、2年半前──合宿をしてScala

    チャットワークのScala移行と大規模メッセージDB再構築、本当にできたんですね!(前編) | HRナビ by リクルート
    masa8aurum
    masa8aurum 2017/10/07
    すごいな。必要な運用のノウハウというかスキルレベルがすごい
  • Scala Constructor Parameters

    masa8aurum
    masa8aurum 2017/10/07
    コンストラクタ引数に val/var や private や private[this] をつけることによる違い
  • How to control the visibility of Scala constructor fields | alvinalexander.com

    masa8aurum
    masa8aurum 2017/10/07
    コンストラクタ引数に val をつける/つけないことにより何が変わるか
  • RubyからScalaに乗り換えた15くらいの理由 - Alpha派

    [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3)"Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかっ た!」という驚きと共に Scala物であることに気付いた。さらに読み続けていくと、その驚きの回数は減るどころか、最後にはため息へと変わっていった。 はぁ...そんなんまででき

    masa8aurum
    masa8aurum 2017/10/07
    Scala の魅力がよくわかる。読んでいて面白い
  • Haskell Maybeモナド 超入門 - Qiita

    Haskellではモナドと呼ばれる部品を組み合わせてプログラムを作ります。関数の評価に失敗したときにエラーを起こさずに処理する方法の初歩を説明します。Maybeモナドを手っ取り早く使うことを目的としているため、モナドの作り方や圏論には言及しません。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 ← この記事 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続モナド 超入門 【予定】Haskell 型クラス

    Haskell Maybeモナド 超入門 - Qiita
  • 日本のIT業界の収益性の悪さは業界構造の悪さって本当? - プロマネブログ

    アナリスト・金谷敏尊が斬る! 日IT業界に未来はあるのか:【第1回】ここが変だよ、日IT市場 (1/2) - ITmedia エンタープライズ う~ん、気になる記述があったので。 日米IT業界の利益率を比べるのはあまり意味が無い 北米では、大手SIベンダーであるIBM、Accenture、CSCの営業利益率はおおよそ15%前後であり、Oracle、SAPのような大手ソフトウェアベンダーでは35%前後の高利益率を維持している。これに対して、日の名だたるITベンダーはどうだろう。NTTデータ(6.4%)、日立製作所(4.3%)、NEC(3.7%)、富士通(2.3%)と営業利益率は桁がひとつ異なるのが現状だ(総務省「平成25年版情報通信白書」に基づく)。 元記事では日IT業界と米国のIT業界を比較し、日IT業界は利益率が低く、それは日IT業界の構造的な問題が原因と分析してま

    日本のIT業界の収益性の悪さは業界構造の悪さって本当? - プロマネブログ
    masa8aurum
    masa8aurum 2017/10/07
    「株主の要求する利益水準が低い」「法人税率が高い」という理由から、国全体での利益率が低い、という話
  • イケてる環境のWEB系の労働生産性がイケてないSIerのたった三割しかない件 - プロマネブログ

    久しぶりの更新。一度ブログ書くの面倒になると、とことん書くのが面倒になるもんで。 【Web系最高って言うけど当なの?】SIから転職したエンジニア達に聞いてみた - paiza開発日誌 まあ、いつものPaizaのWebアゲSIer Disの記事なわけなんですが。。。 最近、どうでもよくなって放置していたものの、いろいろ誤認している人が増えていそうなので、改めて問題点指摘しておきますか。ブコメ見るとSIer側の反論も欲しそうだし。 とはいえ、開発環境の話はわきに置いて、別の観点を中心とした内容となります。 イケてる環境のWEB系の労働生産性は、イケてないSIerのたった三割 http://www.soumu.go.jp/johotsusintokei/linkdata/ict_keizai_h28.pdf 上記は総務省が毎年公開している「ICT の経済分析に関する調査 」の資料です。 大体1

    イケてる環境のWEB系の労働生産性がイケてないSIerのたった三割しかない件 - プロマネブログ
    masa8aurum
    masa8aurum 2017/10/07
    SIer では “高い付加価値を得るために、法、契約、資産効率などの理由からあえて今現在の開発スタイルをとっている”