タグ

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

  • 社用PCで使うために完全オフラインで軽量なマークダウンエディタを自作した - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2021 2日目の記事です。 デジカルの末永(@asmsuechan)です。社用PCで使うメモツールを作った話をします。どうせなら全部作ろうと思って仮想DOMライブラリ、CSSフレームワーク、マークダウンパーサ、IndexedDBラッパーから自作しました。 下でも紹介しますが、先日作ったマークダウンパーサを実際に使用したアプリケーションとなります。 www.m3tech.blog 作ったもの 名前はtinyです。小さくて軽い、をコンセプトにしたのでこんな名前になりました。 フォルダ分けされてたりゴミ箱もあったり検索できたりと、どっかで見たことあるような最低限のメモツール用機能は備わっています。 あとダークモードも作ってみたり (使ってない)。 背景 私は4月にM3に入社したのですが、入社してから「社用PCで使えるちょうどいいメモツールが

    社用PCで使うために完全オフラインで軽量なマークダウンエディタを自作した - エムスリーテックブログ
    kwy
    kwy 2024/05/22
  • 年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き) - エムスリーテックブログ

    これはエムスリー Advent Calendar 2023の9日目の記事です。 前日の記事はSREチーム後藤の「共有会をより効果的にするために考えたあれやこれ」でした。 エムスリーエンジニアリンググループ データ基盤チームの木田です。 師走です。12月といえば年末に向けて大掃除の季節です。 古来日では12月に宮中で「煤払い」という行事を行う風習があったことが、今日年末の時期に大掃除をする由来とされているそうです。 私の自宅はまだ何も手をつけられていませんが、せめてBIツールの中だけでもということでRedashのクエリ棚卸しをした話*1をご紹介します。 エムスリーにおけるRedashの活用状況 長年の運用の結果起きた性能問題 問題の特定と発生原因 Workerの増設 クエリの棚卸しと改善 使われていない定期実行クエリの停止 サンプル1 直近参照なしかつ定期実行クエリ クエリの実行時間改善

    年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き) - エムスリーテックブログ
  • いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ

    【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h

    いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ
  • 大量メール送信のための予備知識 - エムスリーテックブログ

    【SREチーム ブログリレー1回目】 お疲れ様です。エンジニアリンググループ、コアSREの山です。 他の情報伝達手段が現れた今は「メール」は以前よりも比重は落ちたかもしれませんが、まだまだ多くの人に情報を一気に伝えるための重要なツールです。 エムスリーでは自社サーバを利用してメールの大量送信を実施していますが、メール送信を実施するにあたって気にすべき基的な事項についてシェアさせてください。 大量メール送信に関連する基的な設定 基的な設定(SPFと逆引き) DKIM IPの追加削除 バウンスメール処理 金で解決 まとめ We are Hiring! 大量メール送信に関連する基的な設定 メール送信自体はそれほど難しいものではありません。 エムスリーではpostfixを利用していますが、設定はほとんどオリジナルでもメール送信自体は可能です。せいぜいドメイン名を登録するくらいでもいけます

    大量メール送信のための予備知識 - エムスリーテックブログ
  • postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ

    【SREチーム ブログリレー2回目】 お疲れ様です。エンジニアリンググループ、コアSREの山です。 前回ブログリレー1回目の記事で大量メール送信のために基設定について書かせていただきました。 www.m3tech.blog 今回はそれを受けて構築したサーバで実際に発生したいくつかの問題、その問題への対処といったものを書かせてください。 エムスリーのメール送信で発生した問題とその対策 特定のメールサーバからの突然のメール拒否 メールの翌日までの滞留 TLS問題 メールがどうしても迷惑メール扱いされるという苦情 postfixのメール処理とステータス メールログの監視 まとめ We are Hiring! エムスリーのメール送信で発生した問題とその対策 実際にここ一年あたりの間に発生した問題とその問題への対応を記述していきたいと思います。postfixを利用して送信していますので設定はpo

    postfixによる大量メール送信にまつわる問題と対処 - エムスリーテックブログ
  • Bulk insertでも20時間以上かかっていたMySQLへのインサート処理を1時間以内にする - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2022の30日目の記事です。 前日は id:kijuky による チームメンバーのGoogleカレンダーの休暇予定一覧をスプレッドシート+GASで作った でした。 AI機械学習チームの北川(@kitagry)です。 今回はMySQLへのインサートを20倍以上高速化した話について書きます。 仕事をちゃんとしてるか見張る TL; DR はじめに 今回のテーブル バイナリログを無効化する 追試 LOAD DATA INFILE 追試 テーブルの正規化 インデックスを一時的に剥がす まとめ We are hiring!! TL; DR バイナリログをオフにする LOAD DATA INFILEを使う インデックスを一時的に消す はじめに AI機械学習チームではサイトトップからアプリに至るまで多くの推薦システムがあります。 そこでは推薦ロ

    Bulk insertでも20時間以上かかっていたMySQLへのインサート処理を1時間以内にする - エムスリーテックブログ
  • エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ

    こんにちは、こんばんは。年末年始は12/24〜1/9まで17連休を取ってみた執行役員CTO兼VPoPの山崎です。この連休に向けてスノーピークのIGTを買おうと思ったのですが、3ユニットのノーマルと4ユニットのロングどちらを買うべきか、悩みに悩んで、結果ノーマルを2つ買えば6ユニット!ということに気がついて平穏を取り戻しました。もちろんリビングシェルロングProも調達しました。あとは年越しキャンプの予約を取るだけです(さっさと取らないと)。 ブログはエムスリー Advent Calendar 2022とプロダクトマネージャー Advent Calendar 2022の25日目の記事です。 双方の読者に届くようにダブルエントリーしてみました*1。 昨年は以下のとおり、エンジニア、QA、デザイナー、プロダクトマネージャーのためになりそうな良書を7冊選んでみました。未読の方がいれば是非読んでみて

    エムスリーが誇る最強のプロダクトマネージャー育成環境:プロダクトマネージャー定例 - エムスリーテックブログ
  • エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザイナー、プロダクトマネージャーにお薦めする良書7選 - エムスリーテックブログ

    こんにちは。最近、お掃除職人きよきよ*1というYouTuberにハマってしまい掃除に明け暮れ、近所のドラッグストアでドメストとパイプフィッシュの原材料が同じことなどを知って、ふむふむと楽しんでいるエムスリー執行役員兼VPoE兼PdMの山崎です。薬剤を活用した掃除はDr. STONE*2気分で面白いですね。 ブログはエムスリー Advent Calendar 2021の25日目の記事です。 エムスリー Advent Calendar 2021の締めとして、今年も「VPoEとしてこの◯年間を振り返って」シリーズで2021年を締めくくろうかとも思ったのですが、先日fukabori.fmの第59回と第60回でしっかり語ったのと、流石に3年連続でやっていて4年目も同じネタだと皆さん飽き飽きするかなとも思ったので、日は新企画として「エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザ

    エムスリー執行役員VPoE兼PdMの山崎が、エンジニア、QA、デザイナー、プロダクトマネージャーにお薦めする良書7選 - エムスリーテックブログ
  • Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ

    砲撃する自走砲(PzH2000自走榴弾砲)。自走砲は戦車によく似ていますが、戦車ではありません。*編とは関係ありません。 こんにちは、エムスリー基盤開発チーム小です。 Pythonのパッケージ管理周りでは、 「setup.pyでrequirements.txtを読み込むのが普通なんですよね?」 「pipenv があれば venv はオワコンなんですね?」 「pyenvは要らないんですよね!?」 「Python歴史が古い分、Rubyなどに比べてカオス」 みたいな混乱をよく目にします。 実際、複数のツールがあって(一見)複雑です。また「なぜこうした状況にあるのか」がドキュメント化されているわけでもありません。 なので、私なりに整理してみることにしました。 ※「追伸」を追加しました。この記事では汎用プログラミング言語としてPythonを使うケース(Webアプリとか、CLIツールとか、ライブ

    Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ
  • bashスクリプティング研修の資料を公開します - エムスリーテックブログ

    こんにちは、エンジニアリングGの中村です。 以前にこのブログにてエムスリーでの社内研修について紹介しました。今回は、この中でのbashスクリプティング講座の資料を公開します。 www.m3tech.blog 弊社の中でもいろいろな用途でbashが使われていますが、bashは簡単に利用できるもののプログラミング言語としてはバグを生みやすい、辛い言語だと思います。 ここで紹介しているのはいわゆるコーディング規則というよりも、バグ防止と可読性向上のためのルールをTips集的にまとめたものです。 bashにおいてまだまだ注意するところはありそうですが、多少なりともわかりにくいスクリプトの削減になればと期待しています。 [追記: 2018-08-22] はてブにて以下のコメントをいただきました。 bashスクリプティング研修の資料を公開します - エムスリーテックブログ bashで50行以上になった

    bashスクリプティング研修の資料を公開します - エムスリーテックブログ
  • 1