A06rp012のブックマーク (393)

  • 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする

    「テストを書くと開発に時間がかかる」。こんな話を一度は耳にしたことがあると思います。実際はその逆で、テストを書かないとむしろ開発の工数が増えてしまうのです。連載では、テストの基知識はあるが今まで実際のプロダクトでテストを書いたことがない人や、自分が書いたコードのどこをテストしたらいいのかわからない人を対象に、まずはテストを書く→質のいいユニットテストを目指すことを目的として、足がかりとなるようなポイントを解説します。第1回となる稿では、テストの重要性やTypeScriptを用いたユニットテストの実例を紹介します。 はじめに BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Program)と申します。連載はPHPカンファレンス2022での発表「実践!ユニットテスト入門」を再構成して記事としたものです。 対象読者 連載の対象読者は、自動テストの

    【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする
    A06rp012
    A06rp012 2024/07/26
  • PdM から見た「スーパーエンジニア」の思考と行動 / Thoughts and Actions of Super Engineers as Seen from PdM

    PHPカンファレンス福岡2024」の登壇資料です。 https://phpcon.fukuoka.jp/2024/ # スライド掲載資料 https://speakerdeck.com/kassy1127/qiang-i-enziniatodong-kuzhong-de-xin-zu-1ni…

    PdM から見た「スーパーエンジニア」の思考と行動 / Thoughts and Actions of Super Engineers as Seen from PdM
  • 日本のITサービスのダメなところ

    いわゆる日でトップクラスのエンジニアみたいなところまで上り詰めると、みんなエンジニアやめて投資ビジネスにいっちゃうから なんも開発しなくなるから 高学歴の若手を束ねて自分の過去の実績看板にして「AI開発してます」っていうとバンバン投資して貰えるから もはやそれでビジネスになってんのよ ちなみにこの開発が失敗しても賠償金とかはないよ、ITベンチャーに投資して儲からないのは当然っていう契約だからさ、いくつか投資して一つでも大成功したらお釣りが来るからさ だからその「ITベンチャー」ボコボコ作ってマンション投資みたいなことをして稼ぐようになっちゃって、準トップぐらいのエンジニアは開発しなくなるからさ 日ITサービスダメなんよね 元〇〇(どっかの大企業)エンジニアです、今は退職してベンチャー支援してますって自己紹介するエンジニア見たことない?あれはそういうことよ。

    日本のITサービスのダメなところ
  • 自走プログラマー 【抜粋版】

    自走プログラマー 【抜粋版】¶ 2022年05月25日 更新 このサイトについて¶ 書籍『 自走プログラマー 』120の各トピックを抜粋して公開しています。 書で扱っている問題やベストプラクティスを参照や引用しやすくすることが目的です。 ぜひ、blogやコードレビュー等で引用し、活用してもらえたら嬉しいです。 抜粋版は書籍版に比べて詳細なコードや解説を省いています。 要点は開かなくても分かるようにしていますが、背景や考え方などについて詳しく知りたい方は、書籍をご参照ください。

    自走プログラマー 【抜粋版】
  • 開発組織全員が自ら学んで成長していく組織づくり

    「開発組織全員が自ら学んで成長していく組織づくり」という内容で、Senior Engineering Managerの上原が、Lancers Agent様との2024/06/19のイベント(https://peatix.com/event/3959065/view )で発表させて頂いた資料となります。 …

    開発組織全員が自ら学んで成長していく組織づくり
  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • AWS Summit Japan 2024に参加しました - BASEプロダクトチームブログ

    はじめに BASE BANK Division で フルサイクルエンジニア をしている02(@cocoeyes02)です。 AWS Summit Japan 2024のDay 1にオンサイトで参加してきたので、現地の様子をお届けします! AWS Summit Japan 2024とは? AWS Summit Japan 2024とは、2024/06/20〜2024/06/21に開催されたAmazon Web Services(以下AWS)を学ぶイベントです。 参加登録人数は5万人を超えるなど、文字通り日最大のAWSを学ぶイベントになります。 aws.amazon.com 会場まで AWS Summit Japan 2024の会場は幕張メッセです。 お昼前にもかかわらず、入場まで人が並んでいました。日最大のAWS学習イベントという表現は実にふさわしい、というほどの大盛況でした。 きたわね

    AWS Summit Japan 2024に参加しました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/06/24
  • リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ

    はじめに Platform Group の久保田( @ykbt13 )です! BASEではリアーキテクチャとしてバックエンドの既存機能を旧リポジトリから新リポジトリへ移行する作業を日々行っています。詳しく知りたい方はぜひこちらを参照してください。 www.youtube.com そんななか、BASEにおけるコア機能の1つである商品の発送機能の移行が行われました。しかしながら、コア機能であるがゆえに様々な改修が繰り返されて複雑化してしまった発送機能では移行前の動作を保証する術がテストのみでは不安があります。 そこで、リアーキテクチャを円滑に進めるべく、番環境上で移行前後の処理を同時実行しデータベースの結果を比較することで動作の保証を行うツールを開発しました。 この記事では、同様にリアーキテクチャを進めている方々を対象に、そのツール(BASE内では通称DryRunと呼んでいますので以降Dry

    リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/06/14
  • 「メール送信者のガイドライン」に対応しました - BASEプロダクトチームブログ

    はじめに BASE Feature Dev1 Group の cureseven です。 Google と米Yahoo が定めた「メール送信者のガイドライン」が、2024/06/01に対応の最終締め切りを迎えました。 BASE から送信しているプロモーションメールも対応が完了しましたので、対応する過程で起こったトピックを紹介します。 「メール送信者のガイドライン」とはなにか簡単に説明 1回でも月あたり 5,000件以上個人メールにメールを送信したことがあるドメインを持つ「一括送信者」は、以下の規定に則ってメールを送信する必要があります。 DMARC の対応 プロモーションメールには、購読解除ヘッダーが挿入されていること 迷惑メール率が 0.3%を超えないこと AWS が出しているこちらの記事がスッキリしていて読みやすいです。 アプリケーション開発チームの私は、購読解除ヘッダーの挿入を主に担

    「メール送信者のガイドライン」に対応しました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/06/06
  • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

    はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

    explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/06/05
  • 多様な職種を交えてデザインスプリントをした話 - BASEプロダクトチームブログ

    BASE BANKでPdMをしている岡です。 先日、あるプロダクトの機能開発にあたってデザインスプリントを実施しました。 すると、「デザインスプリントはチームビルドとしても良い効果がある」という意外な発見がありました。 今回の記事では、このデザインスプリントの意外な効果について書きます。 この記事で述べることのまとめ デザインスプリントはチームビルドとしても良い効果がある 良い効果1:長期的なミッション・ビジョンに立ち返る 良い効果2:不確実性やイレギュラーケースを洗い出せる 良い効果3:機能要件をアクティブラーニングできる 良い効果4:メンバーのプロダクトへのエンゲージメントを高める デザインスプリントとは デザインスプリントとは、新しいプロダクトや機能のアイデアを迅速に検証するための 5日間の集中ワークショップ形式のプロセスです。 具体的には次のようなプロセスで行われます。 各プロセス

    多様な職種を交えてデザインスプリントをした話 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/05/30
  • 拡散モデルを用いた2Dバーチャル試着技術について - BASEプロダクトチームブログ

    はじめに こんにちは。BASEのデータ分析チーム(Data Strategy Team)で不正対策を行ったり、機械学習モデルを触ったりしている竹内です。 先日チーム内の論文読み会でニューラルネットを用いた画像合成によるバーチャル試着技術というトピックに触れる機会があったので、その最近のトレンドについて改めてブログという形でまとめてみました。 バーチャル試着は画像生成モデルの実用的なユースケースの一つとして今現在データセットの拡充やアーキテクチャの検証が進んでいる分野の一つであり、個人的には非常にアツいトピックだと感じています。 バーチャル試着とは バーチャル試着(Virtual Try On)とは、ある人物がある衣服を着用した状態を画像や3Dモデルなどの情報をもとに仮想的に実現し、どのように見えるか可視化する技術のことです。 ネットショップの普及により、店頭に出向かずともPCやスマートフォ

    拡散モデルを用いた2Dバーチャル試着技術について - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/05/02
  • OIDCって何なんだー?から、実際に使うまで - BASEプロダクトチームブログ

    ごあいさつ はじめましての人ははじめまして、こんにちは!BASE BANK Divisionのフロントエンドエンジニアのがっちゃん( @gatchan0807 )です。 今回は、ここ数ヶ月の間にOIDC(OpenID Connect)という技術を使った開発を複数行い、この技術の概観を理解することができたので、OIDCの技術概要に触れつつBASE BANKの中でどのように使ったのかをご紹介しようと思います。 OIDCとは何なのか このパートでは、まずOIDCという技術について概要を紹介します。いくつかのWebページに記載されていた内容を参考にしてまとめさせて頂いているので、記事の最後に参照元のリンクを記載しておきます。 また、OIDCをはじめとした認証・認可の仕組みには様々な用語があり、自分自身も「調べれば調べるほど知らない用語が増えて、どんどんわからなくなってきた…」という経験をしたので、

    OIDCって何なんだー?から、実際に使うまで - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/05/02
  • メンバーシップAppの開発とDDDの実践から得た学び - BASEプロダクトチームブログ

    はじめに こんにちは、バックエンドエンジニアの@zawaです。 私は入社以来、1年ほどショップオリジナルの「メンバーシップ」(会員制度)を開設できる「メンバーシップApp」の開発に携わってきました。 少し前になりますが、2024年2月末にメンバーシップAppの特典交換機能をリリースしました。 リリース内容の詳細はぜひこちらをご覧ください! baseu.jp メンバーシップAppは、モジュラーモノリスのアーキテクチャ上に構築しており、モジュール内部ではドメイン駆動設計(以下、DDD)を採用しています。 先日公開された動画の中でも紹介していますので、ご興味がある方は是非ご覧ください。 【前編】クリーンアーキテクチャの柔軟性を生かしたメンバーシップAppの開発の道筋 - YouTube 【後編】クリーンアーキテクチャの柔軟性を生かしたメンバーシップAppの開発の道筋 - YouTube 記事で

    メンバーシップAppの開発とDDDの実践から得た学び - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/04/25
  • BASEとPAY.JPの歴史から見るWeb系ベンチャーにおけるバイモーダルITへのアプローチ - BASEプロダクトチームブログ

    こんにちは。BASE株式会社の開発担当役員、かつ、子会社でPAY.JPを提供するPAY株式会社の取締役をしている藤川です。 JTC(Japanese Traditional Company)などと呼ばれたりする主に日歴史ある大企業のDX化の文脈において、バイモーダルITという考え方があります。JTCたる既存の大企業は、SIerが構築した基幹システムをITの根幹として事業を運営していましたが、昨今叫ばれるDXの取り組みにおいて、業における顧客接点以外にITシステムでも顧客接点を実現していくための組織を整理する手段としてバイモーダルITという考え方を使うことができます。 考え方として、SoR(System of Record)と呼ばれるデータを記録することに重きを置く既存の基幹システムと、SoE(System of Engagement)と呼ばれるエンドユーザとの結びつきを実現するための

    BASEとPAY.JPの歴史から見るWeb系ベンチャーにおけるバイモーダルITへのアプローチ - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/04/12
  • お問い合わせ対応の輪番制による運用をやめるに至った意思とそこからの学び - BASEプロダクトチームブログ

    はじめに こんにちは。 Feature Dev1 グループでマネージャーをしている髙嶋です。 突然ですが、サービス運営するうえでユーザーからのお問い合わせ対応を無視することはできません。 そしていかに迅速かつ適切な内容で回答できるかどうかは、どこまでいってもゴールのない永遠の課題と言えるものでしょう。 ネットショップ作成サービス BASE に関するお問い合わせ対応についての運用に直近変化があったため、その経緯と効果(はある意味これからでもありますが)を共有させていただきたいと思います。 サマリとしては、概ね以下のような内容となります。 お問い合わせ対応のうち、技術的な観点が要求されるものはエンジニアに対して調査依頼がきます BASE では特定の部署が対応する形ではなく、開発組織横断で対応にあたっています 具体的には通称 cs_q というチャンネルに調査依頼がくるので、基的には依頼がなされ

    お問い合わせ対応の輪番制による運用をやめるに至った意思とそこからの学び - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/04/01
  • AWS JumpStart2024に参加してきました - BASEプロダクトチームブログ

    こんにちは、NEW Dept/Pay ID Dev/Web Backendエンジニアをしている金子です。普段はPay IDに関するバックエンド周りの開発をしています。 3/14, 3/15の2日間に渡って開催されたAWS JumpStart 2024にBASEから4名のエンジニアが参加しました。普段はバックエンドを中心に業務しているエンジニアが、AWSの主要サービスを学び、アーキテクチャの検討をする貴重な経験ができましたので、感想を交えつつレポートしていきます。 AWS JumpStartとは AWS JumpStartは、新卒を含むAWS初学者のエンジニアを対象とした、クラウドネイティブなテックリード人材を育成するための第一歩となる実践的な研修プログラムです。事前学習用動画と2日間の集中的なワークショップを通して、皆様が自走できる状態までシステムアーキテクチャ設計やAWSの理解度を一気に

    AWS JumpStart2024に参加してきました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/03/29
  • 分析基盤へのデータ連携処理をEmbulkからAmazon Aurora S3 Export機能に切り替えた話 - BASEプロダクトチームブログ

    はじめに こんにちは!Data Platformチームでデータエンジニアとして働いている @shota.imazeki です。 分析基盤の構築・運用などの側面から社内のデータ活用の促進を行っています。 BASEではAurora MySQLにあるデータをEmbulkを用いてBigQueryに連携しています。BigQueryへ連携されたデータは分析基盤としてLookerなどを通して社内利用されています。 このデータ連携処理にはいくつかの課題があり、それを解決するためにEmbulkからAurora S3 Export機能を用いた連携処理に切り替えることにしましたので、それについて紹介していきたいと思います。 ※この切り替えについては現状、試験的に一部のDBのみの切り替えとなっていますが、運用上の大きな課題が出てこなければ徐々に切り替えていく予定です。 切替前のデータ連携処理 先述した通り、BAS

    分析基盤へのデータ連携処理をEmbulkからAmazon Aurora S3 Export機能に切り替えた話 - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/03/27
  • PHPerKaigi 2024に2名のメンバーが登壇しました - BASEプロダクトチームブログ

    2024/03/07(木)~2024/03/09(土)に開催された PHPerKaigi 2024 にて、BASE株式会社から2名のメンバーが登壇しました! 登壇者 2 名からコメントと、会場の様子やセッションについてお届けします! 登壇者のコメント Futoshi Endo (@Fendo181) speakerdeck.com BASEでバックエンドエンジニアをしています、遠藤です。 2日目に「PHP8の機能を使って堅牢にコードを書く」というタイトルで発表させて頂きました。 業務でもPHPを書いているのですが、PHP8で提供されている機能は使ってより堅牢に書くにはどうすればいいのか? が気になってそこから実際に業務を通じて得た経験だったり、自分で調べた内容をまとめて発表しました。 個人的には「堅牢」という壮大なテーマを選んでしまった事に若干後悔もしたのですが、資料を作るにあたって、t

    PHPerKaigi 2024に2名のメンバーが登壇しました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/03/22
  • CTOでもVPoEでもないエンジニアのポジションの取り方という発表をしてきました - BASEプロダクトチームブログ

    こんにちは、BASE BANK Divisionで事業責任者をしている柳川と申します。 今回はROSCAさん主催のROSCAFE TECH NIGHT #5で登壇させていただきました。 その登壇記録とレポートです。 rosca.connpass.com 柳川の登壇内容 イベントタイトルに反し、僕はCTOではないのに登壇させてもらうという若干の出オチ感のある登場でしたが、元気に発表させていただきました。 内容的に若干浮くかなとおもったんですが、今回参加者の選定がマッチしたのか、意外にも同系統の発表が並びました。 発表スライドは以下になります。 speakerdeck.com 発表の趣旨は、エンジニアのキャリアパスには事業責任者もあるよという話です。 僕のキャリアパスとしてはエンジニアPdM→事業責任者なのですが、 なんでそのようなキャリアパスを辿ったのだろうかと考えていた時に以下のようなつ

    CTOでもVPoEでもないエンジニアのポジションの取り方という発表をしてきました - BASEプロダクトチームブログ
    A06rp012
    A06rp012 2024/03/01