タグ

ブックマーク / techracho.bpsinc.jp (7)

  • Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社

    近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく

    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社
    Chisei
    Chisei 2022/05/21
  • HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Randall Degges - Please Stop Using Local Storage 原文公開日: 2018/01/26 著者: Randall Degges 日語タイトルは内容に即したものにしました。 画像は元記事からの引用です。 初版公開: 2019/10/19 追記更新: 2024/04/05 -- リンク情報を記事末尾に移動しました 気で申し上げます。local storageを使わないでください。 local storageにセッション情報を保存する開発者がこれほど多い理由について、私にはさっぱり見当がつきません。しかしどんな理由であれ、その手法は地上から消えてなくなってもらう必要がありますが、明らかに手に負えなくなりつつあります。 私は毎日のように、重要なユーザー情報をlocal storageに保存す

    HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社
    Chisei
    Chisei 2020/07/08
  • Web開発環境をMacBook ProからWindows機に移行してみた話|TechRacho by BPS株式会社

    メイン著者記事としてはご無沙汰しておりますmorimorihogeです。 今年もTechRachoではアドベントカレンダー特集ということで、普段あまり記事を書く機会がなくて表に出ないメンバーにも記事を書いてもらえる運びとなりました。クリスマスまではアドベントカレンダー特集進行のTechRachoをお楽しみ下さい。 今回は最近メイン開発環境をMacからWindowsに移行したので、そのあたりの感想や設定の勘所などをまとめてみたいと思います。 なぜMacから移行するのか? 僕はOS XのIntel Macが出たころからのMacユーザー(当時はまだRosettaとかがありました)で、かれこれ10年以上Macを使い続けてきました。多分Webシステム開発用途でMacを使い始めたという人の中では古参の方なのではないでしょうか。 というわけで、なんで移行するの?という話からぽえみーに綴ってみようと思いま

    Web開発環境をMacBook ProからWindows機に移行してみた話|TechRacho by BPS株式会社
    Chisei
    Chisei 2018/12/03
  • できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社

    tmux便利ですよねー どのくらい便利なのか具体的な使い方を説明しながら布教してみるテスト 0.前提、初期設定 ~/.tmux.conf を用意します。 こんな感じの.tmux.confを使っています パネル移動がviキーバインドで移動できるようにしています。 PrefixKeyはデフォルトではCtrl+Bです。 ここではPrefixKeyと表記します 1.セッション 以下のコマンドでセッションを開始できます 名前を付けた方が分かりやすいので、名前を付けておきます $ tmux new -s projectA 作れました 突然projectBの仕事が入ってきました デタッチして新しいセッションを開始します PrefixKey d $ tmux new -s projectB projectBの作業が終わったので、projectAに戻ってみます PrefixKey :choose-sessi

    できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社
    Chisei
    Chisei 2015/09/17
  • Rails4でサイトを構築する - 非同期処理編(delayed_job)|TechRacho by BPS株式会社

    Rails4でサイトを構築する」シリーズ目次 Rails環境構築編 Scaffold利用編 Bootstrap導入編 WYSIWYG導入編 CSV出力機能編 スクレイピング機能編(nokogiri) 非同期処理導入編(delayed_job) デプロイ環境構築編(capistrano3) 今回は、delayed_jobを使って非同期処理を行う機能を実装してみたいと思います。 delayed_jobとは 処理に時間が掛かるようなタスクをバックグラウンドで非同期処理を実現するGemです。 delayed_job 同じようなものにResque gemがありますが、 delayed_jobを使っていて困ることはないので、使い慣れたdelayed_jobを使っています。 ファイルをアップロードして内容を解析してデータを保存する処理とかサイトをクローリングしてスクレイピングして情報を保存する処理等、

    Chisei
    Chisei 2015/03/16
  • Rails勉強会まとめ -- 非同期処理/RSpecなど|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 今回は棚卸しとして、弊社CTOのbabaさんによるRails勉強会スライドから引用して記事にします。 勉強会自体はRails 3.x時代のものなので既出が多くなっていますが、棚卸しも兼ねて今のうちに記事にいたしました。 非同期処理 言うまでもなく、リクエストからレスポンスまでの時間が長くなるほどユーザー・エクスペリエンスの質が低下します。これを改善するためにさまざまな工夫が必要になるわけですが、その中の一つとして、時間のかかる処理をバックグラウンドで実施しておくというのがあります。 cron 最も素朴な方法はやはりunix標準のcronを使って定時に出力データを準備することでしょう。この場合、起動用スクリプト(rakeなど)やジョブ管理は自分で作成する必要があります。 delayed_job delayed_job gemを使用すると、ジョブをActi

    Chisei
    Chisei 2015/03/06
  • オープンソースのGitLabで社内GitHubを構築しよう|TechRacho by BPS株式会社

    BPSでは、社内のソースコード管理にgitを採用しています。 中央リポジトリには、GitHubのオープンソースクローン、GitLabを利用しています。 GitHubのPrivate Repositoryは便利ですが、ちょっとした細かい案件にリポジトリを作って行くと、価格が馬鹿になりません。 また、日からだと少し遅いですね。 Github Enterpriseは高かったので、面白そうだしGitLabを導入したところ、使い勝手も良く安定運用できています。 GitLabとは gitoliteのフロントエンドです。似たようなものに、gitosisがあります。 gitoliteは、UNIXユーザを作らずにSSH鍵によってユーザを識別し、プロジェクト毎のアクセス権を与えられるgitリポジトリの管理システムです。 中央リポジトリサーバに、ユーザ毎のアカウントを作ると、以下のような問題があります。 煩雑

    オープンソースのGitLabで社内GitHubを構築しよう|TechRacho by BPS株式会社
  • 1