DTダイナミクス テックブログ

https://techblog.dt-dynamics.com/

DTダイナミクス テックブログ

フィード

記事のアイキャッチ画像
ScalaのOptionってなんやねん
はてなブックマークアイコン 1
DTダイナミクス テックブログ
ごあいさつ こんにちは。meviyのGrowthチームで開発している林です。 もともとJava/Kotlinを利用して開発しているところからScalaを利用した開発に飛び込んでまずハマったOption型について話してみようかと思います。 Option型とは そもそもOption型ってなんなんでしょうか? Wikipediaによると以下のようなものです。 プログラミング言語と型理論において、Option型(英語: Option type)またはMaybe型(英語: Maybe type)は存在しない可能性のある値をカプセル化して表す多相型である。 結果が返ってくるかわからない、使うときに中身空か…
5日前
記事のアイキャッチ画像
Scalaの.copyについて
DTダイナミクス テックブログ
ごあいさつ こんにちは。meviyのWebシステムを開発している谷平です。 Scalaの.copyはケースクラスにおいて便利な機能の1つです。 本記事では、.copyの便利な点やJavaとの比較、ユニットテストでの活用例を紹介します。 .copyの便利な点 .copyは、オブジェクトを新しく作成しながら、特定のフィールドだけを変更できる機能です。 ケースクラスを用いると、手軽に値の一部を変更した新しいインスタンスを生成できます。 使用例 case class User(name: String, age: Int) val user1 = User("Alice", 25) val user2…
6日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】板金・溶接Webチーム
DTダイナミクス テックブログ
はじめに こんにちは、meviyの板金・溶接Webチームの小平です。今回は私たちのチームについての取り組みや特徴をご紹介します。 板金・溶接Webチームとは まず、私たちのチーム名にもある「板金・溶接」について簡単に説明します。 「板金」とは簡単にいうと一枚の金属の板を切ったり、曲げたり、穴あけをして作成される部品を指します。例えば、装置の外装やカバーなどの多くは板金部品で設計されています。 また、これらの板金部品同士を溶接で組み合わせ、一体化させたものが「板金溶接」になります。1枚の板からは製作できないような、複雑な形状の部品も製作できます。例えば、L字に曲げられた箇所に対して支えになる板を…
7日前
記事のアイキャッチ画像
meviy 2D業務システム開発チームのご紹介
はてなブックマークアイコン 1
DTダイナミクス テックブログ
皆さんはじめまして。 2025年 1月 1日より株式会社DTダイナミクス にJOINしました。 id:bikun_bikun といいます。 入社エントリーもまだ出していませんが、本記事では現在私が担当しているmeviy 2Dの業務システム開発チームについてご紹介します。 担当システムについて meviy 2D は2D図面のアップロードを行い、簡単な依頼内容を入力することで見積を取ることのできるサービスです。 見積完了したものは部品の型番が発行されるため、misumiのサイトで注文することができます。 私が担当しているのはmeviy 2Dで見積りをいただいた後の工程である検図などの業務を行いやす…
8日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】切削Webチーム
DTダイナミクス テックブログ
はじめに meviyの切削Webチームに所属しています。高橋と申します。テックリードをしています。 PMIチームと兼任という形になっており、私のチームメンバーの横田さんがPMIチーム紹介記事を書いております。ぜひ見ていただければと思います。 techblog.dt-dynamics.com 切削Webチームとは 切削Webチームと書きましたが、Milling&Turningを略してM&Tチームと呼ばれることが多いです。 Millingは切削加工のことで工作物を固定、工具を回転させて削っていく加工方法です。サイコロのような6面を持つ部品で角物とも呼ばれています。 Turningは旋盤加工のことで…
9日前
記事のアイキャッチ画像
ECSタスクをSQSのコンシューマとしてイベント駆動で起動させよう①
DTダイナミクス テックブログ
はじめに DTダイナミクスでSREセクションのテックリードをしている霜鳥です。 今回はAmazon SQSのメッセージをLambdaよりも柔軟なワークロードに対応でき、 処理時間も長くとれるECSタスクで処理させよう!という話題で全2回を予定しております。 その他、霜鳥が書いた過去の記事はこちら。 Seekable OCIでECSのタスク起動速度をお手軽に改善しよう CodeBuild-hosted GitHub Actions runner使ってみた①〜紹介編〜 CodeBuild-hosted GitHub Actions runner使ってみた②〜実践編〜 入社エントリ〜SREしもとり〜…
10日前
記事のアイキャッチ画像
Seekable OCIでECSのタスク起動速度をお手軽に改善しよう
DTダイナミクス テックブログ
はじめに DTダイナミクスでSREセクションのテックリードをしている霜鳥です。 今回はECSタスクの起動速度を改善するのにSeekable OCI(SOCI)が非常にお手軽で効果が抜群だったのでご紹介していきます! その他、霜鳥が書いた過去の記事はこちら。 CodeBuild-hosted GitHub Actions runner使ってみた①〜紹介編〜 CodeBuild-hosted GitHub Actions runner使ってみた②〜実践編〜 入社エントリ〜SREしもとり〜 Datadog Summit Tokyo 2024参加レポ Seekable OCIとは 詳細は下記ドキュメン…
11日前
記事のアイキャッチ画像
CodeBuild-hosted GitHub Actions runner使ってみた②〜実践編〜
DTダイナミクス テックブログ
はじめに DTダイナミクスでSREセクションのテックリードをしている霜鳥です。 この記事はCodeBuild-hosted GitHub Actions runner使ってみた①〜紹介編〜の続編です。 今回は実際にCodeBuildをGitHub Actions(以下GHA)のself-hosted runnerとして設定してGHAから利用する方法をTerraformのコードを交えながらご紹介します。 その他、霜鳥が書いた過去の記事はこちら。 入社エントリ〜SREしもとり〜 Datadog Summit Tokyo 2024参加レポ はじめに 実装 前提 main.tf variables モ…
12日前
記事のアイキャッチ画像
CodeBuild-hosted GitHub Actions runner使ってみた①〜紹介編〜
DTダイナミクス テックブログ
はじめに DTダイナミクスでSREセクションのテックリードをしている霜鳥です。 以前の記事はこちら↓ 入社エントリ〜SREしもとり〜 Datadog Summit Tokyo 2024参加レポ TL;DR 2024年4月24日にAWS CodeBuildがGitHub Actions(以下GHA)のランナーに対応したことを発表しました。 cf: AWS CodeBuild がマネージド型の GitHub Action ランナーのサポートを開始 CI/CDの選択肢を広げるこのサービスを使ってみたので今回と次回の2回を通して紹介します。 フルマネージドx従量課金という GitHub hosted …
13日前
記事のアイキャッチ画像
meviy Finder開発チーム紹介
DTダイナミクス テックブログ
はじめに meviy Finder開発チームに所属する劉(リュウ)です。 主にバックエンドの開発を担当しています。今回は、meviy Finder開発チームについてご紹介します。 業務内容 meviy Finderは、AIを活用した2D図面データ検索プラットフォームです。 図面の寸法・材質などの情報を、AIが自動解析しデータを登録 AI解析で追加されたキーワードを元に蓄積された図面データを簡単に検索可能 AIによる類似図面検索で、過去の図面探しの作業時間を大幅に削減 これにより、従来手作業で行っていた図面管理の効率化を実現しています。 メンバー構成 プロジェクトマネージャー1名 テックリード1…
14日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】PMIチーム
DTダイナミクス テックブログ
はじめに こんにちは、meviyのPMIチームで開発をしております、横田です。今回は私の所属するPMIチームについて、チームの概要や業務内容について紹介します。 チーム概要 PMIチームは、meviyのPMI表示に関する機能を中心に、3D Viewerに関連する開発をしています。 PMIとは、製品製造情報(Product Manufacturing Information) の略称になります。 一般的に、加工部品寸法や公差の情報は、2D図面に下記のように記載されます。 PMIチームは、主にこれらの情報を3Dモデル上で表現するための機能を開発するチームです。 2025年3月現在、リーダー1名/メ…
15日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】SREチーム
DTダイナミクス テックブログ
はじめに こんにちは、SREチームの髙野です。 今回はmeviy開発に携わるチーム紹介というカテゴリーでSREチームについて紹介したいと思います。 メンバー構成 SREチームのメンバー構成は以下の通りです。 リーダー1名 テックリード1名 メンバー4名 メンバーそれぞれがmeviyやmeviy Marketplaceをはじめとするプロダクトのインフラ領域を担っています。 基本はテキストコミュニケーションですが、カジュアルにslackのハドルを使うなど柔軟にコミュニケーションをとっています。 プロフェッショナルでホスピタリティが高く、多趣味でユーモアな人材が集まっているため、質が高くコミュニケー…
16日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】FACommonチーム
DTダイナミクス テックブログ
はじめに こんにちは、共通基盤開発チーム、通称FACommonチームでテックリードを務めている眞神です。 今回はmeviy開発に携わるチーム紹介というカテゴリーでFACommonチームについて紹介したいと思います。 なお、先日入社していただいた張さんも現在FACommonチームに所属しています。 チーム紹介 meviyのWebシステム開発チームには、切削加工や板金加工などの加工方法固有の機能を担当するチームと、加工方法を横断した汎用的な共通機能を担当するチームがあります。その中で、FACommonチームはCommonと付いているように、共通機能の開発・保守運用を担当しています。なお、FAはFa…
17日前
記事のアイキャッチ画像
【meviy 開発チーム紹介】形状処理チーム
DTダイナミクス テックブログ
はじめに meviyの形状処理チームで開発をしております、高橋と申します。 前職では主にバックエンドエンジニアをやっていて、インフラ周りや形状処理の開発もしていました。 今回は私が所属する形状処理チームについて紹介したいと思います。 業務内容 チーム名にもある「形状処理」とは、幾何学的な形状をコンピュータで扱う処理のことです。meviyにまつわる形状処理として、私たちは以下の機能を開発しています。 形状認識:幾何形状を解析して、製造上の意味付けを持った構造化データを抽出する機能 リモデル:製造上必要となる形状の修正を加えた新しいモデルを生成する 製造可否判定:与えられた形状を実際に作ることがで…
18日前
記事のアイキャッチ画像
Scalaのパーサーコンビネーターで四則演算をやってみよう
DTダイナミクス テックブログ
はじめに こんにちは。meviyのWebシステムを開発している大崎です。 プログラミングをしていて、独自に定義した数式のようなものを読み込ませようとして、正規表現などを駆使して何とか実装した、といった経験はありませんか? 私がScalaの中で面白いと思うものの一つに、パーサーコンビネーターがあります。 パーサーコンビネーターは、簡単に言えば小さなパーサーを組み合わせてより複雑なパーサーを作成するためのライブラリです。これにより、複雑な文法解析をシンプルで直感的な方法で行うことができます。 今回は、Scalaのパーサーコンビネーターを使って、文字列で与えられた四則演算を行うプログラムを作成してみ…
25日前
記事のアイキャッチ画像
Scalaのコレクションメソッド .containsと.existsについて
DTダイナミクス テックブログ
ごあいさつ こんにちは。meviyのWebシステムを開発している大崎です。 今回は、Scalaのコレクション内に要素の存在チェックに使われるメソッドについて触れたいと思います。 ごあいさつ 各メソッドの紹介 .contains メソッド .exists メソッド 実装例 .contains メソッドの実装例 .exists メソッドの実装例 数値リストの条件チェック 文字列内に特定の単語が存在するかのチェック 真偽値の確認 内部実装 Javaでの同等の実装 まとめ 終わりに Scalaでコレクションを操作するとき、「該当する要素が存在するか」「特定の条件を満たす要素が存在するか」を確認する場面…
2ヶ月前
記事のアイキャッチ画像
ScalaのCollectionの.collectを使って要素をフィルタリング&変換する
DTダイナミクス テックブログ
ごあいさつ こんにちは。meviyのWebシステムを開発しています、大崎です。 今回は、Scalaでコードを書く中でよく使うことになるであろう、コレクションの.collectメソッドについて、その紹介と実装例、Javaとの比較について書いていきたいと思います。 ごあいさつ .collectメソッドのあらまし 実装例 .collectなしでの実装例 .collectを使った実装例 Sealedクラスとの組み合わせ例 Scalaでの実装 Javaでの実装 おまけ まとめ おわりに .collectメソッドのあらまし collectメソッドは、Scalaのコレクションにおいて、特定の条件に一致する要…
4ヶ月前
記事のアイキャッチ画像
フロントエンドの基本的なテクニックを解説してみる 〜 ドラッグ&ドロップ
DTダイナミクス テックブログ
こんにちは、切削チームの石川です。 前回に引き続き、フォルダアップロードに絡んだフロントエンドのテクニックの解説を行います。 今回のテーマはドラッグ&ドロップです。 ドラッグ&ドロップの基本 ドラッグ&ドロップで出てくる用語 ドラッグイベント DataTransfer FileSystemEntry ドラッグ&ドロップでフォルダを扱うサンプルコード 実際に機能を作る場合の観点 まとめ ※前回の記事は以下です。 techblog.dt-dynamics.com ドラッグ&ドロップの基本 ブラウザにおけるドラッグやドロップに関する処理は、HTML Drag and Drop APIを使うことで実装…
4ヶ月前
記事のアイキャッチ画像
イベントレポート 〜 社内勉強会
DTダイナミクス テックブログ
こんにちは、切削チームの石川です。 今回は先日行われた社内勉強会の様子をお届けします。 製造業の顧客やサプライヤに関する勉強会を行いました 3回目はプレゼン形式でのグループディスカッション 私のチームで行ったプレゼン 勉強会を通して勉強になったこと、苦労したこと(エンジニア視点) 勉強になったこと 苦労したこと まとめ 製造業の顧客やサプライヤに関する勉強会を行いました DTダイナミクスではmeviyを開発しており、自分たちが関わっているサービスの業界知識を学ぶための勉強会を先日行いました。 装置などで使われる部品を注文するにあたっては、以下の流れで設計や注文が行われます。 メーカーの設計者が…
5ヶ月前
記事のアイキャッチ画像
入社エントリ〜backendちょう〜
DTダイナミクス テックブログ
初めまして、2024/10/01にバックエンドエンジニアとして入社した張です 読み方はタイトルのように、ちょうと申します 部署 meviyの共通部分を開発、運用保守のチームに所属しています バックエンドエンジニアとして入社しましたが、 必要に応じてフロントエンドにも携わるチームです 技術スタック role language framework front-end typescript React back-end Scala play 詳しい内容はここにあります ついでに、 僕はMacプラスUS配列キーボード派で、会社では少数派のようです 実はJIS配列を使うと、commandを叩くつもりで英…
5ヶ月前
記事のアイキャッチ画像
Scalaのユニットテストで浮動小数点数の比較を行う
DTダイナミクス テックブログ
こんにちは。meviyのWebシステムを開発しています、大崎です。 主に溶接関連の機能を開発しております。 今回はScalaのユニットテストでの浮動小数点数の比較について触れたいと思います。 Scalaのユニットテストで浮動小数点数を比較する方法 準備 ScalaTestでの浮動小数点数の比較 +- を使わない場合 JavaのJUnitでの浮動小数点数の比較 まとめ 終わりに Scalaのユニットテストで浮動小数点数を比較する方法 準備 ScalaTestを使用して、浮動小数点数の比較を行うにあたり、 https://www.scalatest.org/install を参考に、build.s…
5ヶ月前
記事のアイキャッチ画像
Datadog Summit Tokyo 2024参加レポ
DTダイナミクス テックブログ
はじめに DTダイナミクスでSREセクションのテックリードをしている霜鳥です。 以前の記事はこちら→入社エントリ〜SREしもとり〜 本記事は2024/10/16に赤坂インターシティコンファレンスで開催されたDatadog Summit Tokyoの一般参加イベントレポです。 前職ではNew Relicを中心にオブザーバビリティ(以下o11y)ツールの導入、ダッシュボードやアラート作成、SLI/SLOの策定などを行ってきました。 その一方でDatadog経験はほぼなかったため、基本的な思想や体系だった利活用の方法、最新の情報を得たいという思いからイベント参加いたしました。 はじめに イベント概要…
5ヶ月前
記事のアイキャッチ画像
フロントエンドの基本的なテクニックを解説してみる 〜 フォルダ読み込みとPromisification
DTダイナミクス テックブログ
こんにちは、切削チームの石川です。 DTダイナミクスのテックブログにScalaやRustの記事が投稿されてきており、せっかくなのでフロントエンドやTypeScriptに関する記事も書いてみようと思います。 meviyではフォルダアップロード機能が実装されていますが、ファイルやフォルダのアップロードにはフロントエンド・サーバーサイドともに基本的なテクニックが詰まっています。 フォルダアップロードに関するさまざまなテクニックの中から、今回はブラウザでのフォルダ読み込みとPromiseに関する基本的な部分を説明していきます。 ブラウザでフォルダを読み込む際の基本 Promisificationについ…
6ヶ月前
記事のアイキャッチ画像
meviy に Rust が入りました
DTダイナミクス テックブログ
形状認識処理のディレクターを務めている寺田です。昨年10月よりDTダイナミクス(ミスミグループ出資の戦略的IT子会社)のお世話になっています。 私が入社した時点では meviy の形状認識はすべて C++ で書かれていましたが、そこに Rust を導入したというお話です。 Rust で何作ったの? ゴチャゴチャと御託を並べる前に、まずは Rust で何を作ったのかを簡単に紹介しましょう。 大きく分けて下記の3領域に Rust を導入しました。 溶接リモデル機能 平板展開機能 自動テストツール ここでは先頭の「溶接リモデル」について簡単に紹介します。 この機能の内部実装を C++ から Rust…
7ヶ月前
記事のアイキャッチ画像
Scala初心者がScalaのfor式を説明してみる
DTダイナミクス テックブログ
ごあいさつ こんにちは。meviyを動かしているWebシステムを開発しています、大崎です。 実は今年の春の入社でして、これまでJavaやKotlin等を長く書いてきましたが、 DTダイナミクスに入社して初めてScalaを本格的にやることになりました。 既存コードを改修していく中で、Scalaならではのところで戸惑うシーンもありましたので、今から学習される方が少しでもスムーズに続けるように書き残したいと思います。 その中でも、まずはfor式について触れたいと思います。 また、本稿のScalaはバージョン2系となっております。 for式の基本 forと聞くと繰り返しのループ処理を思い浮かべてしまい…
7ヶ月前
記事のアイキャッチ画像
バリューズカードをやってみた
DTダイナミクス テックブログ
こんにちは、meviyの切削チームで開発している石川です。 今回は先日社内で行われたバリューズカードの様子をお届けします。 バリューズカードとは? バリューズカード(https://get.wevox.io/valuescard)とは、簡単にまとめると以下のようなゲームです。 自分の価値観と一番遠いものを捨てて、山札がなくなるまで繰り返す カードには「心地よさ」「自己成長」「勇気」など価値観を表す言葉が書かれている 山札がなくなったら全員の手札をオープンにして、カードを選んだ理由を参加者全員で共有する 実際にやっていると「仕事を捨てました!」のようなパワーワードが頻出しますね(笑) 詳細は上記…
8ヶ月前
記事のアイキャッチ画像
板金の形状認識はじめの一歩
DTダイナミクス テックブログ
こんにちは!ときにはmeviyで板金の形状認識の開発をしたりしてます、南です。 meviyでは様々なCADデータをアップロードして部品を調達できるんですよね。CADでモデリング時に「ここは曲げで、ここはタップ穴で、ここを溶接して……」といった情報を入力すれば製造時に情報を参照して加工することもできますが、すべてのCADデータで情報を統一することは、まぁ無理ですよね。また、企業や組織が異なると設計時に入力する情報も異なるでしょう。 ということで、meviyではアップロードされた形状情報から特徴を抽出し、その部位が何であるのかを認識します。もうちょっと大きく言うと3Dモデルから設計者の意図を読み解…
8ヶ月前
記事のアイキャッチ画像
入社エントリ〜SREしもとり〜
DTダイナミクス テックブログ
はじめまして、7月1日にSREとして入社しました霜鳥です。 よく「きりしま」と読み間違えられるのであえて平仮名で表記しています。 前職ではバイトルで知られているディップ株式会社で看護師向けの人材紹介事業「ナースではたらこ」のエンジニア/テックリードとして保守・開発・運用を行っていました。 前職・ディップでのお仕事 京都大学工学部卒業後、2019年に前職のディップにRuby on Railsを扱うバックエンドエンジニアとして入社し、DTダイナミクス(ミスミ)に転職するまでの丸5年間、1つのサービスのグロースに携わってきました。 入社当初のチームは自分を含めて3人のとてもコンパクトなものだったため…
9ヶ月前
記事のアイキャッチ画像
DMS名古屋2024参加レポート
DTダイナミクス テックブログ
初めまして、meviyの開発エンジニアをしています、横田と申します。 日頃は3Dモデルビューア部分のフロントエンド開発を担当しています。基本的に業務は開発関連のみなのですが、今回は4月に行われた展示会にて、普段のエンジニア業務とは違い、デモンストレーションを行う説明員として参加する、貴重な経験ができる機会がありましたので、その内容や感想を共有したいと思います。 イベント概要 第9回 ものづくり ワールド 設計・製造ソリューション展 [名古屋] 2024 会期:2024/04/10 〜 2024/04/12 会場:ポートメッセなごや イベントページ:ものづくり ワールド [名古屋] ミスミブース…
9ヶ月前
記事のアイキャッチ画像
AIのことを少しわかっておきたい
DTダイナミクス テックブログ
日経平均株価が過去最高を更新!AIの需要を見込んで上がっていると言われているが、ぼくのポートフォリオはどこ吹く風である。くぅ! ただ、ぼくたちファミっ子にとってAIと言ったらボス戦でザラキを連発するようなやつである。小学生頃のぼくたちの不満で次作では「めいれいさせろ」コマンドが実装された。 しかしぼくらも「そんな指示を出す勇者なんて勇者失格だろう」と思うくらいには大人になった。そんな態度じゃフリーレンも心を開いてくれないぞ。 そろそろぼくもAIと打ち解けるころ合いなんじゃないだろうか。 申し遅れました。2023年より株式会社DTダイナミクスでmeviyの開発をしております。南と言います。主にC…
10ヶ月前