株式会社モバイルファクトリー の技術ブログ

コミットメッセージにブランチ名を自動挿入する

こんにちは、新卒エンジニアの id:kaoru-k_0106 です 何をしたか 私のチームでは、コミットメッセージの先頭にチケット番号を入れるルールがあります。 例えば、 PROJECTNAME-123 〇〇の処理を変更した だと、 PROJECTNAME-123 の部分がチケット番号です。 最初はこれを手動で入力していたのですが、時々入力を忘れることがあり自動挿入しようと思いました。 ちょうど、トピック
Git

Perlのコンテキストクイズにツールで答えてみた

はてなさんのコンテキストクイズに拙作の Contextual-Diag で答えてみました。これでコンテキストマスターですね!? github.com use Test2::V0; use CDD; like( warnings { length ( cdd ) }, [ qr/wanted SCALAR context/ , qr/evaluated as STR/ ], 'length <ここ> ... STR in SCALAR' ); like( warnings { if ( cdd ) {} }, [ qr/wanted SCALAR context/ , qr/evaluated as BOOL/ ], 'if (<ここ>) ... BOOL in SCALAR' ); like( warnings { for my $i ( cdd ) {} }, [

特定のディレクトリだけパーミッションを確認したい

TSの型迷宮に迷い込んだエンジニアの id:dorapon2000 です。 ディレクトリのパーミッションを調べるとき、皆さんどうしていますか。例えば /etc のパーミッションを確認したいとき、以前の僕はこうです。 ❯ ls -l / total 104 drwxr-xr-x 2 root root 4096 6 月 28 18:34 bin drwxr-xr-x 3 root root 4096 6 月 28 18:35 boot drwxr-xr-x 15 root root 3640 11 月 16 10:02 dev drwxr-xr-x 128 root root 12288 11 月 2 10:55 etc drwxr-xr-x 4

DBIのcanは、関数が生えているかでなく、実装されているかどうかを判定する

 次のコードの通り、 DBIx::Sunny を利用した際、 $dbh->select_one を呼び出せるにも関わらず、 $dbh->can('select_one') が false となります。   can の挙動が、デフォルトと異なり、一見すると困惑します。 use Test2::V0; use DBIx::Sunny; use Types::Standard qw(HasMethods) ; my $dsn = "dbi:SQLite:dbname=test.db" ; my $dbh = DBIx::Sunny-> connect ( $dsn , 'root' , '' ); ok ! $dbh->can ( 'select_one' ), '不思議な挙

VSCode で TypeScript の交差型のプロパティを省略せずに見れるようにする

VSCode でホバーして型情報を見ようとすると、交差型はプロパティが展開されません プロパティの型を展開する Mapped Types を通すことで省略せずにプロパティを見ることができます。プロパティが交差型になっていることもあるので、再帰的にプロパティを Mapped Types に通すような型を定義しておいて、通すことでプロパティを全て確認できます type Expand < T > = T extends o

NFTマーケットプレイス「ユニマ」の技術スタックを紹介します

こんにちは。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 ブロックチェーンチームでは NFT を販売するための Uniqysマーケットプレイス (以下、ユニマ)と、その NFT を販売するための管理画面(以下、管理画面)を開発しています。ユニマはブロックチェーン上の NFT を日本円で売買可能なマーケットプレイスです。 ユニマの開発はブロックチェーン

モバイルファクトリー Advent Calendar 2021

こんにちは!エンジニア組織開発責任者の id:kfly8 です。 今年もモバイルファクトリーのAdvent Calendarをお送りします🎉 今年のアドベントカレンダーは「 今日から使える技術 」をテーマにコンパクトにお届けしていきます! *1 今予定しているキーワードを見ると・・「TypeScript」「Vue.js」「Perl」「CLI」「MySQL」「AWS」「地図」「プロダクトマネジメント」などがあります。

CommonJS と ESModules が混在している環境で、lodash を lodash-es に置き換え、バンドルサイズを減らす

こんにちは、21卒エンジニアの id:d-kimuson です。 先日、プロダクトで使用している lodash を lodash-es に置き換えることで、バンドルサイズの削減をしました。 lodash を lodash-es に置き換える話はよくありますが、今回のプロダクトは運用歴が長く CommonJS と ESModules が混在している少し特殊な環境での試みだったので、知見を共有したいと思います。 利用されていないコードを

Perlの最新動向 2021

こんにちは、エンジニアの id:mp0liiu です。 8月28日(土)の Learn Languages 2021 というイベントの Language Update というセッションで @charsbar さんと一緒に2018年以降のPerl5やPerlコミュニティの最新動向について話してきたので、そのとき話した内容に補足などしつつ記事にしていきたいと思います。 配信アーカイブは こちら から見れます。 時系列 2019/5/22 Perl5.30 リリース 2020/6/20 Per

目的と技術に向き合う。その心は、楽しさのため|モバファクエンジニア座談会

モバイルファクトリーのエンジニアは、NFTマーケットプレイスの「ユニマ」や位置ゲームの「駅メモ!」など様々な事業の開発をしています。そんなエンジニアたちが、普段、どのようなことを考えているのか。3人のエンジニアに聞いてみました。 この記事に出てくる人たち チームによって性質は異なるのだから、課題に応じて、開発の進め方を変える ワークログを書

突撃! 在宅の開発環境 2021年夏

はじめに こんにちは。ブロックチェーンチームのエンジニア、 @nanamachi です。 tech.mobilefactory.jp 前回の記事ではたくさんの方に閲覧&コメントいただきありがとうございました。この記事から1年。モバイルファクトリーは日本のどこからでも働けるようになり、書籍購入、資格取得、セミナー参加、懇親会の支援制度などフルリモートに適応できるよう多くの変化をし

モバファクのフロントエンドランチ会の紹介

こんにちは。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 この記事では昨年の9月から社内で取り組みを続けているフロントエンドランチ会について紹介します。 フロントエンドランチ会とは 第2木曜と第4木曜のランチの時間 (13:00-14:00) にフロントエンド技術に興味がある有志のメンバーがオンラインで集まってランチする会です。 この会の目的

EIP-2718: Typed Transaction Envelope が Ethereum の未来を感じる提案だったので紹介したい

こんにちは、ブロックチェーンチームでソフトウェアエンジニアをしている id:odan3240 です。 来月に予定されている Ethereum Berlin Upgrade の調査を行う中で発見した EIP-2718: Typed Transaction Envelope が、Ethereum の未来を感じさせる提案だったので紹介します。 EIP-2718 の提案内容 EIP-2718 は新しいトランザクションタイプを定義する提案(以下「この提案」と呼びます)です。 この提案

Google Docs を用いたエクストリームリーディングのすゝめ

あけましておめでとうございます。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 この記事では Google Docs を用いたエクストリームリーディング形式の社内勉強会を1年間継続できた記念に、その形式を紹介をします。 エクストリームリーディング とは エクストリームリーディングとは黙読フェーズと議論フェーズの2つのフェーズを繰り返す読書会

ERC721 の extension の違いによるコストの比較

この記事は モバイルファクトリー Advent Calendar 2020 25日目の記事です。長かったアドベントカレンダーもこれがラストです。今年も25日まで毎日技術記事を楽しみに過ごせました。 こんにちは、ブロックチェーンチームのソフトウェアエンジニア id:odan3240 です。 ERC721 の extension ERC721 は Ethereum における Non-Fungible Token (以下 NFT) の規格です。ERC721 には様々な extension が存在し