ブックマーク / tech.mntsq.co.jp (13)

  • チーム内勉強会の進め方事例 - MNTSQ Techブログ

    おはようございます!こんにちは!場合によってはこんばんわ! SREチームマネージャーの藤原です。 今年の3月からSREチームの中で、勉強会を定期的に実施するようになりました。 エントリでは勉強会を開催するにあたって考えたことと、実際の進め方についての事例解説です。 勉強会を通じて実現したいことの説明から、テーマ設定、効果最大化のための開催形態と頻度、現時点(2024/4・5時点)の結果について解説しています。 勉強会を通じて実現したいこと チーム内勉強会を通じて実現したいこととして、以下を設定していました。 チーム・個人としてのレベルアップ 積極的な議論への参加 相互理解 チームとしての目線合わせ 勉強会を開催するからには何かしらのスキルや考え方を身に付けたいはずです。 また、学習効果を最大化するためにも、積極的な議論への参加を実現したいと考えました。 さらには、勉強会の中での議論を通じ

    チーム内勉強会の進め方事例 - MNTSQ Techブログ
  • もし「GitHub Copilot」を現役弁護士が使ったら? - MNTSQ Techブログ

    こんにちは。GitHub Copilotを先日初めて触って、感銘を受けたMNTSQ代表の板谷です。MNTSQの代表をしておりますが、現役の弁護士でもあります。 なぜ私が、GitHub Copilotに感銘を受けたかというと、「プログラミングの LLM による進化」は、契約という言語をコーディングするためにもドンピシャで使えそうだと感じたからです。 例えば、GitHub Copilot では、自分の過去のコードを参照して、最適なコードをサジェストしてくれます。 これは、契約に関わるすべてのビジネスパーソンが求めていたものです!契約の 99.9%が過去のコードの使い回しであるにもかかわらず、毎回ゼロからコーディングするのが当に苦痛だからです。ちなみに、前回契約と理由なく diff があると取引先に怒られます。笑 しかし、GitHub Copilot 的なものがプログラミング言語だけでなく契約

    もし「GitHub Copilot」を現役弁護士が使ったら? - MNTSQ Techブログ
  • ヘルプデスク業務を楽にするためにSlackとGitHub Projectを同期するヘルプデスクツールを自作した - MNTSQ Techブログ

    こんにちは。MNTSQの下村です。 コーポレートエンジニアとして、MNTSQ従業員の生産系向上施策等を実施していたりします。 ( Twitterもやっている のでフォローしてもらえると嬉しいです! ) 日は社員からの問い合わせ業務 いわゆる ヘルプデスク業務について効率化するためのツールを自作した 話を書いてみます。 この記事の要約 一人目コーポレートエンジニアとして参画したがヘルプデスク業務が非効率だったので効率化した。 質問に対して特定のemojiを押すとGitHub ProjectsのItemを作成するようにした。 SlackスレッドのコメントとGitHub ProjectsのItemを双方向同期するようにした。 Azure OpenAIも利用して効率化した。 きっかけ 2023年5月からMNTSQの一人目コーポレートエンジニアとして参画しています。 情報システムを色々と整備してい

    ヘルプデスク業務を楽にするためにSlackとGitHub Projectを同期するヘルプデスクツールを自作した - MNTSQ Techブログ
  • 差分指向テスト(DOT: Difference Oriented Testing)という考え方 - MNTSQ Techブログ

    はじめに MNTSQ(モンテスキュー)株式会社 フロントエンド担当の安積です。 入社して4ヶ月とちょっと。 コードに取り組もうと入社して、まさに日々格闘しております。 私の後ろの席にはこんなバズ記事書く人や、こんなイカつい記事書く人が座ってまして、そんなプレッシャー期待の中からお送りいたします。 tech.mntsq.co.jp tech.mntsq.co.jp 昨日はこんな記事も公開されています。 tech.mntsq.co.jp はじめに 現在のステータス またはMNTSQ考古学 リファクタリングやるぜっっ! 仕様書大事だよね 差分指向テストとは テスト環境の概要 テストデータ ブラウザ操作自動化 スクリーンショット比較 Playwriteの操作 ちょっとコードのサンプル 最後に この記事を書いた人 現在のステータス またはMNTSQ考古学 コードベースから見たMNTSQのフロントエン

    差分指向テスト(DOT: Difference Oriented Testing)という考え方 - MNTSQ Techブログ
  • 公開されている日本の企業名辞書の紹介 - MNTSQ Techブログ

    特許・契約書・有価証券報告書・企業関連ニュースなど、実応用上の自然言語処理では、会社名を認識したいという場面に非常に多く出くわす。 会社名らしい文字列をテキストから抽出することは、形態素解析器の辞書を用いたり固有表現抽出モデルを学習することである程度実現される一方で、抽出した会社名をレコード化して分析などに用いる際には、いわゆる名寄せの問題が発生する。 自然言語処理における名寄せに似た問題は、エンティティリンキングや共参照解析といったアプローチで探求されており、実応用上は前者のアプローチが採られることが多い印象がある。*1 名寄せタスクをエンティティリンキング的に解くためには、帰着先の知識ベース・辞書が予め存在していることが必要だが、研究の文脈では知識ベースとしてWikipediaが採用されることが多い。 Wikipediaを用いる利点は多くあり、様々なエンティティ種に対してそこそこのカバ

    公開されている日本の企業名辞書の紹介 - MNTSQ Techブログ
  • pythonの依存関係解析ツール、pydepsを使う - MNTSQ Techブログ

    はじめに 皆様はpythonで書かれたソフトウェアのリアーキテクティング1をどのように進めていますでしょうか? 既存のソフトウェアに新規機能が追加しにくいとか、機能が修正しにくい等の問題がある場合にリアーキテクティングは有効です。 リアーキテクティングの初手としては既存のソフトウェアが抱える課題の洗い出しが行われます。その際にソフトウェア内のモジュール同士の依存関係を図で把握したい場面があります。 モジュール同士の依存関係が図示されていれば、モジュール同士の構造上の問題点を伝えやすくなり、かつモジュール同士の関係を将来的にどのように落としていくかも議論しやすくなります。 このような用途に用いるpython用の依存関係解析ツールとして、今回はpydepsを紹介します。 pydeps.readthedocs.io なお、記事で扱うコードは下記にアップロードしてあります。 GitHub - U

    pythonの依存関係解析ツール、pydepsを使う - MNTSQ Techブログ
  • 身近なデータで30分クッキング:Google Meetのログを解析してみる編 - MNTSQ Techブログ

    最近、身近なスモールデータをさくっと分析してみる機会があったので、過程をまとめてみました。スモールデータの解析であっても、前処理、可視化、示唆出しなどデータ分析に必要な所作というのは変わりません。ステップに分けながら紹介したいと思います。 今回はツールにGoogle Spreadsheetしか使っていないので、ノンエンジニアのビジネスサイドの人であっても同じ分析を回すことができます。Google Workspace(Gsuite)を使っている企業であれば紹介した生データも取得ができるかと思いますし、30分くらいしかかからないので、試してみると面白いかもしれません。 今回取扱いたいデータはGoogle Meetのログデータです。COVIDの影響で営業や採用文脈でリモートMTGが増えました。「最近、リモートMTGのちょっとした遅刻、多くない?」という社内のふとした問題提起から、実際にログをみる

    身近なデータで30分クッキング:Google Meetのログを解析してみる編 - MNTSQ Techブログ
  • python3.8 から新しく導入された Literal types について - MNTSQ Techブログ

    はじめに pythonの関数に与える引数として特定の値のみを許容したいときはないでしょうか? そのようなときに、動的に引数の値をチェックして範囲外のものを除外するアサーションや、Enumを用いてとりうる値を絞ることが考えられます。 ですが、前者は動的な値検査しか行えず、後者についてはAPIの引数の型をEnumに変更する必要があり、Enumが既存のAPIをオーバーロードしたときの引数の型として使えるとは限らないです。1 このような引数の値のチェックに使える手段として、python3.8から使えるようになっているLiteral typesがあります。 Literal types は型として宣言することで、関数の引数等に対して特定の型を要求するのと同時に、特定の値を持つことも要求できます。 例 次のようなコードの例を考えてみます。 target_fruit = ['apple', 'banana

    python3.8 から新しく導入された Literal types について - MNTSQ Techブログ
  • Transformersを用いた固有表現抽出のtips - MNTSQ Techブログ

    TL;DR TransformersのNERではFast Tokenizerを使うことで、サブトークン ↔ ラベルのアラインメントが実装できる。 長いテキスト入力については、無駄なpaddingを最小限にとどめて高速処理するために、入力を固定長分割するのが良い。 検出漏れが問題になるようであれば、ストライド付きのwindow処理を追加するのが良い。 サンプル実装: github.com 背景 この記事を目に留めていただいた方にはおそらくおなじみであろう Hugging Face の Transformers *1。 BERT等のTransformer素子ベース事前学習モデルを用いた転移学習が容易に実験できるライブラリである。 最新モデルのモジュールがすごいスピードで実装されることに加えて、事前学習モデルおよび依存するトークナイザが一緒に管理・ダウンロードできる点がご利益として特に大きい。

    Transformersを用いた固有表現抽出のtips - MNTSQ Techブログ
  • 101回目のDocker入門 - Techブログ - MNTSQ, Ltd.

    あなたはDockerに何回入門しただろうか? 何度あのクジラを見て頭を抱えたことだろうか? 今回あなたを「とりあえずDockerを使ってワールドプレスを表示する」ところまで道案内しようと思う。 そう、夢はでっかく世界に羽ばたかないとね。 間違えた、ワードプレスだ。 Dockerって何 ワードプレスって何 Dockerでワードプレスを動かす ダウンロード インストール Windows macOS Dockerを起動する Windows macOS ワードプレスの設定ファイルを作る テキストエディタを開く Windows macOS 設定を貼り付ける 設定ファイルを保存する Windows macOS ワードプレスを動かす Windows macOS ワードプレスを表示してみよう 注意事項 ワードプレスを止める おわり 仲間募集中! この記事を書いた人 Dockerって何 「仮想化かーそうかー

    101回目のDocker入門 - Techブログ - MNTSQ, Ltd.
  • Ubuntu を業務PCで使いつづけて3年が経ちました。 〜Web開発にmacOSじゃなくて大丈夫なのか気になる方へ〜 - MNTSQ Techブログ

    MNTSQ(モンテスキュー)株式会社 ソフトウェアエンジニアの沼井です。 普段はRailsでのバックエンド開発をしつつ、Elasticsearchによる全文検索処理やインデクシングまわりの開発にも取り組んでいます。 私は現在、 Thinkpad X1 Carbon (2021年版)にUbuntu 20.04をインストールして開発を行なっています。MNTSQ社以前の経験も含めると、業務でのUbuntu使用経験は3年以上あります。 テック系スタートアップの、とりわけWebサービス・スマホアプリの開発シーンでは、macOSユーザーが99%(※個人の感想です)ということもあり、macOS以外の環境を(使いたくても)使うことが難しいと思っている人も多いと思います。 記事では、業務でのUbuntu利用の実情・課題・メリットなどを共有したいと思います。 TL; DR テック系スタートアップにおけるソフ

    Ubuntu を業務PCで使いつづけて3年が経ちました。 〜Web開発にmacOSじゃなくて大丈夫なのか気になる方へ〜 - MNTSQ Techブログ
  • Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ

    たくさんの文字列(や離散的な符号列)をメモリに載せないといけないんだけど、いろんな制約があって通常のList[str]では載らない…ということありませんか?(まぁあんまりなさそうですね) たまたまそういうことがあったので、その際に検討した内容をまとめておきます TL;DR メモリをもっと増やしましょう 富豪的に解決できるならいつでもそれが最高です しかし、世の中それでなんとかならんこともたくさんあります 用途があうのであれば専用のデータ構造を採用する 例えばもし共通のprefixやsuffixが存在し、順序に興味がなければtrie treeなどが使えます 例えば、弊社であれば、法人名をメモリに持ちたいなんてときもあります。そういうときに法人名の辞書をtrieで持ったりすることがあります 「株式会社」「一般財団法人」や「銀行」といった共通語がたくさんでてくるのでtrie treeでごりごり削

    Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ
  • もし「リーダブルコード」を弁護士が読んだら? - MNTSQ Techブログ

    こんにちは。「リーダブルコード」を先月読破して、感銘を受けた弁護士の人です。 なにに感銘を受けたかというと、「エンジニアが高級言語を効率的にコーディングするための工夫」は、契約という言語をコーディングするために援用できることがとても多いということです。 例えば、リーダブルコードは「関数には空虚な名前(tmpとかretvalとか)でなく、エンティティの実体に即した名前をつけよう!」と提案しています。 これめっちゃわかります!!!なぜなら、契約言語では当事者というクラスの表現のために「甲」「乙」という定義を未だに使います。そして、甲と乙を逆に書いてしまったままReviewを通過することが実際によくあります。オライリーさんには激怒されるでしょう。 しかし、よく考えると高級言語と契約言語が似ているのは当然だと思うようになりました。それは、どちらも「一定のインプットを入れると、必ず一定のアウトプット

    もし「リーダブルコード」を弁護士が読んだら? - MNTSQ Techブログ
  • 1