並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 991件

新着順 人気順

命名規則の検索結果161 - 200 件 / 991件

  • エンジニアが開発しやすい環境作り - Qiita

    はじめに 自分は現在、システム開発会社にて執行役員としてプロジェクトマネジメントやコンサルをしています。 今までのプロジェクトから得た経験を元に、エンジニアが開発しやすい環境作りについて、自分なりにまとめていきます。 対象者 エンジニアチームのモチベーションを上げたい人 エンジニアチームにとって開発しやすい環境作りを知りたい人 お断り 今回紹介するのは自分が実践してきた一例であり、必ずしも正解というわけではありません 「こうしなさい」ではなく「こうするとより良くなるかも」といったモチベで書いています GitHubで開発を進める前提 目次 ドキュメント整備 issueの作成 開発環境の整備 コードレビュー プロジェクトの開発進捗の管理について ドキュメント整備 まずはじめに、エンジニアが開発に入る際に必ず見る「README」の書き方を説明していきます。 自分がREADMEを書く時は「プロジェ

      エンジニアが開発しやすい環境作り - Qiita
    • Flutterアプリでのデザインマネジメント - エムスリーテックブログ

      エンジニアリンググループ 新規プロダクト支援チーム所属の荒谷(@_a_akira)です。 あまり知られていないかもしれませんが弊社では、2019年末から既に6つの新規アプリをFlutterで実装しリリースしています。 先日リリースされたデジカルスマート診療(以降デジスマアプリ)という医療機関向けに予約やキャッシュレス決済を導入・利用できるアプリもFlutterで作成しています。 digikar-smart.jp このサービスの立ち上げからリリースまでの開発期間は約3ヶ月で開発側の人数もPdM1人、アシスタントPdM1人、デザイナー1人、バックエンド2人、WEB フロント(クリニック向け管理画面)1人、アプリ(患者向け, Flutter)1人の構成で開発しています。 このあたりの開発体制については先日記事が上がっているので興味のある方はそちらを見てみてください。 www.m3tech.blo

        Flutterアプリでのデザインマネジメント - エムスリーテックブログ
      • 自動運転を支えるWeb技術 - 信頼性への取り組み (SRE編) - TIER IV Tech Blog

        こんにちは、ティアフォーでSREを担当している宇津井です。 2019年9月にSite Reliability Engineering(SRE)として入社して以来行ってきたことをざっと振り返った上で、自動運転の社会実装においてWeb系のエンジニアには何が求められるのかという答えを探っていきたいと思います。スタートアップ企業でどのようにSREの文化を作っていくのかという面でも何かの参考になるのではないかと考え筆を取っています。 と言いつつも重要なことなので最初に書いておきますが、ティアフォーのSREは私が一人目で入社して以来専任としてはずーっと一人でその役割を担ってきました。ようやく一緒に働く方を募集できる状態になりました。そのような背景もあってこのエントリーを書いています。もしご興味がある方は以下のCareersページからご連絡をお待ちしております。 tier4.jp ※SRE編とタイトルに

          自動運転を支えるWeb技術 - 信頼性への取り組み (SRE編) - TIER IV Tech Blog
        • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

          はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 本記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原則や技法へのリンクを記載した。 要約 7つの観点の要約を先に示す。 (変数や関数の)名称は分かりやすくする (変数や関数の)役割は1つにする (変数や関数の)参照は狭くする (変数や関数の)状態は変えられなくする (関数やクラスの)面積は小さくする (関数や

            理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
          • SmartHRのプロダクトデザインの生産性を高める“デザイン”のためじゃないデザインシステムとは(Schema2022)|wentz

            こんにちは。 SmartHRでプロダクトデザインをしている@wentz_designです。 本記事は、2022年11月2日に開催された「Schema by Figma 2022 Tokyo」で発表した「“デザイン”のためじゃないデザインシステム」のスライドを元にした内容になります。 早口で話して20分くらいかかる内容になりますので、お時間のある時に読んでみてください。 また、記事に構成する上で文字だけのスライドなど一部を省略していますが、全スライドはFigma Communityに公開していますので、気になる方はそちらも見てみてください。 以下本編です。 はじめに自己紹介私はSmartHRのプロダクトデザイングループには9人目でジョインして1年と7ヶ月ほどになり、これまでの職歴も含めるとB2B SaaSプロダクトのデザイナー歴は約5~6年ほどになります。 メインでは、SmartHR基本機能

              SmartHRのプロダクトデザインの生産性を高める“デザイン”のためじゃないデザインシステムとは(Schema2022)|wentz
            • GitとGitHubの機能をひとつのバイナリに詰め込んだ「Fossil」レビュー

              ソフトウェアのバージョン管理といえば、GitとGitHubを用いるのが主流。しかし、バージョン管理システムにはCVSやSubversion、Mercurial、GitLab、Bitbucketなど、「GitとGitHub」以外の選択肢も存在します。そんな「GitとGitHub」とは別の選択肢のひとつが、データベースのSQLiteと同じくD. Richard Hipp氏によって開発された「Fossil」です。 Fossil: Home https://www.fossil-scm.org/home/doc/trunk/www/index.wiki FossilはLinuxやmacOS、Windowsに対応しており、ソースコードから自分でバイナリをビルドすることも可能。今回はUbuntu 20.04上でFossilを利用してみます。 まずは下記コマンドを実行して、Fossilのバイナリを実行可

                GitとGitHubの機能をひとつのバイナリに詰め込んだ「Fossil」レビュー
              • デザインシステム開発優先度の「難しさ」と「対策」|hikaru-takase /Loglass

                こんにちは、ログラスのデザイナー高瀬です。 今回はデザインシステムの理想と現実について話していきたいと思います。 デザインシステムって素晴らしいけど、いざ実装しようとするとプロジェクトの扱いや開発優先度の調整って難しいですよね? 今回はそんなデザインシステムにまつわる開発優先度と対策の話をしていきたいと思います。 前提 ・私達は経営管理クラウドLoglassというプロダクトを開発しています ・toB SaaS 視点での見解が多いです ・現在デザインシステム構築中です ・Loglassのデザインシステム構築の中で感じた理想と現実について話していきます デザインシステムは美しくも辛いデザインシステム導入の目的や方法に関して、今では優良なnoteや書籍がたくさんあり私もとても参考にしました。ユーザーの体験・ブランド価値の提供や開発の効率化など、その効能や目的はとても美しいです。 一方でデザインシ

                  デザインシステム開発優先度の「難しさ」と「対策」|hikaru-takase /Loglass
                • JavaBeansって言葉に煩わされない - 日々常々

                  JavaBeansって言葉を目にして、ふと検索してみたらあまりに酷かったので書いておこうかと。対象は「JavaBeansってなんだろ?」と思ってしまった初学者さん。でもそんな人って私のブログ読むんだろうか…… 今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結と+演算子について整理しておく みたいな感じ。 ShortAnswer JavaBeansを学ぶ必要はありません。JavaBeansと説明されているものの多くは、JavaBeansの名前を借りた独自の物体です。 長い説明 「あまりに酷い」と「要らない」だけだと流石にアレなので、仕様を斜め読みしながら説明していきます。あ、EJBには触れません。まぜるなきけん。 仕様について JavaBeans仕様としてげったーせったーがーとか、こんすとらくたがーだとか、しりあらいざぶるがーだとか。よく見聞きするのだけど、仕様って読んだんだ

                  • フロントエンドとオブジェクト指向

                    フロントエンドの実装にオブジェクト指向をどのように取り入れるかを考えます。 動機 近年のフロントエンドは、Reactなどのフレームワークを使ったコンポーネントベースの設計が主流だと思います。コンポーネントは、HTMLによるマークアップ、CSSによるスタイリング、JavaScriptによる振る舞いがひとまとめにされた、再利用可能な部品です。 コンポーネントの設計を考えていると、次のような疑問が生じます。 何を基準にコンポーネントで分割すればよいか。 コンポーネントの粒度はどれくらいが適切なのか。 どのタイミングで抽象化すれば開発コストが無駄にならないか。 分業した際にコンポーネントの分割や粒度の基準をどのように統一するべきか。 そこで、いろいろ調べたり試したりしたところ、フロントエンドの設計にオブジェクト指向を取り入れることが、これらの答えの一つになるのではないかと考えました。 この記事では

                      フロントエンドとオブジェクト指向
                    • VSCode全書 - おすすめ拡張機能・設定・ショートカットキー・キーバインド・Emmet・スニペットの紹介

                      コーダーやフロントエンドエンジニア向けのVSCodeの環境や機能を紹介していきます。かなりボリューミーなので是非参考にしてみてください。 こちらの6項目に分けて紹介します。 おすすめの拡張機能 設定 覚えておきたいショートカットキー キーバインド Emmet(エメット) スニペット おすすめの拡張機能 拡張機能は以下4つのジャンルに分けて紹介していきます。 配色テーマとファイルアイコン 表示拡張(見た目の拡張) 機能拡張(機能の拡張) 各言語(HTMLやCSSなど各言語に依存する拡張機能) ⭐️は特におすすめの拡張機能です。 配色テーマとファイルアイコン まずはおすすめのテーマとアイコンを紹介します。 ⭐️配色テーマ - GitHub Theme GitHubが提供するテーマです。ダークモードが見やすいので長年使っています。 Monokai Dark Sodaも結構好きです。 Sublim

                        VSCode全書 - おすすめ拡張機能・設定・ショートカットキー・キーバインド・Emmet・スニペットの紹介
                      • Python関連記事まとめ | note.nkmk.me

                        環境情報・設定 Pythonのバージョンを確認、表示(sys.versionなど) Pythonが実行されている環境のOSやバージョン情報などを取得 カレントディレクトリを取得、変更(移動) 実行中のファイルの場所(パス)を取得する__file__ 環境変数を取得・追加・上書き・削除(os.environ) 再帰回数の上限を確認・変更(sys.setrecursionlimitなど) コードの書き方・ルール Pythonはインデント(スペース4文字)でブロックを表す 識別子(変数名など)として有効・無効な名前、命名規則 キーワード(予約語)一覧を確認するkeyword 長い文字列を複数行に分けて書く メソッドチェーンを改行して書く pip(パッケージ管理) パッケージ管理システムpipの使い方 pipでrequirements.txtを使ってパッケージ一括インストール pip list /

                          Python関連記事まとめ | note.nkmk.me
                        • AWS FargateにおけるAmazon ECS クラスターの効果的な分け方を様々な観点で考えてみた | DevelopersIO

                          はじめに AWS Fargateを使用している際に、ECSクラスターをECSサービスごとやECSタスクごとにどのように分けるかに迷うことがありました。 そこで、個人的に複数の観点からクラスターの効果的な分け方を考えてみました。 なお、この記事ではECS on EC2ではなく、ECS on Fargateのみに焦点を当てています。 ECSについて ECSの構成について簡単に説明しますと以下の3つに分かれます クラスター タスクとサービスを実行する基盤です サービス ECSクラスター内で、タスクを実行し管理します タスク タスク定義に基づいてコンテナを起動します 今回は、タスクとサービスを実行する基盤であるクラスターをどのような単位で分けるべきかを考えてみました。 一般的 一般的には、システムや環境ごとにクラスターを作成すると良いでしょう。 理由としては、2点あります。 1. リソース作成の簡

                            AWS FargateにおけるAmazon ECS クラスターの効果的な分け方を様々な観点で考えてみた | DevelopersIO
                          • 第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp

                            テストの分類として開発者に馴染み深いのは、検証の対象となるコードの範囲や粒度での分類でしょう。範囲が狭く粒度が細かい順に、ユニットテスト、インテグレーションテスト、E2E(end to end)テストなどと呼ばれます。今回は、自動テスト前提の時代にうまくフィットするテスト分類について考えます。 現場の混乱 実は、範囲や粒度による分類に現場は混乱しがちです。「⁠1つの対象」を検証する狭いテストをユニットテスト、単体テスト、コンポーネントテストなどと呼びますが、これらをほぼ同じものと言う人も、異なると言う人もいます。「⁠1つの対象」も関数、メソッド、クラス、モジュール、パッケージ、振る舞い、1つの画面と、人や組織によってバラバラです。 複数のレイヤ、たとえばコントローラとモデルをまたいで検証するテストをインテグレーションテストと呼ぶ人もいれば、それもユニットテストと呼ぶ人もいます。ユニットテス

                              第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp
                            • Zigソフトウェア財団とZenプログラミング言語に関する声明 ⚡ Zig Programming Language

                              Original English version available below. We are thankful to 株式会社HYPERIA and all the members of the Zig community that helped us with the Japanese translation. Zigソフトウェア財団とZenプログラミング言語に関する声明Zigソフトウェア財団は、Zigの開発者アンドリュー・ケリーによって創設された501(c)(3)非営利組織です。本財団はZigプログラミング言語開発のサポートと優れたグローバルコミュニティの育成を目的としています。 対してZenはコネクトフリー社によって保守されているZigのクローズドソースフォークです。コネクトフリー社は最近Zenコンパイラのためのライセンスモデルを発表し、ソフトウェア開発者は自分で作成したコードの

                              • GCP の IAM をおさらいしよう

                                この記事は Google Cloud Japan Customer Engineer Advent Calendar 2019 の 6日目の記事です。 TL;DR本記事ではGoogle Cloud Platform (GCP) での ユーザーや権限を管理する IAM について整理していきます。 はじめにクラウドを使う上で、ユーザー管理や権限管理は重要ですよね。GCP を使う際に、どのようにユーザー管理できるのか、権限管理や認証を整理してみようと思います。GCP では権限管理を Identity and Access Management( IAM )というもので管理しています。IAMでは、誰が、どのような操作を、何に対して行えるかというものを定義・管理します。これによりアカウントの追加・削除や権限付与がシンプルになり、管理が容易になります。 IAMのユーザーと権限GCP で利用できるアカウ

                                  GCP の IAM をおさらいしよう
                                • AWSのホワイトペーパーから学ぶ AWS Organizations における推奨 OU 構成 - サーバーワークスエンジニアブログ

                                  CI部 佐竹です。 本日は、AWSのホワイトペーパー(白書)を読みながら、AWS Organizations の OU に関するベストプラクティスを学びたいと思います。 はじめに Organization (組織) SCP (サービスコントロールポリシー) エンティティ Root OU (organizational unit) アカウント 構成図 Organizations における悩み Organizations のホワイトペーパー Recommended OUs Security OU Log archive account 運用ログデータ 不変的なログデータ このアカウントへのアクセスの管理 Security tooling accounts AWSサービスの一般的な例 Detection Identity and Access Management Incident Respon

                                    AWSのホワイトペーパーから学ぶ AWS Organizations における推奨 OU 構成 - サーバーワークスエンジニアブログ
                                  • プログラミングを教えて気づいたこと | 株式会社ロフタル

                                    先日、大学での最後の授業を終えました。大学の非常勤講師としてプログラミングを教える授業です。 初めは、「自分なら楽しく分かりやすく教えることができる!プログラミングを好きにさせる!!」なんてマックスコーヒーのように甘ったるい考えを持っていました。……が、現実はそんなに甘くないですね。エスプレッソでした。教えることの難しさを痛感しました。 3年間という短い期間でしたが、自分なりに試行錯誤しつつ、最終的にはそれなりの授業ができるようになったような気がします。この経験を元に、今回は「教える」という視点から見た「プログラミング言語」について書いてみたいと思います。 はじめに 教えていた言語はJavaですが、Javaに限らず一般的な話として書いていきます。また、ほとんどの学生がプログラミング未経験のため、かなり初歩的な内容となっています。 個人的な印象として、初学者が特に躓きやすいのは以下の3点です

                                      プログラミングを教えて気づいたこと | 株式会社ロフタル
                                    • 開発効率を追い求めた実装プラクティス集

                                      この記事は MICIN Advent Calendar 2023 の24日目の記事です。 前回はSaneさんの「データ基盤チームで社内インターンをやってみて」でした。 はじめに abekohです。MICINでMiROHAの開発をしております。 本記事では、書籍等から得た設計・実装パターンの知識や、実際にプロダクト開発で試して得られた経験などから編み出した、開発効率向上のためのWeb API開発のプラクティスを紹介します。 筆者が関わっているMiROHAは治験の業務支援を取り扱うプロダクトです。MiROHAの開発における特性として、以下のようなものが挙げられます。 治験業務に関するドメインが特有で複雑 前例が少なく、MVPを追求中。プロダクトのアプローチが頻繁に変わる 外部品質は高い水準が求められる これらの特性を意識して開発を促進させるために日々試行錯誤しております。 複雑なドメインに対す

                                        開発効率を追い求めた実装プラクティス集
                                      • オンコールアラートアンチパターン - ださろぐ@はてな

                                        オンコールアラートを設定しようと考えた際に考慮すべき点を自分なりにアンチパターンとしてまとめたなにかです。 ホワイトボックスモニタリングにより得られたメトリクス、ログなどからアラーティングを行う、または併用する環境を想定しています、ブラックボックスモニタリングによるアラート、SLOベースのアラートのみでうまく運用されているサービスにはあてはまらないと考えてます。 参考書籍は色々あり、最後に記載していますが提示されてるプラクティス通りではないものもあります 。自組織、システムにあった設計をしましょう。 システムの監視がまったくありませんみたいな状況であればまずはサービスのURLに対する外形監視からはじめましょう。 言葉の定義 アンチパターン サービスに対する外形監視が設定されていない アラートを受け取って直ちに何かアクションを行う必要がない アラートに対応するrunbookが存在しない 自動

                                          オンコールアラートアンチパターン - ださろぐ@はてな
                                        • 地球の新しい地質年代「人新世」の新設案を否決 その理由と背景は

                                          人類の活動は確実に地球環境を変えてきました。これを踏まえ、新しい地質年代として「人新世」を創設することが提唱され、2009年から国際地質科学連合の作業部会で議論が行われてきました。正式に地質年代として登録されるには、全部で3段階の議論が必要です。 国際地質科学連合の下部組織である第四紀層序小委員会にて2024年2月1日から6週間かけて審議と投票が行われた結果、人新世の創設は過半数の反対票で否決されました。ただし、この決定は人類が地球環境を変えたことを否定するものではなく、むしろ人新世という地質年代の重要性を鑑み、人類による環境改変を過小評価しないための否決であると言えます。 【▲図1: カナダ東部にあるクロフォード湖の湖底堆積物は、今回の案で人新世の基準となる地層として選ばれていました(Credit: Whpq (WikiMedia Commons / CC BY-SA 4.0) )】 ■

                                            地球の新しい地質年代「人新世」の新設案を否決 その理由と背景は
                                          • 主要ブラウザで使える!CSS Cascade Layers で新しいCSS設計の手法を考える | サイボウズ フロントエンドエキスパートチーム

                                            Chrome99に新機能として CSS Cascade Layers が実装され、Firefox、Edge、Safari といった主要ブラウザで CSS Cascade Layers が使えるようになりました。 CSS Cascade Layers とは CSS の仕様において、要素にどのスタイルを適用するかはざっくりと次のような優先順位で決定されていました。(カスケード順を省いて簡略的に記述しています) !important インラインスタイル セレクターの詳細度 同じ詳細度であれば最後に宣言されたもの ここに CSS Cascade Layers が導入されると次のように変わります。 !important インラインスタイル Cascade Layers セレクターの詳細度 同じ詳細度であれば最後に宣言されたもの 従来の CSS が抱える複雑な詳細度の管理 どのスタイルを適用するか判断

                                              主要ブラウザで使える!CSS Cascade Layers で新しいCSS設計の手法を考える | サイボウズ フロントエンドエキスパートチーム
                                            • GitHub Copilot for Businessの所感、みんなに聞いてみた - LIVESENSE ENGINEER BLOG

                                              はじめに LET運営の村山と毛利です。 社内の交流を活発にし、お互いの知識を伝搬する機会を設けるために、Livesense Engineer Talk(通称:LET)というチームを運営しています。 今回は、GitHub Copilot for Businessを社内導入して2ヶ月程経ったので、エンジニアにCopilotを使った感想を聞いてみました。 はじめに みんなの感想 ayumu838さん ここがよかった ここが惜しい 池谷さん ここがよかった ここが惜しい 赤坂さん ここがよかった ここが惜しい 中野さん ここがよかった ここが惜しい 富士谷さん ここがよかった ここが惜しい 渡辺さん ここがよかった ここが惜しい 鈴木さん ここがよかった ここが惜しい 今井さん ここがよかった ここが惜しい まとめ みんなの感想 みんなの感想をChatGPTに要約してもらうと、こんな感じになりまし

                                                GitHub Copilot for Businessの所感、みんなに聞いてみた - LIVESENSE ENGINEER BLOG
                                              • OpenAI API を使ったデザインからコード生成する Figma プラグイン - Gaudiy Tech Blog

                                                こんにちは。ファンと共に時代を進める、Web3スタートアップのGaudiyに、6月からお試し入社する seya(@sekikazu01)と申します。 ここしばらく話題になっている、OpenAI が提供する ChatGPT を代表とした LLM。この記事では、そんな OpenAI の API を使って Figma からコード生成するプラグインを作ってみた過程を記していこうと思います。 先に背景をちょっとお伝えしますと、Gaudiy ではPSFに向けて、複数パターンのUI・機能を実際に提供しながら検証を回すことを予定しています。 すでに定義したコンポーネントはある程度使い回せるものの、ページ実装の試行回数の増加が見込まれる状況です。ここの作業効率化のために、コンポーネントをしっかり活用しながらも、ちょっといじればプロダクション利用可能な React コードを Figma から書き出すトライとし

                                                  OpenAI API を使ったデザインからコード生成する Figma プラグイン - Gaudiy Tech Blog
                                                • [アップデート] AWS WAFのログを直接CloudWatch LogsおよびS3に出力可能になりました | DevelopersIO

                                                  またまたドキュメントをながめていたところ、待望のアップデートを見つけたのでシェアします。 AWS WAFのWebACLトラフィックログをCloudwatch LogsまたはS3に直接出力することが可能になりました! AWS WAFのWebACLトラフィックログ 従来は以下記事のようにKinesis Data Firehoseを介してCloudWatch LogsまたはS3に出力する必要がありました。 今回のアップデートでAWS WAFから直接CloudWatch Logs、S3に出力可能となりましたので控えめに言って最高のアップデートですね! 注意点 CloudWatch Logsロググループ名およびS3バケット名はaws-waf-logs-から始まる名前であること Kinesis Data Firehoseも配信ストリーム名でも同じ制約がありましたが、CloudWatch Logs、S3

                                                    [アップデート] AWS WAFのログを直接CloudWatch LogsおよびS3に出力可能になりました | DevelopersIO
                                                  • 生成AIの活用事例 10選|masa_kazama

                                                    「テクノロジーで人々を適切な医療に案内する」をミッションに、医療プラットフォームを提供しているUbie株式会社の@masa_kazamaです。 この記事は#Ubieアドベントカレンダー5日目にエントリーしています。 今年は生成AI一色の1年でした。Ubieでは、生成AIをプロダクト活用と社内生産性向上の観点で取り組んでいます。(取り組みの詳細は、こちらの記事で紹介しています。) この記事では、社内生産性向上観点で、社内の業務プロセスに溶け込んでいて、なくてはならない使い方になっている事例を10個ご紹介します。その中のいくつかは、実際に生産性が倍以上になっていたり、外部委託のコストが半分になったりしています。この記事が、生成AIを活用している人や活用していきたい人のご参考になれば幸いです。 プロダクト活用にもいくつか事例が出ており、問診の内容を大規模言語モデル(LLM)を活用して要約する機能

                                                      生成AIの活用事例 10選|masa_kazama
                                                    • 【$13,000→$5,000】AWS S3 コスト削減!! オブジェクト削減とS3 Standardから Glacier Instant Retrievalへの移行 - CARTA TECH BLOG

                                                      はじめに 新卒3年目のらぴおです。入社当初からエンジニアとして広告事業を営むZucksでアドネットワークの開発、運用に携わっています。 Zucksでは、2022年夏頃から円安の影響でサーバ費が上昇しコスト削減の温度感が高まっていました。 そこで、 僕が携わるアドネットワークにおいては、少ない作業量で大きい見直し効果が期待できそうなAWS S3のコスト最適化に取り組む ことになりました。 S3全体で月々のコストが $ 13,000 を超えており、特に広告配信関連のログデータが大部分を占めていました。 今回は、僕が実施したコスト削減調査と実施プロセス、その成果を共有します。 S3のコスト削減は、以下のアプローチで行います。 オブジェクト数を減らす 最適なストレージ階層に移行し保存する これらの取り組みにより、月々のストレージコストを $ 13,000 から $ 5,000 に削減 することがで

                                                        【$13,000→$5,000】AWS S3 コスト削減!! オブジェクト削減とS3 Standardから Glacier Instant Retrievalへの移行 - CARTA TECH BLOG
                                                      • Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ

                                                        エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提供する事業を行っています。BIRではエムスリーではじめてGoを導入し、今ではほとんどの新規システムをGoで立ち上げています。(一部でKotlinもつかっています) Goでは、interfaceの使い方を知ることで、依存関係、コンポーネントの責務を整理した設計を考えることができます。 この記事ではGo導入当初にメンバに説明した、interfaceの基本的な使い方やTipsを整理していきます(すでに、Goをよく知っている人には当たり前すぎるかもしれません)。 また、この記事の後にBIRのメンバーがGo関連記事をいろいろ書く予定となっています! interfaceの使い方 interfac

                                                          Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ
                                                        • OpenSSHのプロトコル拡張「UpdateHostKeys」の仕組みと実装 | 株式会社ヌーラボ(Nulab inc.)

                                                          Backlog課Gitチームの@vvatanabeです。 先日、BacklogのGitリポジトリへSSHでアクセスする機能を提供するサーバーが、ECDSAとEd25519のホスト鍵をサポートしました。 GitリポジトリへのSSHアクセスに関連するセキュリティアップデートのお知らせ その際、OpenSSHのSSHプロトコル拡張の一つである「UpdateHostKeys」と呼ばれる機能を、Goで書かれたSSHサーバーに実装したので、その経験をもとに機能の仕組みと実装について解説します。 はじめに SSHにおける「なりすまし」を防止する仕組み UpdateHostKeysを説明する前に、SSHにおける「なりすまし」を防止するための重要な要素として、「ホスト鍵」と「known hosts」という仕組みについて説明します。 識別子としてのホスト鍵 ホスト鍵とは、SSHでコンピュータを認証するために使

                                                            OpenSSHのプロトコル拡張「UpdateHostKeys」の仕組みと実装 | 株式会社ヌーラボ(Nulab inc.)
                                                          • 「10年かけてGitHubリポジトリが集めた5万4000個ものスターをうっかりミスで失ってしまった」という体験談

                                                            ソフトウェア開発プラットフォームであるGitHubには公開されているリポジトリに「Star(スター)」を送る機能があり、リポジトリが気に入ったり更新の通知がほしかったりする場合にスターを送ることができます。そんなGitHubの人気リポジトリ作成者が、「GitHubで10年間にわたり公開されており5万4000件ものスターを獲得してきたリポジトリが、たった1回のうっかりミスですべてのスターを失ってしまった」と報告したブログが話題となっています。 How we lost 54k GitHub stars – HTTPie blog https://httpie.io/blog/stardust 今回のブログを執筆したのは、直感的な操作でコマンドラインからHTTPリクエストを送信するオープンソースのツール「HTTPie」の作成者であるJakub Roztocil氏です。HTTPieは2012年2月

                                                              「10年かけてGitHubリポジトリが集めた5万4000個ものスターをうっかりミスで失ってしまった」という体験談
                                                            • ランサムウェア「LockBit 2.0」の内部構造を紐解く | 技術者ブログ | 三井物産セキュアディレクション株式会社

                                                              すでに多くのニュースや公開記事で言及されているように、「LockBit 2.0」はリークサイトを持つ暴露型ランサムウェア攻撃グループの中で現在(2021年後半)最も活発である攻撃グループです。LockBit 2.0のリークサイト上では、いきなり窃取データが暴露されるのではなく、「被害組織名」とともに「暴露までの残り時間」をリアルタイムでカウントし被害組織に圧力をかけます。そのため、リークサイトに初めて掲載された時点においては被害組織と攻撃者間で金銭の支払いに関する交渉が行われているかもしくは交渉前の段階にあるケースが多いものと考えられます。 LockBit 2.0の開発者は自身のサイト上で、LockBit 2.0のランサムウェアが世界で最も暗号化速度が速く他のランサムウェアよりも優れていると、攻撃の実働部隊であるアフィリエイトに向け詳細にアピールしており、加えて他のランサムウェアには無い新

                                                                ランサムウェア「LockBit 2.0」の内部構造を紐解く | 技術者ブログ | 三井物産セキュアディレクション株式会社
                                                              • 機械学習できるデータを用意せよ MLで重要なデータマネジメントの11領域

                                                                Machine Learning Casual Talkは、機械学習を用いたシステムを実運用している話を中心に、実践的な機械学習に関して気軽に話せる会です。実際に運用していく上での工夫や、知見を共有します。第12回目のテーマは「機械学習プロジェクトに関する「ベストプラクティスとアンチパターン」。機械学習ではデータを扱いますが、そのデータマネジメントがしっかりしていないと破綻してしまうという点について、ゆずたそ氏がお話します。後半は実際のデータマネジメントの方法ついて。 データマネジメントの11領域 ゆずたそ氏(以下、ゆずたそ):そういったつらい状況の中で、解決のために何ができるかという話をしていきたいと思います。ちょうど今折返しぐらいの時間なので、後半、この話をやっていきます。 今回テーマにもあるように、データマネジメントという概念・手法が鍵になるかなと自分は考えています。 じゃあ「データ

                                                                  機械学習できるデータを用意せよ MLで重要なデータマネジメントの11領域
                                                                • 仕様書を浸透させるために仕様書のあれこれを決めた - パルカワ2

                                                                  仕様書を浸透させるために何が必要か? 品質の作り込みをしていきたい・仕様を把握するコストが高いので仕様書を書くことを会社全体で浸透させたいと思っていて、そのために書く・読むの負担軽減が重要だと考えて以下をやることにした。 仕様書の項目を減らす 仕様書フォーマットの統一 仕様書の命名規則を決める 統一されたフォーマットに沿ったテンプレートの作成 管理方法の明示化・単純化 仕様書作成・更新・廃止プロセスの明示化 仕様書の具体例の作成 仕様書を書くときに迷いそうなときに参照するガイドの作成または作成の依頼 実は一回シンプルなフォーマットを決めたのだが、自分の進め方が悪くそれが全く浸透しなかった。その反省を踏まえて上記を考えた。 仕様書の話は、このあたりの話に関係する。 仕様書は必要か? - パルカワ2 チームが品質を作り込むために必要なこととは - パルカワ2 ちなみに仕様書は、Notionで記

                                                                    仕様書を浸透させるために仕様書のあれこれを決めた - パルカワ2
                                                                  • アクセス制御を厳格に行っている環境からのs3利用 | BLOG - DeNA Engineering

                                                                    こんにちは、IT基盤部第一グループの生井です。 DeNAが提供するヘルスケア系サービスのインフラを担当しています。 ヘルスケア領域ではセンシティブ情報を扱いますので、日々高レベルなセキュリティ設計・運用を行う必要があります。 今回はその一例として、アクセス制御を厳格に行っている環境からS3を利用する際に行った対応を紹介したいと思います。 はじめに あるプロジェクトで、センシティブ情報を扱う環境から、S3の特定バケットにのみ、awscliでのデータdownload/uploadを許可したいという要件がありました。 補足:特定バケットに限定するのは出口対策のためです。任意のS3バケットへのアクセスを許可してしまうと、内部犯行によるデータの持ち出しや、マルウェア感染によるデータ漏洩のリスクが高まります。 対応として、この環境で実績のある、FWでのFQDNベースでのアクセス制御を行うことにしました

                                                                      アクセス制御を厳格に行っている環境からのs3利用 | BLOG - DeNA Engineering
                                                                    • 知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ

                                                                      この記事はスターフェスティバル Advent Calendar 2022 11 日目の記事です qiita.com 昨日は @shota1995m の オブジェクト指向 UI デザインを読んだから図解してみる でした はじめに 僕は生粋(?)の PHPer なので、PHP 以外の技術はなんちゃってレベルでしか触ったことがないのですが 知らん言語(TypeScript)、知らんフレームワーク(Koa, NestJS, commander)、知らんミドルウェア(Apache Kafka)、知らんその他諸々(Protocol Buffers, Terraform)を使ってるチームに移動して難易度が高めな課題に取り組むことになったため、効率的に技術をキャッチアップできないと終わると思いヒィヒィ言いながらがんばったことを共有します やったこと 座学の時間をガッツリとる まずは手を動かす方が有効な場面

                                                                        知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ
                                                                      • 第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp

                                                                        本連載でも、何回かMySQLをDockerで扱う方法に関して簡単に説明をしてきました。今回は、DockerでMySQLを使う上でもっと便利に扱う方法を紹介してみたいと思います。特に、初期値のロードやコンテナ内にあるmysqlクライアントを使った時に文字化けする問題に対応していきます。 検証環境 今回はMacでDocker for Macを利用して検証を行っております。また、MySQLのDockerイメージは8.0.20で確認を行います。検証のデータには、第2回 MySQLにはじめてのデータを入れてみるで紹介されたKEN_ALL.CSVを利用します。 初期値のロードを自動化したい 第113回 anemoeaterを使ってスローログを可視化してみるでは、以下のように--secure-file-privを起動時に設定して起動していました。--secure-file-privは、指定されたディレク

                                                                          第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp
                                                                        • 難しくても「Rust」を学びたくなってしまう理由

                                                                          関連キーワード アプリケーション開発 | プログラミング プログラミング言語「Rust」は、特に高速な動作速度や高い安全性が求められるアプリケーションを開発する際にメリットが際立つ。その半面、開発者の学習曲線は険しいという見方がある。 仕組みが大きく異なる他のプログラミング言語からRustに移行すると、開発者の生産性が悪くなる恐れもある。例えばプログラミング言語「Go」は、自動でメモリ領域を解放するメモリ管理技術「ガベージコレクション」を採用しているため、開発者はメモリ管理の負担を軽減できる。Rustの場合は開発者が意図的にメモリを操作しなければならない。これが原因で全体的な開発スピードが低下することもある。 併せて読みたいお薦め記事 新興のプログラミング言語 プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠 プログラミング言語「Go」の魅力とは? 「Goで“脱C

                                                                            難しくても「Rust」を学びたくなってしまう理由
                                                                          • Pythonのスタイルガイドの確認 - めも

                                                                            スタイルガイド PEP-8 Google Python Style Guide django 既存のコードに対するpep8の確認 pep8 flake8 autopep8 docstringのフォーマット 各スタイルガイド要約 PEP8 Google C++ 参考文献 自分の確認用です. C++のスタイルガイド の確認も自分の勉強用です. スタイルガイド スタイルガイドは、出版物などにおいて統一した言葉遣いを規定する手引き (出典:スタイルガイド - Wikipedia) コーディングにおいても, 基本的な書き方のルールをある程度定めることで理解しやすいコードになりうる. いくつか種類が存在する. PEP-8 peps/pep-0008.txt at master · python/peps · GitHub はじめに — pep8-ja 1.0 ドキュメント Google Python

                                                                              Pythonのスタイルガイドの確認 - めも
                                                                            • Brewfile で Homebrew のライブラリを管理しよう! - kakakakakku blog

                                                                              Homebrew で Mac の環境構築をする機会は多いと思う.ライブラリをインストールするときに brew install xxx と実行すればすぐに使える.ただし,Mac を移行したり,再インストールするときに brew install を再実行するのは面倒で,今回は Homebrew Bundle (Brewfile) を紹介する.同僚に Brewfile を紹介する機会があり,今後もサッと紹介できるようにブログにまとめておくことにした. github.com Homebrew Bundle (Brewfile) とは? Homebrew Bundle を使うと Homebrew でインストールするライブラリを Brewfile というファイルで管理できる.プログラミング言語だと Gemfile や package.json や pom.xml のような感じ.さらに Brewfile

                                                                                Brewfile で Homebrew のライブラリを管理しよう! - kakakakakku blog
                                                                              • Figmaデザイン管理保守の効率化 〜 PayPayフリマのリファクタリング事例

                                                                                ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。PayPayフリマのデザイナー加藤です。 PayPayフリマはCtoCのフリマサービスです。PayPayで簡単・安心に売り買いできるだけでなく、ユーザー同士が交流・情報交換できる投稿機能や新たな製品情報をユーザー自身が登録できる機能といった他のサービスにはない独自の機能も提供しています。 今回はインターフェースデザインツールFigmaの活用でどのようにUIコンポーネントの管理保守を効率化したのか、PayPayフリマにおけるプロダクト内デザインデータ運用の工夫をご紹介します。 旧Figma運用フローの課題 現在PayPayフリマでは、プロダクト内の画面UIやコンポーネントのデザインデータを、近年リリースされたFigmaの

                                                                                  Figmaデザイン管理保守の効率化 〜 PayPayフリマのリファクタリング事例
                                                                                • アップル、不吉ともされる「13」避けず「iPhone」のナンバリングを踏襲か

                                                                                  Appleは、少なくとも13という数字について、迷信を信じるタイプではないようだ。台湾メディアEconomic Daily Newsによると、同社は2021年の「iPhone」について、これまでの命名規則に従って「iPhone 13」の名称を使う予定だという。AppleはiPhone 13でも「iPhone 12」シリーズと同様に、「mini」「Pro」「Pro Max」の各バージョンを提供する予定だと報じられている。 MacRumorsがいち早く発見したこの記事は、不吉と考える人もいる13という数字をAppleが回避するのではないかというこれまでの憶測を受けたもの。これに代わる名称として、「iPhone 12S」や「iPhone 2021」などが提案されていた。 この記事では、サプライチェーン関係者らの話として、AppleはiPhone 13を9月に発表する計画だと報じている。Apple

                                                                                    アップル、不吉ともされる「13」避けず「iPhone」のナンバリングを踏襲か