タグ

ilyaletreのブックマーク (1,472)

  • Tuning KVM - KVM

    CPU Performance Modern processors come with a wide variety of performance enhancing features such as streaming instructions sets (sse) and other performance-enhancing instructions. These features vary from processor to processor. QEMU and KVM default to a compatible subset of cpu features, so that if you change your host processor, or perform a live migration, the guest will see its cpu features u

  • 呪い: 見積もりの3倍だけ常にかかってしまう

    みなさん、進捗どうでしょう?最高ですか?そんなことないよね!なぜならあなた達は呪われている。事前の計画よりも、常に、3倍の期間が必要になる。常にだ!!この呪いは強力であり、解放されるのは難しい。我々はどうすればよいだろうか? パーキンソンの呪いある資源に対する需要は、その資源が入手可能な量まで膨張する パーキンソンの法則 — Wikipedia ある仕事の作業量を見積もったとしよう。機能Aの追加に2週間程度必要そうだ、とする。順調にいけば、再来週には動き出し、価値が出せそうだ。ペースを作り、粛々と仕事を進めていこう。 ところが、現実的にはそんなに上手くはいかない。新しく導入するライブラリがうまく動かないとか、くだらないtypoに悩まされて半日失ったとか、既存コードの改修箇所が想像してたより多かったとか、何らかの別の仕事をやらなければいけなかったり、もしくは休暇が必要だったりとか。当初計画よ

    ilyaletre
    ilyaletre 2019/08/05
    見積もり行為自体がその仕事を明らかにして前に進むステップなので、ただの計画づくりではなくてstudyだよってことかな。(それなら共感できる気がする)
  • 大規模ゲーム開発で存在感を高めるErlang/Elixir ─ Nintendo Switch™とロマサガRSの事例から|ハイクラス転職・求人情報サイト AMBI(アンビ)

    大規模ゲーム開発で存在感を高めるErlang/Elixir ─ Nintendo Switch™とロマサガRSの事例から 大規模なゲーム開発で、プログラミング言語Erlang/Elixirの存在感が増しています。Nintendo SwitchのErlang活用事例と、ロマサガRSにおけるElixirの導入事例について、アカツキ島崎清山さんに解説してもらいました。 2019年6月1日、永田町JA共済ビルにて、Erlang & Elixir Fest 2019が開催されました。Erlang/Elixirを利用する開発者らを集めて国内で開催されるメインイベントとしては、2017年のElixir Conf Japanから数えて、今年で3回目を迎えたことになります。 Erlang & Elixir Fest 2019 参加費6,000円の一般枠が事前登録で埋まり、当日の来場者も150人を超えたErl

    大規模ゲーム開発で存在感を高めるErlang/Elixir ─ Nintendo Switch™とロマサガRSの事例から|ハイクラス転職・求人情報サイト AMBI(アンビ)
    ilyaletre
    ilyaletre 2019/08/02
    この運用面の安定感は一体どこから来る特性なんだろう。
  • マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ

    レッドハットでインテグレーションのためのミドルウェアのテクニカルサポートを担当している山下です。 最近はマイクロサービスでシステムを開発しているという話もよく聞くようになってきました。ではそこでメッセージング、そしてKafkaを使ってますでしょうか?マイクロサービスでは何故かRESTばかりが世の中に注目されてしまうことも多いために、今回はメッセージング推しの内容にしています。 マイクロサービスではメッセージングを用いたコマンドやイベントこそ中心であって不可欠です。マイクロサービスの中でメッセージングはどのように利用され、そしてなぜ必要なのでしょうか。今回は「マイクロサービスとメッセージングのなぜ [概要編]」と題してそれを概観していきます。 Kafkaの簡単なおさらい どこでメッセージングは利用されるのか? RESTはお手軽な解決策? なぜマイクロサービスにメッセージング(Kafka)が必

    マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ
  • Call Arity と融合変換

    GHC は,最適化のため Call Arity と呼ばれるコード解析を行っている.この解析で,自由変数が何個引数を持っていいかを判定し,イータ展開を可能にする.リストにおける融合変換とも密接な関係のある解析だ.こいつの存在とどういうことをやっているかはだいたい知っていたんだけど,ちょっと詳しく知りたい事例があったので調べてみた.そのメモ. なお元ネタは,Breitner (nomeata) 先生の Call Arity . イータ展開と最適化 Haskell は知っての通り関数型プログラミング言語なので,息を吐くように関数を第1級として使うし,標準ライブラリに無数の高階関数がある.関数は全てカリー化されていて,部分適用も可能だ.ただ困ったことに Haskell は実用されており,これらの関数型プログラミング言語で常用されているテクニックで書かれたプログラムで,通常のプログラミング言語程度と

    Call Arity と融合変換
  • Goodbye Docker: Purging is Such Sweet Sorrow

    After 6 years, I removed Docker from all my home servers. apt purge -y docker-ce Why? This was triggered by a recurring incident I faced where the Docker daemon was using 100% CPU on multiple cores that made the host effectively unusable. This had happened a few times before, and was likely due to a script that had got out of hand starting up too many containers. I’d never really got to the bottom

    Goodbye Docker: Purging is Such Sweet Sorrow
    ilyaletre
    ilyaletre 2019/07/31
    そういえば、rkt良いかもなー、ってかつて思ってたのはdockerみたいに常駐プロセスを管理しなくていいからだった。
  • Writing efficient free variable traversals — The Glasgow Haskell Compiler

    bgamari - 2019-07-28 Imagine that I show you a fragment of a Haskell program: and pose the question: “what are the variables in this program?” You would likely respond x and y. Now I ask you: what is the difference between those two variables? One answer is that x is bound by the fragment whereas y comes from the fragment’s surrounding context. Variables like y are known as free variables. When co

    ilyaletre
    ilyaletre 2019/07/30
    "Cleaning up the implementation" のあたりがそもそも不思議だった。ASTから自由変数の収集手続きを得るステップと、実際に収集をするステップに分離する、というのが発想の肝なのかな。
  • ずっと皆様に謝りたかったこと|あっくん大魔王

    今日は「あっくん大魔王」に関わる人に謝らなくてはいけないことがあると思い、その気持ちを形にしてまとめようと決意しました。 決して引退するとかではないので安心して聞いてください。学校へ行こうの未成年の主張を見るくらいの気持ちで何となく聞いてください。 きっかけとしては友人との会話の中で「どうして最近投稿頻度が落ちているの?」という話になったときに「実はコメント見るのが怖い」と正直な気持ちがポロっと出てしまいました。自分でも意外だったこの一言、でもこれがきっかけで無意識に避けていた自分の気持ちと向き合ってみようと思いました。 正直、自分の時間というのは昨年末で、もっと言えば去年のバレンタインデーからずっと止まったままなのかもしれません。 VTuberを始めたての頃は何をするにも楽しくて新鮮で、特にコメントを貰った時ほど嬉しいものはありませんでした。 ですが、ある時を境に自分はコメントを見るのが

    ずっと皆様に謝りたかったこと|あっくん大魔王
    ilyaletre
    ilyaletre 2019/07/25
    "もっと言えば去年のバレンタインデーからずっと止まったままなのかもしれません。" つらいなあ
  • 歴史から紐解くLinuxカーネルのコンテナ機能 / CNDT2019

    CloudNative Days Tokyo 2019 の講演資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

    歴史から紐解くLinuxカーネルのコンテナ機能 / CNDT2019
  • 大失敗した設計、そしてドメイン駆動設計の基本に立ち返る – 福地春喜のブログ

    ※ 2019年7月27日に追記しました。 この記事の最後に、失敗談の補足を書いた記事へのリンクを追加しました。 システムの一部機能を改修するテーマが現在進行中です。テーマは他の箇所に影響がないくらいに分離できるものです。この大きさが丁度いい。チャンスとばかりにリファクタリングすることにしました。 アプリケーションはそれなりにレイヤー化されています。controllerとserviceとrepositoryがある。よくある3層構造です。何を見直して再設計するのか?それはドメインオブジェクトモデルの構築です。 現状のアプリケーションはビジネスロジックをモデリングしたものとは言えない状態です。自分がやったのだけれど。しかしだからでもあります。なぜこうなったかを振り返り、どのようにできたかを考えます。失敗から学べることもあるはずです。 参照側の層は薄く?当に? 開発対象のシステムはある情報の検索

    ilyaletre
    ilyaletre 2019/07/23
    コンポーネントをレイヤ化するところは所与の語彙があるのでそれを助けにパターンの適用ができる。けど、自分のドメインは自分で語彙を抽出しなきゃいけないので設計が後手になるとか?(ブーメラン)
  • KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes

    CloudNative Days Tokyo 2019 1D3 セッションのスライドです。 #CNDT2019 #OSDT2019 #RoomD

    KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes
  • メルペイのマイクロサービスの構築と運用 / CloudNative Days Tokyo2019

    メルペイのマイクロサービスの構築と運用 2019.07.22 に CloudNative Days Tokyo2019 で発表した内容です。 なぜメルペイがマイクロサービスアーキテクチャを選択したか、メルペイのマイクロサービスの構築と運用をどのように行ったか、などを話しました。

    メルペイのマイクロサービスの構築と運用 / CloudNative Days Tokyo2019
  • きっと明日から役立つeBPFのしくみ

    第15回カーネル/VM探検隊での発表. eBPFのローダの仕組みやVerifierの仕組みなどについて1つのeBPFプログラムを題材に掘り下げます.

    きっと明日から役立つeBPFのしくみ
  • The Linux Kernel: ネットワーク

    次のページ 前のページ 目次へ 11. ネットワーク ネットワーキングと Linux とはほとんど同義語である。当の意味で、Linux は インターネットもしくは World Wide Web(WWW) の産物である。開発者やユーザたち はウェブを使って情報やアイデアやコードを交換しているし、Linux そのものが組織に おけるネットワークへの要求を満たすために利用されている。この章では、TCP/IP と 総称されるネットワークプロトコルを Linux がどのようにサポートしているかを 解説する。 TCP/IP プロトコルが設計されたのは、ARPANET に接続されたコンピュータ間 での通信をサポートするためであった。合衆国政府によって設立されたアメリカ の研究用ネットワークである ARPANET は、ネットワークの基概念を作り出した パイオニアであり、その中には、パケットスイッチング

  • ロードバランサ再入門

    おっさんエンジニアがロードバランサについて改めて設計・構築するに当たり、 ロードバランサの基 最近の動向 (と言っても最新ではない) について整理した情報を共有します。 新人教育にでも使って頂けるとうれしいです!

    ロードバランサ再入門
  • Rust IDE に化ける VSCode - OPTiM TECH BLOG

    初めまして.社内の好きなエディタアンケートで Visual Studio Code (VSCode) に 1 票を投じた R&D チームの久保です.普段は深層学習を用いた画像解析やその周辺の研究開発を行っています. アンケートでは惜しくも Vim 勢に敗れてしまいましたが,2015 年にリリースされてからというもの,ものすごいスピードでユーザを増やしているこの VSCode を使って Rust の開発を行いたい人向けの記事を書いてみました.この記事を読むまで Rust (rls) と CodeLLDB拡張機能を知らなかったという人がいれば今すぐインストールしましょう.私がこの 11101 文字を使って言いたいのはそれだけです. 「Rust って何?」という方はぜひ以下の過去記事にも目を通してみてください. 必修言語Rustの他己紹介 Rust カテゴリーの記事一覧 - OPTiM TE

    Rust IDE に化ける VSCode - OPTiM TECH BLOG
  • ストレージオーケストレーター Rook : 第1話 Rook大地に立つ!! - 赤帽エンジニアブログ

    こんにちは、Red Hatでストレージを中心にクラウドインフラを生業にしている宇都宮です。 今回から、Kubernetes(k8s)におけるストレージという狭ーいちょびっと深ーい話を連続で紹介します。 ご存知の方も多いと思いますが、k8sにはPersistent Volume(PV)という無敵に素敵なストレージ抽象化の仕組みがあります。だからアプリケーションからボリュームを使えるようにする辺りの処理に関してはほとんど考えなくて大丈夫。 じゃあバックエンドのストレージ自身はどうあるべきか?みたいな話って、あんまりされないんじゃないかなって思ってます。それは、k8sには多くの外部ストレージに対応したvolume driverやpluginがあって、既存の外部ストレージをそのままPVとして使えるから。実際には外部ストレージによってできる事できない事は色々ありますが、「今あるストレージが使えるんな

    ストレージオーケストレーター Rook : 第1話 Rook大地に立つ!! - 赤帽エンジニアブログ
    ilyaletre
    ilyaletre 2019/07/17
    "DataPathがk8s内で閉じる(プロセス間通信)のため速いレスポンスが期待できる" 分散したノードをまたがるDataPathなのは従来手法でも同じような気がするのだけど、プロセス間通信の意味を僕が分かっていないのか。
  • レッドハット | ITインフラSummit 2019 レビュー - 日経 xTECH Special

    事例から学ぶ、ITインフラの自動化を成功させる Ansibleのプラクティス レッドハット テクニカルセールス部 クラウドソリューションアーキテクト部 ソリューションアーキテクト オートメーション&マネジメント・エキスパート 中島 倫明 氏 かねてより多くの企業において取り組みが進められてきたのがITインフラの構築や運用などにかかわる作業の自動化である。しかし、その成果を十分に発揮できた企業は意外に少ないというのが実情だ。レッドハットの提供する自動化ソフトウェア「Red Hat Ansible Automation(以下、Ansible)」は、企業が試みている自動化における課題を解消し、抜的な効率化を推進できる「自動化 2.0」の世界へとシフトしていくことを強力に支援する。 “サイロ化”に陥った自動化が期待通りの効果を上げない要因 レッドハット テクニカルセールス部 クラウドソリュー

    レッドハット | ITインフラSummit 2019 レビュー - 日経 xTECH Special
  • メモリ管理、アドレス空間、ページテーブル

    ◆プロセスのアドレス空間の実装 プロセスのアドレス空間は、次のような連続領域に分割されている。 テキスト 機械語を置く。VM_EXEC 属性と VM_READ属性が付いている。書き込み禁止 で共有可能。mm_struct の start_code と end_code が、開始番地と終了番地 を保持する。 データ(初期値付き) データを置く。VM_READ|VM_WRITE 属性が付いている(以下同様)。共有不 可。ファイルに初期値が含まている。 BSS(初期値無しデータ) 0 で初期化されるデータを置く。ファイルに初期値が含まれない。 ヒープ データを置く。malloc() の原資(の1つ)。brk() や sbrk() システム・ コールで大きさが変更される。番地が大きい方に伸びる。mm_struct の start_brk とbrk が開始番地と終了番地を保持する。 スタック 関数呼

  • 「する側もされる側も気が重い」。フィードバックの生産性を上げる秘訣を、米人気企業CEOに聞いた | サイボウズ式

    マネジメント 新しいチームのあり方を探求 就活 就活生必見!サイボウズの疑問 ティール組織 会社の「あたりまえ」が変わる 多様性 100人100通りの個性 ワークスタイル 働き方、生き方、もっと自由に 青野慶久 サイボウズ社長の想いと覚悟 キャリア 人生の「積み上げ方」を見直す 複業 複数の「業」をもつ働き方 人事制度 多様な働き方を支える仕組み マンガ サクッと手軽に読める!

    「する側もされる側も気が重い」。フィードバックの生産性を上げる秘訣を、米人気企業CEOに聞いた | サイボウズ式