タグ

ブックマーク / www.m3tech.blog (28)

  • 新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 17日目の記事です。 皆さんはじめまして!11月にエンジニアリンググループに入りました、SREの平岡です。今回はSRE・・・というよりインフラ技術に携わるエンジニアとして、OSプラットフォーム周辺での新しい技術について紹介します。 8 が・・・来る! Stratisとは? 他のVMFsとの違いは? 使ってみた インストール&デーモン起動 プール作成〜ファイルシステム作成 その他にできること プールへのキャッシュデバイスの追加 ファイルシステムのスナップショット作成 サポート予定の機能 所感 余談:注目したいポイント We are hiring! 8 が・・・来る! 今年(2018年)11月の頭に Red Hat Enterprise Linux (RHEL) 8 のパブリックベータが公開されました。そのリリースノートに挙げら

    新ストレージ管理システム Stratis について調べてみた - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/17
    まったく新しいファイルシステムだと時間がかかるけど既存技術を便利に組み合わせてる
  • SLO設定/超過監視にまつわる活動の振り返り - エムスリーテックブログ

    ※ この記事は SRE Advent Calendar 16日目の記事です。 皆さんこんにちは。エムスリーという会社でSREをしている高橋です。 早いもので、今年ももう終わりですね... ! そこで記事ではエムスリーのSREチームがこの1年の間に実施してきたSLO設定及びSLO超過監視活動を反省とともにご紹介していきたいと思います!! エムスリーにおけるSREチームの成り立ち かつてはSREがインフラチーム配下のポジションとして存在しているような状況でしたが、肩書は違えど作業内容はほとんど同じだったので、2018年7月からインフラチームがまるっとSREチームへと改称されました。 www.m3tech.blog SLI/SLO設定/監視 SREとしての活動を考えたときに、まずはサービスレベル目標(SLO)を決めてサービスの品質を改善していきたいと思いました。そこで、まずはサービスレベル指標

    SLO設定/超過監視にまつわる活動の振り返り - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/16
  • EmacsでWebサービスを開発して8ヶ月が経ちました - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2018 の16日目の記事です。 こんにちは、エンジニアリンググループ新卒1年目の青木です。クラウド電子カルテ「M3 DigiKar」の開発に携わっています。We are hiring!! 今回は私のチームが開発しているWebサービス「M3 DigiKar」の Emacs での開発方法を紹介します。 皆さんお馴染みのエディタ Emacs はじめに 共通設定 検索・補完・定義参照 company.el ivy.el & counsel.el & swiper.el dumb-jump.el Syntax Check & Lint flycheck.el Spell Check flyspell.el Visualize git-gutter-plus.el color-identifiers-mode.el rainbow-delimit

    EmacsでWebサービスを開発して8ヶ月が経ちました - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/16
  • 18分59秒をめぐって日本標準時の歴史をひもとくことに - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 12日目の記事です。 こんにちは。エムスリー エンジニアリンググループの三浦(@yuba)です。基盤開発チームというところで各サービスチーム共用のシステムの開発保守に携わっており、そこで見つけた面白い動作を掘っていったら意外な知識にたどり着いたという話をいたします。 化けた日付はどこから来た? あるサービスの管理画面の動作を検証していたときのことです。バリデーションの振る舞いを確かめるためにいくつかテストケースを作りながら実際の動きを試していたところ、不思議な現象を見つけました。 次のように日時入力をするところで年の欄を空のままにして送信したところ⋯ 次のようにおかしな日時が設定されたのです。 0013年? 18分59秒? 入力した覚えのない数字が3つも紛れ込んでいます。 これが C で書かれたプログラムなら何か不定値を拾っ

    18分59秒をめぐって日本標準時の歴史をひもとくことに - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/12
    興味深い
  • Rubyistも読めない? 超難読Rubyコードの読み方 - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 11日目の記事です。 エンジニアリンググループのowlです。好きなマスコットはGopherくん、好きな言語はRuby! なので今回もRubyについてお話します。 ところでRubyistのみなさんはRubyKaigi 2018に行きましたよね? とても良いイベントでした。エムスリーもスポンサーとして参加していましたが覚えていますか? さてRubyKaigiで最も盛り上がった発表はなんでしょうか。様々な発表が挙げられると思いますが、有力な候補の一つはイベントの最後に行われた TRICK 2018 (FINAL) でしょう。TRICKとはTranscendental Ruby Imbroglio Contest for rubyKaigiの略であり、『超絶技巧 Ruby 意味不明コンテスト in RubyKaigi』のことです。

    Rubyistも読めない? 超難読Rubyコードの読み方 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/11
    読めない
  • 社内輪読会でScala関数型デザイン&プログラミング第14章の練習問題を解いたので解説します - エムスリーテックブログ

    エンジニアリンググループの松原です。 社内で4月から続いているScala関数型デザイン&プログラミング輪読会で、14章を担当したので復習も兼ねてその練習問題について解説記事としてまとめます。 ちなみにこの輪読会ですが、14章に到達した現在も誰一人として脱落することなく続いております(2人が USA 出張、1人が育休なのですが、これは仕方がないので脱落と呼ばないことにします)。 私を含めちらほら心を折られている人がいるような気配もありますが、Scala に強い人が参加していることもあって何とか続けられています。 5月くらいの輪読会。関数型について話が盛り上がっている様子(なんか楽しそう)。 なお、この記事は エムスリーアドベントカレンダー 9 日目の記事です。 14章の練習問題について できればお手元に書があるとよいのですが、お持ちでない方のために少しだけ14章についての補足を書きます。

    社内輪読会でScala関数型デザイン&プログラミング第14章の練習問題を解いたので解説します - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/09
  • RubyInline gem で C 拡張を手軽に作ってみた - エムスリーテックブログ

    こんにちは、サーバーサイドエンジニアといいつつも最近は React をいじっていることが多い矢崎(id:Saiya)です。 去年あたりに自宅用に作っている Rails のアプリケーションから、libgd *1 の提供する C 言語向けの API を呼び出すコードを導入していたのですが、その際に使った RubyInline gem が便利だったので、(主に自分への備忘録を兼ねて)使う上での留意点や tips などを書いておきます *2。公式のサンプルにあるような簡単な利用例ではあまり迷うことはないのですが、多少凝った用途で使う上でハマった点もありましたため、備忘とご共有までに。 なお、この記事は エムスリーアドベントカレンダー 7 日目の記事です、他の記事もぜひご覧くださいませ。 RubyInline gem とは C 言語のソースの文字列を inline メソッドに渡すとコンパイルされ、R

    RubyInline gem で C 拡張を手軽に作ってみた - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/08
  • AWS SAM + DynamoDB Local + Go で始めるサーバレスアプリケーション開発 - エムスリーテックブログ

    この記事は エムスリー Advent Calendar 2018 6日目の記事です。 こんにちは、エムスリー エンジニアリンググループの大和です。 普段は Spring Boot (Java + Kotlin) を使用したサーバサイド開発をしていますが、この度 AWS Lambda を使用したアプリケーション開発を行うことになったため、開発環境を整えるところまでを記事にしたいと思います。 今回は、例として次のシンプルな構成のアプリケーションを作成していきます。 アプリケーション構成 AWS SAM とは AWS SAM (Serverless Application Model) とは、AWS 上でサーバーレスアプリケーションを構築するために使用できるフレームワークです*1。 YAML もしくは JSON 形式 (正確には AWS CloudFormation のテンプレート) で構成を記

    AWS SAM + DynamoDB Local + Go で始めるサーバレスアプリケーション開発 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/07
  • 今年修正したAndroidアプリの少し根の深いバグ・風変わりなバグ3選 2018年版 - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2018 4日目の記事です。 こんにちは、Androidエンジニアでバグの原因探しが趣味の星川(id:oboenikui)です。 根の深い問題というのはどうしても発見されにくいものであり、弊社ではアプリ含め全てのサービスでUTやQAにより品質担保に万全を期しておりますが、いくつかバグを発生させてしまいました。 記事では、今年中に発生させてしまったバグ(開発中に発生したものも含む)の中で根の深かったもの、風変わりなものを3つをピックアップして懺悔していきます。 Androidを知らない方でも読めるように、少し余談多めで紹介しますがお付き合いください。 OkHttpのPublicSuffixDatabaseでクラッシュ 概要 PublicSuffixDatabaseについて 原因究明 具体的な発生の流れの解説 デバッグ実行できなくなった

    今年修正したAndroidアプリの少し根の深いバグ・風変わりなバグ3選 2018年版 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/12/04
  • エンジニア内定者がビジネスサイドでインターンしてみて - エムスリーテックブログ

    こんにちは、2019年新卒ソフトウェアエンジニア内定者の金山(@__tepppei__)です。以前、「学生から見たエムスリー」という記事で、就活インターンの様子を書きました。今回は、内定後に再度内定者インターンをしてみて見えてきたことを書きます。 時系列を整理すると、 2017年 4月 大学院進学 2017年 7月-8月 AIチームにてエンジニアインターン(←前回記事) 2017年 9月 内々定 2018年 6月-9月 AIラボにてビジネスインターン(←今回記事) 2019年 4月 入社予定 という感じです。 今回のインターンでは自分の希望を汲んでいただき、ビジネス色が強い業務を担当しました。インターン期間の前半1ヶ月は、マーケットリサーチやエムスリーが運営するメディアの施策検討など幅広く様々な業務に携わりました。後半3ヶ月は、主に医療画像診断AIプロダクトのマネジメントを担当させていただ

    エンジニア内定者がビジネスサイドでインターンしてみて - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/26
  • M3 USA 出張記 #7: JS サーバーサイドの足回りの試行錯誤録 - エムスリーテックブログ

    エンジニアリンググループの矢崎(id:Saiya)です。年末まで M3 USA に出張しております。 昨日は NY の地元の NBA チーム New York Knicks と Portland Trail Blazers の試合を仕事後に観戦してきました。 抜きつ抜かれつつのかなりの接戦が最後まで続き、特に終盤は地元民の盛り上がりも半端ではなく、非常に印象に残る良い体験でした。観客の参加度合いが高く、声掛けやリアクション等の一体感も相当なものでした。 また技術面では、あちこちに入っている液晶パネル、開幕演出で使われるプロジェクション、気球ドローンからの撮影 *1、T シャツを打ち出すメガ空気砲 *2など、さまざまなテクノロジーが使われている点が印象的でした。個々の技術そのものは普通の技術なのですが、技術が浮くことなく、エンターテインメントとしての一貫した流れのなかで自然に使われている点に

    M3 USA 出張記 #7: JS サーバーサイドの足回りの試行錯誤録 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/26
  • M3 USA 出張記 #6: Arrayの差分を検出するJavaScriptライブラリ array-diff-itemsを開発・公開しました - エムスリーテックブログ

    エンジニアリンググループの冨岡(@jooohn1234)です。年末までM3USAの開発をサポートするため、USに滞在しています。 とにかくハンバーガーがうまい 現在、M3USAが運営するMDLinxにて利用するCMSサービス(Contentful)をサポートする内部向け機能を作成しています。その一環で、Contentfulが提供するRichTextのバージョン間の差分を検出・表示するというエンジニアっぽいことをやったのでそれを紹介します。 背景 エムスリーUSAでは、医療従事者に向けた記事等を発信しています。この記事を作成するバックエンドとしてSaaS CMS (Contentful)の利用を検討しています。 www.m3tech.blog M3USAのワークフローでは、世界各国のコントリビューターに執筆依頼、レビュー、修正依頼などをしながら一つの記事を作成していきます。これを補助する機能

    M3 USA 出張記 #6: Arrayの差分を検出するJavaScriptライブラリ array-diff-itemsを開発・公開しました - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/21
  • PowerPointファイルからのテキスト抽出 - エムスリーテックブログ

    こんにちは!エンジニアリンググループの鹿山です。今年の4月から新卒で入社し、AI機械学習チームでレコメンドシステムの開発・運用を行なっています。 もっぱら西場さんが日々改良を加えている luigi をラップしたモジュールを用いて開発をしているのですが、処理フローがわかりやすくなるため 結果の共有や互いのコードのレビューがしやすくなり、日々の業務が効率化されています。 (luigi についての記事はこちら) 最近、社内での業務プロセス改善の一環で、pptx形式のPowerPointファイルからテキスト抽出を自動化し解析を行いました。 そこで今回は pptxファイルからテキストを抽出する方法について共有させていただきます。 目次 1. pptx ファイルから xml ファイルを抽出 2. スライドの xml ファイルからテキストを抽出 3. スライドマスタの xml ファイルからテキストを抽

    PowerPointファイルからのテキスト抽出 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/21
  • どこでもKotlin #6 〜Kotlin 1.3の新機能に触れる〜 を開催しました - エムスリーテックブログ

    こんにちは、エムスリー エンジニアリングGの大和です。 11/7 (水) にCrowdWorksさん *1 のオフィスをお借りして、「どこでもKotlin #6 〜Kotlin 1.3の新機能に触れる〜」を開催しました。 m3-engineer.connpass.com 今回は、私も登壇者として参加させていただきました。 当日はたくさんの方にお集まりいただきまして、ありがとうございました。 発表内容 今回はタイトルにもありますが、10月末にリリースされたKotlin 1.3 にまつわるテーマでの発表となりました。 当日の発表順に紹介します。 藤原 聖(LINE株式会社所属 / エムスリー株式会社技術顧問) トップバッターとして、Kotlin Conf 2018 と Kotlin 1.3 リリースの2つのトピックについてそれぞれお話しいただきました。 特に、Kotlinの進化のためにFeed

    どこでもKotlin #6 〜Kotlin 1.3の新機能に触れる〜 を開催しました - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/21
  • この処理Pythonでどう書く? - エムスリーテックブログ

    EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 WEBサイトは RailsやSpringなどの「体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ

    この処理Pythonでどう書く? - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/15
  • え!?たった2日でプロダクトの新機能を!? - エムスリーテックブログ

    こんにちは、エンジニアリングGの青木です。 入社して早半年が過ぎましたが、今はクラウド型電子カルテ 「M3 DigiKar」 の開発・運用に携わっています。 今回の記事では、先日行われた第2回開発合宿で開発したM3 DigiKarの新機能について、その開発の様子をお話したいと思います。 残念ながら新機能の詳細はここでお伝えできないのですが、すごく良い機能なんで期待してリリースをお待ちください! 開発合宿とは 開発合宿とは、オフィスから離れた合宿所で数人一組のチームになってサービスの改善やアプリの開発に集中して取り込むイベントで、 今回は10/12~10/14の約2日間で行われました。 合宿の全体感に関する内容は「エンジニアリンググループ第二回開発合宿を開催しました」を読んでいただきたいです! 今回の新機能開発はM3 DigiKar開発チーム2名 + スーパーエンジニア三角さん(なんとFY1

    え!?たった2日でプロダクトの新機能を!? - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/14
  • luigiのtargetを自分で書くための解説 - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリングG AIチームなんでも担当の安田(@dasoran2)です。最近 Hearts of Iron IV で世界対戦に勤しんでいます。 なにやらluigiが流行っているらしいので、一部カスタマイズをしました。 記事はluigiの家のコードのざっくりとした(Targetに必要な部分の)概要とやり方についてです。 なお、文中のコードはコメントの削除等いくつか加工しています。 luigiについて luigiはspotifyの開発しているワークフローフレームワークです。 github.com 詳細や使い方などは以前他の方が書いた記事を参照してください。 www.m3tech.blog luigiのファイル構成を眺める 早速ですがluigiリポジトリの構成を眺めて行きましょう。 luigiのリポジトリはざっくり以下のようになっています。 / luigi/: l

    luigiのtargetを自分で書くための解説 - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/13
  • M3 USA 出張記 #3: SPA を CloudFront + S3 でシンプルにデプロイしてみました - エムスリーテックブログ

    こんにちは、エンジニアリングGの矢崎です。 最近は M3 USA仕事をしており、下記の前回の記事でご紹介した Headless CMS Contentful を利用するアプリケーションを React の Single Page Application (SPA)で作っています。 www.m3tech.blog コードはほぼ全てフロントエンドの SPA で実装するアーキテクチャなのですが、そのようなアプリケーションを CloudFront でデプロイする際に工夫した点や知見のご共有です。 CloudFront 今回、以下のような利点があるため AWS の提供する CDN である CloudFront を利用しました: 初期投資・固定費用が小さい (HTTPS を利用する場合でも, 後述) AWS のエコシステムに乗ることが出来て便利 凝った機能(画像処理など)がない代わり仕様がシンプルで

    y-teraoka
    y-teraoka 2018/11/13
  • Vue Fes Japan 2018, English Edition! - エムスリーテックブログ

    Greetings, all! My name is Nick, and I'm a software engineer in the Engineering Group here at M3. Today we're going to mix things up a little by delivering the first ever edition of the M3 Tech Blog written primarily in English! 英語が苦手な方もいるかと思うので、日語でのサマリーも混ぜます! Keynote Bonus! Next-level Vue Animations Unit Testing a Vuex Store Nuxt.js 2.0 A Deep Dive in SFC Compilation Vue CLI 3 and its Graphical

    Vue Fes Japan 2018, English Edition! - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/11/13
  • 新卒エンジニアがグループ会社の臨時 CTO を務めた話、そして入社 1 年を振り返って - エムスリーテックブログ

    --- 2018-05-15 追記 --- 当初、記事のタイトルや文中で「チームの臨時 CTO」という表現を使っていましたが、より正確な「グループ会社の CTO」という表記に改めました。 グループ会社のエンジニアリング面を私たちのチームで担当しており、チームリーダーがグループ会社の CTO を務める、という背景があります。 --- 追記終わり --- エムスリーエンジニアの加藤です。 担当サービスでは主に Ruby, Scala, JS (Browser, Node), Swift, Java を使用しています。 今回は、昨年 2017 年 4 月に新卒入社してから 1 年間の振り返りをテーマとして記事を書きました。 ソフトウェアエンジニアとしての進路を検討している学生の方などへ参考になれば幸いです。 入社前 〜きっかけ・面接〜 私は学部 3 年の 11 月に逆求人イベントで初めてエムス

    新卒エンジニアがグループ会社の臨時 CTO を務めた話、そして入社 1 年を振り返って - エムスリーテックブログ
    y-teraoka
    y-teraoka 2018/05/15