タグ

ブックマーク / devblog.thebase.in (7)

  • CakePHP 2 のテストを PHPUnit 9で動かしてみた - BASEプロダクトチームブログ

    基盤チームに所属している @okinaka です。 個人的には CakePHP とは長い付き合いで、もう14年以上になります。 BASE の事業においても10年間ずっと支えてくれている大変ありがたい Web フレームワークです。 以前から BASE の多くのコードはまだ古い CakePHP 2 (v2.10.24) 上で動作していることが課題になっています。 CakePHP 自身は順調に開発が継続されていますが、2系から3系へのバージョンアップはなかなか困難で二の足を踏んでいました。 そうこうしているうちに古いバージョンの2系は既に公式でのサポートは切れているうえに PHP 8.0 未サポートの状態です。 さすがにそのまま継続して利用するのは無理があるので、数年前から、より柔軟にシステムを構築するためのアーキテクチャ再設計をすすめています。 その成果は上がってきているのですが、単純なフレー

    CakePHP 2 のテストを PHPUnit 9で動かしてみた - BASEプロダクトチームブログ
  • フロントエンドのコードからの情報漏洩を防ぐための工夫 - BASEプロダクトチームブログ

    基盤チームの右京です。 昨今はフロントエンドのアプリケーションもリッチになり、ブラウザ上で実行されるコードが行うことの範囲も増えてきました。一方で多くのことを実装できてしまうのはリスクでもあり、BASE でも問題となることがあります。 その中でも「開発環境の URL」や「デバッグ機能の存在」ような環境毎に異なる情報は、特に意図せずに漏れやすいものだと考えています。これらはコードを記述する際に、実装方法を知識として知っていればその多くが回避可能です。この記事ではその実装例を解説しています。 コードから漏れる情報 例えば、次のようなコードがあるとします。 function debug() { // 開発環境の host であればデバッグ機能を有効にする return location.host === 'dev.example.com'; } なんの変哲もないようなコードに見えますが、ブラウザ

    フロントエンドのコードからの情報漏洩を防ぐための工夫 - BASEプロダクトチームブログ
  • PHPアプリ開発をPhpStormでスムーズに始められるよう、設定ファイルとドキュメントを用意する - BASEプロダクトチームブログ

    BASE株式会社 Product Dev Division ソフトウェアエンジニアの田中(@tenkoma)です。主にPHPアプリ開発を担当しています。 BASEでは、PHPアプリ開発で使うエディタに制限はありませんが、希望する人はPhpStormを使えます。 PhpStormは設定を全くしなくてもかなり快適に使えると思いますが、多少設定するとより快適になります。 この記事では主に、開発環境とIDEを連携させアプリケーション開発をスムーズに始めるため、以下の設定について紹介します。 Xdebugと連携してリモートデバッグを可能にする PHPUnitと連携してテストをIDEから実行可能にする PHP_CodeSnifferを使ってコーディングスタイルを適用する EditorConfigを追加してコーディングスタイルを開発者で共有可能にする Xdebugと連携してリモートデバッグを可能にする

    PHPアプリ開発をPhpStormでスムーズに始められるよう、設定ファイルとドキュメントを用意する - BASEプロダクトチームブログ
    tacchini
    tacchini 2021/04/17
  • 資産価値の高いテストを書くためにFabricateを使い始めました - BASEプロダクトチームブログ

    Product Dev Divisionの川島(@nazonohito51)です。 BASEでは創業当時よりCakePHPによるWebアプリケーション開発を行っており、同時にそのテストも充実させてきました。ですがその過程で気づくのは、CakePHP標準の仕組みだけではテストを増やせば増やすほどテストデータの管理が難しくなり、テストをメンテナンスするのが困難になる問題でした。きちんと長期的にサービスを良くしてくれる資産価値の高いテストが書けるように、今回はその問題と向き合い、解決するために@sizuhikoさんの開発されたFabricateというライブラリを導入したお話を書かせていただこうかと思います。 BASEの直面した課題 CakePHP2のFixtureという仕組み 詳細は公式ページを参照していただきたいのですが、CakePHP2にはテストデータを作るためのFixtureという仕組みが

    資産価値の高いテストを書くためにFabricateを使い始めました - BASEプロダクトチームブログ
    tacchini
    tacchini 2019/07/26
  • 「BASE」の管理画面リニューアルプロジェクトのこれまでとこれから - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の8日目の記事です。 devblog.thebase.in こんにちは、BASE Design Groupマネージャーの早川(@match0129)です。 今日は、ネットショップ作成サービス「BASE」の管理画面のリニューアルプロジェクトである「次世代管理画面」の話を少ししてみたいと思います。 次世代管理画面とは? ネットショップ作成サービス「BASE」は、現在「次世代管理画面プロジェクト」として大規模なリニューアルの真っ最中です。 プロジェクトが最初にはじまったのは今年の1月で、今は最初の大きな区切りのリリースに向けて開発が佳境を迎えているところです。 キックオフから早1年経とうとしているこのプロジェクトについて、やってきたことを少し振り返ってみたいと思います。 プロジェクトの方向性とコンセプトの定義 そもそもなぜ今リニュ

    「BASE」の管理画面リニューアルプロジェクトのこれまでとこれから - BASEプロダクトチームブログ
  • 新任エンジニアリングマネージャ(私自身)を支えてくれた本と言葉 - BASE開発チームブログ

    この記事は、「BASE Advent Calendar 2018」の3日目の記事です。 devblog.thebase.in 前の日は id:yaakaito でした。Suggested change、便利ですよね。プルリクエストのレビューであまり重要ではないけれど気になる些細なコメントをするかどうか迷うというときに、悩まずにコメント代わりにパッチをサクッと送れるので、レビューに関わる人たちみんなが幸せになれるすごく良い機能だと思いました。ガンガン使っていきたいです! 3日目の今日は、エンジニアリングマネージャを担当している加賀谷が、「新任エンジニアリングマネージャ(私自身)を支えてくれたと言葉」と題して、いくつか紹介していきたいと思います。 駆け出しマネジャーの成長論 - 7つの挑戦課題を「科学」する https://www.amazon.co.jp/dp/4121504933/ 駆け

    新任エンジニアリングマネージャ(私自身)を支えてくれた本と言葉 - BASE開発チームブログ
  • 機械学習にアノテーションを活用して、商品検索の関連キーワード機能を作る - BASE開発チームブログ

    DataStrategyの齋藤(@pigooosuke)です。 ネットショップ作成サービス「BASE」は60万店舗のショップが利用しており、ショッピングアプリ「BASE」のユーザーは、新着商品、キーワード検索、関連商品、商品特集などを介して気になる商品を見つけることができます。今回、新機能として、検索ワードに関連するキーワードを表示することで、ユーザーの興味のありそうな商品にたどり着ける動線を機械学習を活用して実装しました。 DataStrategyチームは発足して間もなく、サービスドメインに適応した単語辞書がなかったので、新規で作成するところから始まりました。機械学習におけるデータセットのアノテーションについての知見が共有される機会が少ない印象もあり、折角なので今回私達が行ったデータ作りから実装までの流れをご紹介します。 概要 今回、どんなキーワードも意味的に近ければ、サジェストしても良

    機械学習にアノテーションを活用して、商品検索の関連キーワード機能を作る - BASE開発チームブログ
    tacchini
    tacchini 2018/10/18
  • 1