タグ

futaboooのブックマーク (690)

  • ソフトウェア開発組織が持つべきカルチャー 005: 柴田 芳樹 (Yoshiki Shibata)

    プロセス中心ではなく、スキル中心 ソフトウェアは、人が頭の中で考えたことを手を動かして作り出すものです。つまり、家内手工業なのです。そのため、個々のソフトウェアエンジニアのスキルが重要であり、スキルを積み上げていくことが必要です。Richard Gabrielは、 「The Poetry of Programming」と題するインタビューの中で次のように述べています。 Writing software is an art, and it takes about ten years to really get good at it. ソフトウェアを書くことは芸術であり、当にうまくなるには10年を要する。 ソフトウェア開発においては、個々のソフトウェアエンジニアのスキルを向上させる活動をしながら同時にソフトウェアを開発してく必要があります。 しかし、日のメーカーは、ソフトウェア開発を労働集

    ソフトウェア開発組織が持つべきカルチャー 005: 柴田 芳樹 (Yoshiki Shibata)
  • Notionのトップとサイドのバーの色を変えるChrome Extension「Notion Bar Colorize」を作った

    futabooo
    futabooo 2024/05/02
  • UPSIDERのこれからを担うFlutterアプリのアーキテクチャ - UPSIDER Techblog

    こんにちは、UPSIDERで日々モバイルアプリ開発をしているふっくです。 UPSIDERでは今後、よりアプリ開発に注力し決済プラットフォームの中核的な役割を果たすことを目指しています。 今回は、今後の開発・運用を目指して考えたFlutterアプリ向けのアーキテクチャを紹介します。 ネイティブアプリの世界で触れてきた色々なアーキテクチャ・フレームワークを参考に、開発の後半でも順調にスケールさせることができるように、工夫を凝らしました。 アーキテクチャで作ったサンプルアプリもあるので、ぜひ以下のリンクから見てみてください。 https://github.com/upsidr/flutter_architecture_blueprint デモはこちら https://upsidr.github.io/flutter_architecture_blueprint/ 対象読者 目指すところ 参考に

    UPSIDERのこれからを担うFlutterアプリのアーキテクチャ - UPSIDER Techblog
  • Chrome Extension開発時のデバッグ方法

    futabooo
    futabooo 2024/03/26
    書いた
  • CSVの内容を検証するtable-validatorというnpmパッケージを作りました | wapa5pow blog

    この記事は 🎄10X プロダクトアドベントカレンダー2023 の24日目(12/24)の記事です!昨日は、小迫(@aki85135)さんの「エンタープライズプラットフォームの開発には何が必要なのか?」という記事を公開しています。 日は、SWEの@wapa5powが担当します。CSVに悩まされたことがあるSWEのための記事です。 背景 10Xが開発しているStailer(小売チェーン向けECプラットフォーム)は外部パートナーとファイル連携をよく行ないます。 すぐ思いつくだけでも以下のケースがあります。 商品の売り場を作るマスタインポート 基幹からCSVのファイルをGCS(Google Cloud Storage)に配置 管理画面からCSVのファイルをアップロード 配送エリアの設定 システムリプレイス時に既存のシステムから引き継ぎ情報をインポート ポイント連携 CSVを連携するのはいいので

    CSVの内容を検証するtable-validatorというnpmパッケージを作りました | wapa5pow blog
    futabooo
    futabooo 2024/01/19
  • 自作した時間割アプリが大学の公式アプリに採用された話 - Qiita

    記事の概要 私(芝浦工業大学学部4年生)が大学2年時に1人で制作した、大学のポータルアプリ(ポータルサイトからスクレイピングして時間割などを表示する)が、大学に正式採用され、公式アプリ"ScombApp"としてリリースされるに至った経緯を時系列順に説明します。 ホーム画面 時間割画面 制作の動機 大学のポータルサイト使いにくいがち。 ポータルサイトのスマホアプリ版があれば便利そう。 他にやってる人いなさそうだし、最初に作ったらみんな使ってくれそう。 ポータルサイトの問題点 大学ポータルサイトで使いにくかった点を挙げていく。 とりあえずこれを克服することを目標にした。 ログインの時に自動補完が使えない 制作当時はBASIC認証で、スマホからだとログインの自動補完ができなかった。 毎回手打ちでパスワードを入力している人がほとんど ←!? 次の授業や教室を確認するだけでも、毎回手打ちログインが必

    自作した時間割アプリが大学の公式アプリに採用された話 - Qiita
    futabooo
    futabooo 2024/01/15
  • 開発観点からプロダクト価値を最大化する〜バクラク新CTOのミッション〜 - LayerX エンジニアブログ

    こんにちは! 2024年1月より現 CPO の榎(mosa)から引き継ぎ、バクラク事業部 CTO に就任した中川佳希です。 今回の記事では、CTO としてそのミッションを定めた背景とこれからのバクラクの開発について書いていきます。 あわせて引き継ぎや今後の開発について、Podcast も収録しています。こちらもぜひ! open.spotify.com 自己紹介 大学在学中に複数企業でインターンを経験し、2013年に株式会社エウレカに入社しました。その後フリーランスを経て、2020年6月に LayerX にジョインしました。 入社前の LayerX はブロックチェーンのイメージが強く、技術課題も Solidity でのアプリケーションの開発でした。選考の期間は、会社としてブロックチェーン事業からのピボットタイミングでもありました。入社までの面談でブロックチェーン事業の経験からうまれた DX

    開発観点からプロダクト価値を最大化する〜バクラク新CTOのミッション〜 - LayerX エンジニアブログ
    futabooo
    futabooo 2024/01/10
    知ってる人がみんなCTOとかVPoEとかになっていく。
  • 品質と約束、そして夫婦の家事分担の話

    こんにちは、Data Product Managerの@tenjinです。 Stailerにおけるネットスーパー・ドラッグストアの売り場生成では、「いつ・どの店舗で・どの商品が・何個・いくらの金額で売っているか」のようなマスターデータを作るロジックを独自開発している、という特徴があります。 StailerのLPにおい

    品質と約束、そして夫婦の家事分担の話
    futabooo
    futabooo 2023/12/22
  • モノリス解体に向けたパッケージ構成 - 10X Product Blog

    CTOのishkawaです。 この記事は10X アドベントカレンダー2023の3日目の記事です。 先日、サーバーサイドのメンバーを中心として、コードをどのように分割管理していくか話すオフサイトを実施しました。オフラインで1日中話していたこともあり、話題は色々な方向に進んだのですが、その中でもモノリス解体にトピックを絞ってシェアしたいと思います(他の話は他のメンバーが書いてくれるはず!)。 前提 10Xには4つの開発チームがあります(お買い物チーム、お会計チーム、お届けチーム、マスターデータチーム)。今年の4月にチーム分割が始まり、コードやデータのオーナーシップも各チームにアサインしてきました。 この組織移行によってオーナーシップ分割は進んでいるものの、依然としてモノリスのパッケージ(Dartのパッケージ)は大きいままで、ほとんどのコードがそこにある状態でした。領域ごとのディレクトリ分割は進

    モノリス解体に向けたパッケージ構成 - 10X Product Blog
    futabooo
    futabooo 2023/12/04
  • 見積りとは何か?

    見積りとは何か?2023年12月2日この記事は 10X アドベントカレンダー2023 という企画の2日目(12/2)の記事です。 1日目(12/1)の昨日は岡野さん(@operandoOS)による「CIを高速化する技術⚡️」でした。 はじめに この記事の内容は以下のの第一章とほぼ同じ内容となります。この記事の読んで見積りについて興味が湧いたらぜひ以下の書籍に目を通してみてください。 出典 ソフトウェア見積り 人月の暗黙知を解き明かす 早速ですが見積りしてますか?おそらくソフトウェアエンジニアの方であれば、こんな感じで会話して見積りした経験が1度はあるんじゃないでしょうか? プロダクトマネージャー「機能xyzの件だけど、開発期間はどのくらいだと見積もってる?」 ソフトウェアエンジニア「1ヶ月ですね。」 プロダクトマネージャー「長すぎる。1週間で何とかならないか。」 ソフトウェアエンジニア

    見積りとは何か?
    futabooo
    futabooo 2023/12/02
  • CIを高速化する技術⚡️ - 10X Product Blog

    この記事は 10X アドベントカレンダー2023 という企画の1日目(12/1)の記事です。 こんにちは、10Xでソフトウェアエンジニアをしている 岡野(@operandoOS)です。 今回 10Xで3回目となるアドベントカレンダー企画の1日目をありがたく担当させていただきます💪 目次 目次 10X アドベントカレンダー2023ってなに? さてさて、題へ CIは絶対に速い方がいい CIを高速化するテクニックの紹介 キャッシュの利用 マシン性能の調整 ジョブの並列実行とテスト分割 最適なテスト分割 ジョブの実行順序・依存関係の最適化 不要なジョブ・ステップを削除する テストコードの実行速度を上げる 紹介したテクニックを活用した10XでのCI高速化事例 アプリのビルド時間の大幅短縮に成功!! APIのテスト実行時間の大幅短縮に成功!! CIを高速化するために日々取り組んでいること CI/C

    CIを高速化する技術⚡️ - 10X Product Blog
    futabooo
    futabooo 2023/12/01
  • 家計口座用の家計簿アプリをマネーフォワードMEからZaimに乗り換えた - Islands in the byte stream

    追記(2023/11/29): 2023/11/1からまたZaimでアメリカン・エキスプレスとの連携ができなくなりました: (11/2 掲載)アメリカン・エキスプレスの連携不具合について:よくある質問|家計簿アプリ Zaim。マネーフォワードではできているようです。困惑の極み…。とりあえずZaimのプレミアムプランは解約しました。 最近、我が家の家計のための家計簿アプリを、5年ほど使ったマネーフォワードMEからZaimに乗り換えました。今のところ、機能的には満足しており、かつこれまでできていなかった我が家の家計スタイルに合った家計簿の運用がようやくできるようになったので、大変満足しています。 もともとあった課題として、マネーフォワードMEは我が家の家計スタイルを実装していないというものがありました。我が家の家計スタイルは、別に特殊なものではなく、次のゼクシィの記事の「【2】お互いに、毎月定

    家計口座用の家計簿アプリをマネーフォワードMEからZaimに乗り換えた - Islands in the byte stream
    futabooo
    futabooo 2023/10/10
    我が家もマネフォでやりくりしてるけどZaimよさそう。APIがあるのも好感が持てる。メンテあんまされてなさそうだけど。
  • futabooo

    futabooo
    futabooo 2023/08/12
    書いた
  • Stailerの開発を支える取り組み 2023春 - 10X Product Blog

    はじめに こんにちは!お会計チームの yamakazu (@yamarkz) です。 10Xでは4月から新しい期が始まるため、最近はバタバタしています。新しい組織や取り組みが始まってきていて、今年度はこれまでとはまた違った大きな変化が生まれそうで楽しみです。 さてそんな今回は期の変わり目ということもあり、 節目として「Stailerの開発を支える取り組み」を紹介します。 取り組みはプロダクトの規模や性質、組織構造、願望によって変わる唯一無二の存在で、各社様々な工夫を凝らして、より良い開発体験を追求していると思います。 自分たちもその時々の状況に合わせて、最適なやり方に変えて開発してきました。 今後も取り組み自体は変わっていくと思いますが、2023春時点での取り組み状況 (仕組み / ルール / 文化 / ツール) をスナップショットとして取り上げみようと思います。 はじめに 前提 取り組み

    Stailerの開発を支える取り組み 2023春 - 10X Product Blog
    futabooo
    futabooo 2023/04/12
  • GCP の Application Default Credentials を使った認証 - ぽ靴な缶

    公式ドキュメントで説明されているけど、同僚に何度か説明する機会があったり、作る必要のないサービスアカウントキーを目にすることも多いのでまとめておく。 認証情報が登場しないアプリケーションコード 例えば以下のコードで Secret Manager に保存したトークンを取得することができる。SecretManagerServiceClient にサービスアカウントキーを渡さずとも動作する。 const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); const client = new SecretManagerServiceClient(); (async () => { const [secret] = await client.accessSecretVersion({ name: 'proj

    GCP の Application Default Credentials を使った認証 - ぽ靴な缶
  • iTerm2でSolarizedを使うと一部の色が灰色になってしまう問題の対処法 - orangain flavor

    iTerm2でSolarizedの配色を使う場合、以下の記事が参考になります。 のびーのっちゃね~だらだらな日々。っちゃ寝生活してても意外と平気だったりする。 : ターミナル (iTerm2) な Vim を Solarized カラースキーマで! ターミナルをiTerm2に換えた: 黄昏てなんかいられない 問題 しかし、単純にダウンロードしたColor Schemeを設定しただけど、それまで色がついていたはずの文字列が灰色になってしまうことがあります。 特にSSHで他のサーバーにログインした時に色がなくなって困ることがありました。 こんな感じで色あせたように見えます。 解決策 以下のページに書いてありました。iTerm2の設定で、Profiles → Text → "Draw bold text in bright colors" のチェックを外すと、綺麗に表示されるようになります。

    iTerm2でSolarizedを使うと一部の色が灰色になってしまう問題の対処法 - orangain flavor
    futabooo
    futabooo 2023/01/08
  • DartにおけるConstructorとFactoryの実装パターンを考える

    はじめにDartはインスタンス生成の手法に幅があり、様々な表現を選択することができます。 この記事ではどういった表現があるのかを整理し、普段どのような狙いや考えを持って表現選択をしているのかを可能な限り言語化して示します。 紹介するのはあくまで自身が正しいと考えている内容であり、Dartの公式が提唱する言葉の表現や意図とは異なっている内容もありますので、注意してください。基は公式ドキュメントの情報を信用しましょう。 「公式ドキュメントを読んで言語表現の意図を理解したものの、実際に現場レベルではどういう意図や狙いを含めて使っているのか?」を知りたい方に向けて、自身の経験知をサンプルとして、何かしらの気づきや参考となるヒントを共有できればと思いこの内容を書きました。 目次はじめにDartのインスタンス生成パターン1. Default Constructors2. Private Constr

    DartにおけるConstructorとFactoryの実装パターンを考える
  • 自身がSlackで使ったリアクション上位 20位のランキングを出してくれるBotをnew Slack Platformで作ってみた - やる気 ない日記

    このエントリは 10X アドベントカレンダー2022 という企画の1日目(12/1)の記事です。 こんにちは、10Xでエンジニアリングマネージャーをしている 岡野(@operandoOS)です。 今回 10Xで初となるアドベントカレンダー企画の1日目をありがたく担当させていただきます💪 10XはStailer(ステイラー)という、スーパーマーケット・ドラッグストアなどのチェーンストアのオンライン事業立ち上げと成長に必要なすべてを備えたプラットフォームを開発しています。 なので、はじめに最近よく行くスーパーとよく買う商品の紹介をします! 最近よく行くスーパーは西友で、よく買う商品は「みなさまのお墨付き 塩味えだまめ 大容量 700g」です! 10X アドベントカレンダー2022ってなに? 株式会社10Xのメンバーが送る、2022年アドベントカレンダー企画です🎄 🎅 🎍 10xall.

    自身がSlackで使ったリアクション上位 20位のランキングを出してくれるBotをnew Slack Platformで作ってみた - やる気 ない日記
    futabooo
    futabooo 2022/12/01
    わいわい
  • Slack Platform(Deno)でチーム開発に便利なbotを作った話 - pixiv inside

    こんにちは。ピクシブで新規事業部に所属しています、ああうえ(@_kwzr_)と申します。 最近、自分の所属する部署で飼っている便利botをSlack Platformで作り直したので、その紹介をしようと思います。 Slack Platformとは、Slack上にアプリケーションをホスティングできるサービスです。 最近オープンβ版が公開されて、Slackの有料プランを使っているユーザーであれば使えるようになりました。 便利bot「pastel」の紹介 便利botはpastelと名付けられていて、 @pastel 共有 内容 のようにbotに対してメンションを送るとその内容をNotionに記録してくれて、後からMTGのときに振り返ることができたり、 ※こんな感じでNotionに反映されます。各共有内容にスプリントへのrelationが付いてくれるので、勝手にそのスプリントの共有内容としてまとめ

    Slack Platform(Deno)でチーム開発に便利なbotを作った話 - pixiv inside
    futabooo
    futabooo 2022/10/24
  • 10Xにおけるアーキテクチャ特性の定義 - 10X Product Blog

    「アーキテクチャ特性の導入と手応え - 10X Product Blog」の記事を補完する内容です。 10Xにおける「アーキテクチャ特性」という概念に対する解釈を定義しています。 これは元々社内向けに書かれたドキュメントでした。社内ドキュメントをそのまま転記する形で記載しています。 概念の出自は「ソフトウェアアーキテクチャの基礎」です。 ここでの内容が、アーキテクチャ特性への理解の足がかりになれれば幸いです。 アーキテクチャ特性とは なぜアーキテクチャ特性が必要なのか 備えるべきアーキテクチャ特性とは 1. 設計に対する考慮事項が要求仕様として明らかなもの (明示的) 2. 設計の構造的な側面に影響を与えるもの (暗黙的) 3. ソフトウェアの成功に不可欠 or 重要なもの アーキテクチャ特性の見極め ドメイン特性 (ドメイン由来) 明示特性 (要件由来) 暗黙特性 (システム由来) 見極

    10Xにおけるアーキテクチャ特性の定義 - 10X Product Blog
    futabooo
    futabooo 2022/10/20