Motivation Cloud のエンジニアをしています、宮田と申します。 先日、和田卓人(t-wada)さんにMotivation Cloudの開発者向けに効果的なリファクタリングをどう行なっているかに関してワークショップを開催してもらいました。 本記事では、当日のワークショップの様子や、その後の社内の変化をお伝えしたいと思います。 なぜワークショップを依頼したのか? 弊社では複数のSaaSを提供しています。 最も歴史があり大きなMotivation Cloudではテストコードのカバレッジはそれなりに高い数値を維持していますが、ドメイン貧血症に当てはまるコードも出ており新規で参画するメンバーが仕様を把握するのが困難になってきました。 開発者体験を上げていきたいと組織全体で考えておりFour Keys Metricsに基づいて生産性の向上に取り組んでいますが、並行でより良いコードにリファ
この記事はFLINTERS Advent Calendar 2022の17日目です。 こんにちは!株式会社FLINTERSでGANMA!のAndroidアプリの開発をしています大塚です。今回は、2022年の今年にリリースされたAndorid 13(API Level 33)の新機能やアプリでの必要な対応についてGANMA! Androidアプリで対応したことを中心にご紹介したいと思います。 広告ID Google Play開発者サービスの広告IDを使用し、Android 13(API Level 33)以上をターゲットとしているアプリでは、AndroidManifest.xml内で以下の権限を宣言する必要があります。 アプリがAndroid 13以上をターゲットとしていて、この権限を宣言していない場合、広告IDは自動的に削除され、00000000-0000-0000-0000-000000
[2022年最新版]Lambdaの裏側教えます!!A closer look at AWS Lambda (SVS404-R) #reinvent Lambdaファン必見 Worker ManagerをAssignmentサービスに置き換えた話、SnapStartの裏側でSparse filesystemを利用している話など、Lambdaの裏側がどうアップデートされたのかが分かります CX事業本部@大阪の岩田です。今年のre:inventは現地参加できなかったのですが、毎年楽しみにしていたLambdaの裏側を解説するセッションSVS404(番号は年によって微妙に違います)の動画がYoutubeにアップされていたので、さっそく視聴しました。これまで言及されてきた内容に加えて新たな解説も増えているので改めてレポートをブログにまとめます。 セッション動画 セッション動画はこちらから確認可能です
2つの映像ファイルを同時に再生して簡単な比較ができるツールを作りました。 映像変換やコンピュータビジョン系の処理結果をサクッと見比べるのに便利だと思います。 世の中に似たようなツールはいろいろありますがあまりお手軽ではないため自作しました。 Windows用です。 できること 映像の再生位置を同期させる 画を見比べる 左右に並べて見比べる スライダーを動かして見比べる 映像のブレンド方法をカスタマイズする(HLSLシェーダ) 字幕表示(.srt) できないこと ガチ比較用ではないため、 フレームアキュレート、ピクセルパーフェクトな比較 正確な色の再現 はできません。 また、下記には対応できていません。 タイムコードなどメタデータの比較 ループ再生 プレイリスト 3つ以上の映像の比較 あと結構不安定です。 技術的なこと 利用ライブラリ C#とXAMLで書かれたWPFアプリケーションで、以下の
Visual Studio 2022 17.4 以降に含まれている NuGet 6.4 では、複数プロジェクトでのバージョン管理を一元化出来る Central Package Management が実運用可能なレベルとして提供されています。 NuGet などのパッケージマネージャを利用する際の共通の悩みが、プロジェクト間でバージョンがバラバラになってしまいやすく、それぞれが参照しているパッケージのバージョンを上げること自体に手間がかかることですが、NuGet 6.4 以降では CPM を有効化すると解消可能です。 最新の Visual Studio 2022 か .NET SDK をインストールしていれば CPM が利用可能なので、GitHub Actions などで利用する際には最新バージョンを使うように指定するのが安全です。 SDK スタイル以前の古い csproj でも利用可能です
Blazor WebAssembly - どこからも参照されていないコードが削除されるようにして .dll のサイズを小さくするBlazor Blazor WebAssembly 用のライブラリに IsTrimmable = true を指定して使われないコードを削除、コンテンツサイズを削減 Blazor WebAssembly 用の Razor クラスライブラリを作るとき、プロジェクトファイル (*.csproj) 中に以下のように IsTrimmable MSBuild プロパティに true を指定しておくと、 そのライブラリを使用している Blazor WebAssembly の発行時、そのライブラリのアセンブリ (.dll) 中に含まれる各種コードのうち、どこからも参照されていない・使われていない機能のコードが削除されて、そのライブラリのアセンブリ (.dll) のサイズが小さく
いわさです。 この記事は 「AWS Community Builders Advent Calendar 2022」の 12 日目の記事となります。 私は 2022 年から AWS Community Builder (Serverless) として活動しています。 AWS Community Builder とはという点は以下をご参照ください。 .NET Lambda の Native AOT 対応 先日の AWS re:Invent 2022 で Java Lambda の SnapStart によるコールドスタート改善が発表されましたね。 実は .NET についてもコールドスタート改善につながる機能が re:Invent 2022 のセッションで紹介されていました。 簡単にいうと通常 Just-In-Time (JIT) で動作する .NET アプリケーションに対して Ahead-O
みなさん、おはようございます! CARTA fluct エンジニア の なっかー@konsent_nakka です。 CARTA TECH BLOG アドベントカレンダー 12/14ということで、普段DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識をざっとまとめてみました。 とりあえずこれだけ読んでおけば最低限は困らない、もし何か困った時にはあそこで出てきた内容をもう少し深く調べて見るか、というきっかけになれば良いなと思います。 厳密な定義よりも普段DBを扱う中でロックについてあまり意識したことがないような人にもすっと入ってくるように簡単な表現を優先して書いていますがご了承ください。 目次 留意事項 排他ロックと共有ロック トランザクション分離レベル SELECTのロックレベルを変更する 共有ロック: LOCK IN SHARE MODE 排他ロ
仕事に限った話でもないのですが、日常の生活は選択や判断の連続です。 「もうこれしかない」という確かなものばかりなら良いのですが、そんなに都合よくできているわけでもなく、あーでもない、こーでもないと迷うことになります。 考える時間や迷う時間、それはそれで楽しかったりしますが、こと仕事においてはその判断が自分以外の今後をも左右するものだったりすると、足がすくんでしまうようなこともありますよね。 なぜ迷うのか 5つの要因 僕はこの5つに大別できると思っています。 知識がない 経験がない 情報がない 未来のことである どっちもいい 1. 知識がない この場合は自分だけの問題だったりするので、ある意味単純です。インターネットや本などの文献にあたったり、実際に手を動かしてみたり、あるいはすでに知見を持った人に聞くなどして、判断に必要な知識を手に入れることだと思います。 2. 経験がない はじめて経験す
家でゴロゴロしながら、個人開発アプリだけで生活している、あたかです。 会社を辞めて、2年間ツールアプリをちんたら更新していたら食べられるようになったのですが、食べられるようになるまでに 「やらなかった事」 を10個発表します! やった方がもっと良かったかもしれないですが、やらなかったので仕方ない。 1. 市場調査 このカテゴリーは儲かるのか、ニーズが多いのか、そういう事は一才やらなかったです。 調査方法が分からなかったし、単純に面倒だったからですが、ちょっとカッコつけた事を言っちゃうと、自分が欲しくて作りたいサービス以外は、作る気が無かったからです。 結果的に、自分が欲しくて作りたいサービスだと、新機能や改善内容は自分の頭の中から浮かんでくるので、思いつきだけでサービスを成長させる事ができて、一人で頑張らないといけない個人開発者には有利に働いたのかなぁと思います。 2. 競合調査 自分が作
この記事はWano Group Advent Calendar2022 16日目の記事です。 今回はRustの非同期プログラミング(スレッドやasync)周りで私が知っている事を2022年版としてまとめようと思います。 Rustのバージョンは記事執筆時点で最新の1.65.0を想定しています。 普通のスレッドで非同期処理をする時のあれこれ まずはOSにお願いして作ってもらう普通のスレッドについてです。 スレッドの作り方 Rustは標準ライブラリ(std)にスレッドを取り扱う為のAPI(std::thread)があります。 fn main() { let handle = std::thread::spawn(|| { println!("Hello Thread!"); "🍣".to_string() + "🍺" }); let s = handle.join().unwrap(); p
この記事はUnity Advent Calendar 2022(カレンダー1)の17日目の記事です。 昨日はsu10さんの【Unity】レイヤーを実質無限に使えるようにするライブラリの紹介【Layer2】とSainaさんのUnityでVJをしようでした。 皆さんこんにちは! 普段Unityで遊んでいる、やはぎです! 最近ハマっているGithubActionsでUnityアプリをビルドする時の知見がたまってきたので共有したいと思います。 GameCIの紹介 GameCIはGithubActionsなどを使ってUnityのアプリをビルドするときに使うことができるオープンソースのライブラリです。 プロジェクトを作成する Sample用にCubeが無限に回転するだけのプロジェクトを作成しました。 BuildSettingsで制作したSceneをScene in Buildに追加するのを忘れないでく
AWS Startup Meetup #13 LT 登壇資料です。 Infrastructure as Code(IaC)を導入したものの、IaC化した恩恵が思っていたより少なく、IaCで基盤を統一していく方針を転換していった話をご紹介します。
[Unity]Firebaseを使ったプロジェクトの作り方(Analytics, Crashlytics)UnityFirebaseFirebaseAnalyticsFirebaseCrashlytics 概要 UnityでFirebaseを導入したプロジェクトを作成する手順です (Android実機での動作確認までやります) 本文 Unityプロジェクトを新規作成 とりあえずFirebaseTestという名前でプロジェクトを作ります BuildSettingsを表示(メニューからFile > Build Settings)してPlatformにAndroidを選びSwitch Platformを押します。続いてPlayer Settingsボタンを押して Project Settings画面でAndroidのタブが選択されている事を確認して、PackageNameにパッケージネームが入力
はじめに 都内でWEBエンジニアとして働いているまさきちといいます。 受託開発企業に勤める中で経験したこと感じた事を語りたいと思います。 目次 この記事の対象読者 受託開発企業で働く中で感じたこと 複数案件を掛け持つのが当たり前 フロント、バック、インフラ全てこなせる必要あり ハードワークのため、体調やメンタルを壊してしまう人も クライアントワークが主なのでお客様の対応で消耗しがち 商流が深くなると厳しい環境になりがち テストコードや設計にかける時間が少なくなりがち 夜遅くまで残って仕事をしている人が多く、人生について考えさせられる。 技術力や知識よりも顧客折衷や、マネジメント力が評価されがち 効率重視なので技術が固定化されやすい 終わりに この記事の対象読者 WEB系エンジニアを目指そうと思っている方 受託開発企業の働き方について知りたい方 同じ受託開発企業に勤めていらっしゃる方 受託開
ECS on Fargate は AWS のアプリケーション実行環境として近年定番の選択肢です。 そんな ECS on Fargate について、Infrastructure as Code や CI/CD などを含めて環境を整えようとすると、何かしらのツールが必要になります。 2020 年時点の情報としては AWS Dev Day Japan の「第2回 AWS Fargate かんたんデプロイ選手権」という資料があり、ECS on Fargate のデプロイツールを比較するうえでとても参考になるのですが、AWS のアップデートはとても早いです。 2022 年 12 月の時点で ECS on Fargate のデプロイツールをいくつか試してみたので、得られた知見をまとめておきます。 調査したツール 今回 ECS on Fargate のデプロイツールを調査した理由は、実際に ECS on
注 : オーバースペックはロマン 自宅のインターネット環境が某ro光からフレッツ光クロスに切り替わったことを記念して書きます。 1. インターネット回線は10G タイプにする おすすめはフレッツ光クロス ドコモ光 10ギガ auひかり ホーム10ギガ 導入できるかどうかはエリアと建物による エリアは広がってきているがまだ狭い フレッツ光、フレッツ光ネクストが入っていても光クロスは設備が別なので注意 マンションでおそらく初のクロス契約者でしたが、いけました 集合住宅、マンションであっても VDSL ではなくホームタイプを敷く 2. 10G 対応ルーターを利用する WAN(ONUと接続する側)が 10Gbps 対応なのはマスト、LAN(有線でPCなどに接続する側)は利用するようであれば、最低1ポートは 10Gbps 対応。不要なら気にしない v6 プラスに対応していること(光クロスの場合マスト
この記事について この記事はDTMテクニック集 Advent Calendar 2022 12/17(土)のエントリーです。 前回の記事は、sdhizumiさんのピアノロール経験者のためのMML入門です。 本日は某青いロボットの2Dゲーム作品の生誕35周年です。おめでとうございます! (ちなみに筆者と同い年) この記事では、1980年代~1990年代のファミコンやゲームボーイ等で発売された 某青いロボットが活躍する2Dアクションをイメージした8bitサウンドBGMの作り方をざっくり紹介します。 インディーゲーム開発等の参考になれば幸いです。 前提環境 曲を作成するに当たり、筆者は以下のツールを使用しています。 nsd.lib(S.W.様作成サウンドドライバ) VirtuaNSF(NSFプレイヤー) サクラエディタ 環境の詳細については割愛しますが、記事記載のノートを手っ取り早く聴きたい場合
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く