並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 328件

新着順 人気順

ビジネスロジックの検索結果201 - 240 件 / 328件

  • 「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ

    「研鑽Rubyプログラミング」を読んだので、その感想を書く。 届いた。研鑽を積むぞ! pic.twitter.com/YuL5WUyjap— tagomoris (@tagomoris) 2023年4月15日 なお本書の訳者である角谷さんに本をお贈りいただきました。が、その前から同書のβ版(電子版)を購入していたため、実際にはほとんどをそちらで読みました。*1 本エントリの言いたいことは、様々な状況に対応してコードを書くには知識・技術の幅と深さが重要で、本書はそのための重要なインプットとなるでしょう、です! 総論: さまざまなRubyの書きかたを学べる さて、この本は初手から対象読者を「中級から上級のRubyプログラマー」としており、本そのものの目的は「まえがき」の先頭にもはっきり書かれています。少し長めに引用します。 本書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を

      「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ
    • 躊躇せず「今の体制じゃ出来ません」「取り敢えず足元を固めさせてください」と言うのも、大事な仕事のうち。

      ホーム > 躊躇せず「今の体制じゃ出来ません」「取り敢えず足元を固めさせてください」と言うのも、大事な仕事のうち。 昔の失敗の話をします。色々事情がありまして、ちょっと伏字多めな点はご容赦ください。 昔、アルファベット3文字系の大き目のSI会社から、とある金融系のベンチャー企業に転職したことがあります。 もうこれも随分昔の話で、20代後半になるかならないか、くらいの頃だったと思います。 SI会社の名前を仮にA社、ベンチャー企業の名前を仮にB社とさせてください。 私がB社に関わったきっかけは、B社のBtoCシステムのリプレースをA社が受託したことでした。 私はリプレースのプロジェクトにアサインされまして、下っ端として色々やったんですが、会社同士でなにやら色々とゴタゴタがあり、開発を進める段階でプロジェクトは頓挫。 リリースすることなく、僅かなドキュメントと作りかけのモジュールを残して、そのシ

        躊躇せず「今の体制じゃ出来ません」「取り敢えず足元を固めさせてください」と言うのも、大事な仕事のうち。
      • プログラミング1年くらいやってつまづいたこと

        プログラミングを本格的に始めてから1年くらい経ったので、今まで印象に残ったつまづきポイントを書いておく。 C言語 去年の今頃は 42 Tokyo の Piscine に参加していた(そのときの記事)。 このときはC言語でひたすら libc の再実装をしていた。それまでは Python や JavaScript でちょっとしたスクリプトを書いただけでC言語を書いたことが無かったのでとても辛かった(毎日100回の Segmentation fault を見る生活を4週間続けた)が、コンピュータの基礎に近づけた気がした。メモリをいちいち人間が確保したり解放したりしなきゃいけないというのがとても面倒だった覚えがある。 ところで、人間がコンピュータを使って何かしらの課題を解決しようとしたときに突き当たる壁として、ハードウェアやソフトウェアにそれぞれ多数の階層が積み重なっていて、どこで何が行われている

          プログラミング1年くらいやってつまづいたこと
        • マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ

          インテグレーションのためのミドルウェア製品のテクニカルサポートを担当している山下です。 今回は レッドハットのシニアアーキテクトである Eric Murphy さんによる「マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ(CDC)」の翻訳記事です。この記事では、イベントソーシング、CDC、CDC + Outboxパターン、CQRSをそれぞれ簡単に説明しながら、それらの特性の違いを比較します。また、イベントソーシングとCQRSの簡易な説明がなされている他、あまり明確に語られることが少ないもののソフトウェアの設計に大きな影響をおよぼすドメインイベントとチェンジイベントの違いにも触れられています。 [原文] Distributed Data for Microservices — Event Sourcing vs. Change Data Captur

            マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ
          • 【Team & Project】LINEのMessaging Server開発業務、Apache Kafkaプラットフォームの開発・運用をしているチームを紹介します

            LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。 今回は、LINEのMessaging Server開発業務、Apache Kafkaプラットフォームの開発・運用をしているチームについて紹介します。Z PartチームのWonpill Seo、井出真広、Javier Luca de Tena、河村勇人に話を聞きました。 ―― まず、自己紹介をお願いします。 Wonpill:LINEのMessaging Server開発業務、Apache Kafkaプラットフォームの開発・運用を担当しているZ Partチームでマネージャーとして働いています。 井出:今所属しているZ Partでは、主にMessaging platformで利用しているRedisクラスタの運用やRe

              【Team & Project】LINEのMessaging Server開発業務、Apache Kafkaプラットフォームの開発・運用をしているチームを紹介します
            • go-swaggerを用いたWebアプリケーション開発Tips19選 | フューチャー技術ブログ

              はじめにTIG DXユニット 1の真野です。echo → 生net/http → gorilla/mux → go-swagger, gqlgenの経歴でGoのHTTP APIを実装してきました。本記事では最近業務でヘビーユーズしているgo-swaggerについての開発Tipsをまとめました。 背景フューチャーではGoを採用する案件が増えて来ており、その際にgo-swagger というツールを利用することが多いです。 2 理由はWebAPIのスキーマを駆動に開発することに慣れているという開発文化(DBレイヤのERDやデータフローを駆動に開発することは今も多い)や、リリース後の保守や将来のマイグレーションを考慮しなるべく特定のDSLに依存したくないというポリシーを強く持つこと、開発前にある程度固く機能数を洗い出して工数見積もりや開発スケジュールに活かしたいといった大人な事情など、色々相性が良

                go-swaggerを用いたWebアプリケーション開発Tips19選 | フューチャー技術ブログ
              • 「推測不可能性」だけで安心?セキュアなURL生成について考える - Flatt Security Blog

                はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの山川です。 多くのWebサービスにおいて、ブログ記事やドキュメントの公開・下書き共有のためにURLを発行する機能が存在していると思います。このようなURLに関して、第三者に知られたくない場合「推測不可能なURL」を発行するといったセキュリティ観点は広く知られているかと思いますが、それ以外にはどのような観点が存在しているでしょうか。 本稿では、Webサービス上で発行されるURLに関して「どういったセキュリティの観点があるか」や「脆弱性・リスクに対する対策」についていくつかのパターンを前提に解説します。 はじめに 前提 機能一覧 セキュリティ観点 パターン1: URLが推測可能かつアクセス制御に不備がある場合 連番になっている 日付が入っている 単純な値を用いて変換されたハッシュ値 パターン2: URLが推測不可

                  「推測不可能性」だけで安心?セキュアなURL生成について考える - Flatt Security Blog
                • 会員数10万人のレガシーなコミュニティサイトを一から全部作り直した舞台裏 - エス・エム・エス エンジニア テックブログ

                  はじめに 規模の大小を問わず、レガシー化したサイトには色々な課題が存在します。課題の根本的な改善のためにソースコードをゼロから書き直してリニューアル(以後、このことをフルリニューアルと呼称します)するということは、とても魅力的な一方でリスクもあります。フルリニューアルすなわちアンチパターンとされていることも多いですね。ここでは「中規模程度のコミュニティサイトをフルリニューアル、すなわち一から全部作り直す」という選択をした背景や、その進め方について書いていきます。 なお、書きやすさのために筆者一人で思考・実行したように書いていますが、実際には事業部所属のもう一人のエンジニアもしくは二人の考えや行動をミックスしたものとなっています。 TL;DR PHP 5/Ethna & Smarty/オンプレ/オフショア開発7年ものを引き継ぎ/ツライ ↓ PHP 7/Laravel & Vue.js, El

                    会員数10万人のレガシーなコミュニティサイトを一から全部作り直した舞台裏 - エス・エム・エス エンジニア テックブログ
                  • サーバーレスのプラクティスをシンプルに実現する / AWS Lambda Powertools

                    サーバーレス のプラクティスを実践するために多くのコーディングをしていませんか? ビジネスロジックに集中するために、プラクティスを素早く実現するLambda Powertoolsをご紹介します! 想定される聴講者 AWSサーバーレス をご利用されている方 よりプラクティカルなAWS Lambdaの運用を考えている方 サーバーレスサービス構築・運用に興味がある方 ゴール AWS Lambda Powertools の使い所を理解していただく

                      サーバーレスのプラクティスをシンプルに実現する / AWS Lambda Powertools
                    • Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社

                      概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/01/17 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ

                        Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社
                      • CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌

                        CQRSはなぜEvent Sourcingになってしまうのか、まとめてみたいと思います。 なぜまとめるか、それはCQRSにとってEvent Sourcingはオプションだと誤解されている方が多いからです。この記事を書いてる本人も最初はそう思っていましたが、実際に開発・運用を経験してみるとCQRSにとってEvent Sourcingはほぼ必須で、認識を改めるべきだと気づきました。なので、原義に基づいたうえで、Event SourcingではないCQRSがなぜよくない設計になるのか解説します。 その前に松岡さんの記事について。 CQRSの領域ではモデルを完全に分ける 松岡さんの記事には”CQRSはモデルを完全に分ける必要はない”と書かれていますが、知識がないと誤解しがちですが文字のまま意味を取るといけません。こちらの言及は、システムのうち、モデルをC/Qに分割するCQRS領域とモデルを分割しな

                          CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌
                        • Flutterの実践導入で用いるBLoC Patternの全体像と押さえておくポイント|yamarkz - Kazuki Yamaguchi

                          はじめにこんにちは!プロダクトチームの山口(@yamarkz)です。 最近はFlutterを用いたアプリケーション開発に取り組んでおり、そこで採用しているデザインパターンの1つである BLoC Pattern について、自身が調査した内容を整理し、実践導入する上で押さえておくポイントを紹介していきたいと思います。日本ではプロダクションレベルで採用されている例が少ないので、ぜひ、この記事を参考に検討してみてください。 今回紹介する内容の背景を少しご紹介すると、弊社Housmartでは定期的(3ヶ月に1度など)にLab Weekと題しまして、1週間ほど業務時間を使い、新しい技術や日頃手に届きにくい技術課題の解決に取り組む期間を設けています。 詳細は下記記事リンクを参照。 自分はこのLab Weekで、Flutterを用いた中規模アプリケーション開発に必要な設計周りの調査を行い、中でもBLoC

                            Flutterの実践導入で用いるBLoC Patternの全体像と押さえておくポイント|yamarkz - Kazuki Yamaguchi
                          • DDD入門とLaravel - ytake blog

                            DDDとLaravelについて 先日、主催しているコミュニティで久しぶりに20分トークさせてもらいました。 タイトルはこのエントリと同じようなもので DDD入門とLaravelアプリケーション です。 laravel-meetup-tokyo.connpass.com 資料だけ公開してもミスリードになりそうなため、公開はしませんが内容を詳しく書いていきます。 あくまで対象はDDDに入門してみたい、という方やDDDって実装パターンでしょ、と思っている方向けです。 すでに実践、導入している方向けではありませんのであしからず。 複雑にならないようにわかりやすい文言だけで書いていますが、そうじゃないかもしれません。 前置き タイトルからわかるようにLaravelなどを使ってある程度のOOP的なテクニックを学び、 ある程度不自由なく実装ができるようになると アプリケーション設計などのソフトウェア的な

                              DDD入門とLaravel - ytake blog
                            • APIテスト自動化ツールKarateをBDDツールとして使う - まっつんの日記

                              Karateとは Karateは主にe2eテストを自動化するツール。cucumber的なfeatureファイルを書くとそれを実行できる。WebAPIのテストがその中心的ターゲット github.com graalvmのjsライブラリで実現しているっぽいので、featureファイルからJavaも呼べる。 個人的にBDDというのが結構いいと思っていて、ビジネスルールの仕様なんかをビジネスサイドと意識合わせする場合に使えると思っている。アンクルボブはFitnesseというツールを作っている。 FrontPage Fitnesseは名著『実践アジャイルテスト』でも紹介されていたもの 実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects' Archiveソフトウェア開発の実践) 作者:Janet Gregory,Lisa Crispin発売日: 2009/

                                APIテスト自動化ツールKarateをBDDツールとして使う - まっつんの日記
                              • Go言語によるクリーンアーキテクチャの実装例紹介

                                はじめに CastingONEでバックエンドエンジニアをやっている清水です。 この記事ではクリーンアーキテクチャについて学んだけど具体的にどのように実装すれば良いのかという悩みがあったので実装例をまとめてみた記事になります。 クリーンアーキテクチャで実装されたサンプル実装のうちGitHubのスター数が多いリポジトリをピックアップして、設計内容を紹介していきます。 具体的にどこにどんな実装をするべきなのかも含めて紹介していきます。 処理を一部省略して紹介するため実際の処理内容を確認したい場合はGitHubでご確認お願いします。 クリーンアーキテクチャとは クリーンアーキテクチャは、ソフトウェア設計の原則を適用して、依存性の方向性を逆転させ、ビジネスロジックから詳細(フレームワークやデータベース)を分離するアーキテクチャパターンです。これにより、テストしやすく、メンテナンス性が高く、柔軟性のあ

                                  Go言語によるクリーンアーキテクチャの実装例紹介
                                • サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理

                                  このパターンには2つの背景があります。ひとつは、技術者がマイクロサービスアーキテクチャパターンを採用して、複数の(理想的には単一目的で、独立してデプロイ可能な)サービスで構成されるアプリケーションを開発するようになったことです。ふたつめは、企業がコンテナ(Dockerなど)、オーケストレータ(Kubernetesなど)、プロキシ/ゲートウェイ(Envoyなど)といった、クラウドネイティブなプラットフォームテクノロジを支持するようになったことです。 意図 サービスメッシュが解決しようとする問題は次のようなものです。 サービスディスカバリ、ルーティング、アプリケーションレベル(レイヤ7)の非機能通信要件を処理する言語対応の通信ライブラリを、個々のサービス用にコンパイルする必要性の排除 外部サービスのネットワークロケーション、セキュリティ認証、サービス品質(QoS)目標など、サービス通信設定の外

                                    サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理
                                  • 導入がカンタンで開発効率爆上げなVisual Studio Code拡張機能のご紹介 | SIOS Tech. Lab

                                    ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜 Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。 https://tech-lab.connpass.com/event/311864/ みなさん、こんにちは。サイオステクノロジー武井です。今回は、導入がカンタンで開発効率爆上げなVisual Studio Co

                                      導入がカンタンで開発効率爆上げなVisual Studio Code拡張機能のご紹介 | SIOS Tech. Lab
                                    • ハッキングAPI

                                      Web APIは近年急速に利用が拡大しています。APIの呼び出しが全Webトラフィックの80%以上を占めるほど、Webサービスに欠かせない技術となっている一方で、Web APIに対するサイバー攻撃も急増しており、そのセキュリティ対策はあらゆる組織で重要な課題となっています。 本書の目的は、Web APIの基本をしっかり押さえ、脆弱性が存在しないかどうかテストする方法を示すことです。攻撃者(APIハッカー)の視点から、あらゆるAPI機能と特徴を活用するための知識を学ぶことで、これから起こり得る情報漏えいの危機を防ぐことができます。まず、WebアプリケーションやWeb API脆弱性の種類などの基礎知識を学んだのち、実際に検証用ラボを構築しながら、脆弱性の調査方法、ツール、さまざまな攻撃手法などを、実践的に解説していきます。Webアプリケーションで最も一般的なAPI形式であるREST APIのセ

                                        ハッキングAPI
                                      • わかった気になるDDD入門記事まとめ - Qiita

                                        はじめに こんにちは。はじめまして。tarokamikazeです。 これは、社内勉強会用に参考資料をまとめたものです。 この資料のゴール DDD専門用語について、どんなワードでググったらいいかわかるようになる DDDを知らない人が、戦術的DDD(軽量DDD)だけでもやってみようかなという気になる 前段; MVCの限界 余談ですが、凝集度・結合度の観点からするとRailsのMVCがどう問題があるかをコラムで紹介しています。MVCそれぞれの責務を図示すると、低凝集・高結合になっていることがわかります。 とにかく、凝集度、凝集度なのです。 pic.twitter.com/fDWv1ERJA1 — 松岡@技術書典8Day2え28 / DDDブログ書いてます (@little_hand_s) February 2, 2020 あえて過激に言うと。 ある程度の複雑度を持ったアプリケーションにおいて、M

                                          わかった気になるDDD入門記事まとめ - Qiita
                                        • Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる

                                          はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に合わせて必要なツールを体系的に紹介しており、実際の例とコードを交えながら各ステップをわかりやすく説明することで、最終的にはクラウドネイティブなソフトウェアを効率的に提供するための完全なプラットフォーム

                                            Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる
                                          • Vue.js ユニットテストの基本まとめ - Qiita

                                            Vue.js アプリでユニットテストを書くには、Vue Test Utils や Jest など、知っておくべきことがそれなりにあります。 現在、Vue CLI でアプリを作っていますが、ユニットテストを書くために色々と調べないといけませんでした。 今回はその過程で理解した Vue.js でのユニットテストの基本を以下にまとめます。 Vue.js のユニットテスト まず、Vue.js では何を「ユニットテスト」として考えるのかを整理します。 ユニットテストの単位 Vue.js アプリは、複数のコンポーネントで構成され、それぞれのコンポーネントが連動しながら動きます。 そのため、ユニットテストの単位は「コンポーネント」となり、コンポーネントごとにテストを書いていきます。 何をテストすべきか? コンポーネントごとにユニットテストを書くということですが、コンポーネントのどの部分に対してテストを書

                                              Vue.js ユニットテストの基本まとめ - Qiita
                                            • 私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記

                                              ここ数年は Azure Functions をフルに活用したアプリケーションを実装することが多かったのですが、同時に Azure Functions を失敗しないように使う方法も分かってくるので、ここらでちゃんと言語化しておきます。 最近は特に Azure Light-up というハッカソンを行うことが多いのですが、Azure Functions を使う場合には必ずこの辺りは毎回説明するようにしています。要するに Azure Functions の利点・特性を理解して賢く使いこなそうという話です。 Binding / Trigger で実現出来ないか考える Function の実装は出来る限り小さく保つ リトライのしやすい実装を重視する 最新の .NET での作法に沿ったコードを書く Graceful Shutdown に対応したコードを書く 機能単位で Function App プロジェ

                                                私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記
                                              • 「負債のないシステムはない」「過去との対立じゃなく、いまの問題を解きたい」メルカリ基盤刷新に挑むPJOの胸のうち | mercan (メルカン)

                                                大手ポータルサイトで、数多くのサービスを運用した経験を活かし、プラットフォーム開発やSRE部門の立ち上げなどを行う。2019年8月にメルカリ入社。Microservices PlatformチームのEngineering Managerを経て、2020年1月よりDirector of Developer Productivity Engineering。 デパート店員からエンジニアへのキャリアチェンジ ー@mtsukaさんはメルカリに転職される以前はYahoo! JAPANを運営するヤフーに在籍していたんですよね。 はい、12〜13年間ほど。それ以前はPFUという富士通の子会社でSIerみたいな仕事をしていました。 ーそもそも@mtsukaさんはどうしてエンジニアになろうと考えたんですか? 実は僕、キャリアのスタートはデパート(百貨店)なんですよ。パソコンは趣味で触っていた程度でしかなくて

                                                  「負債のないシステムはない」「過去との対立じゃなく、いまの問題を解きたい」メルカリ基盤刷新に挑むPJOの胸のうち | mercan (メルカン)
                                                • Serverless Components はオレたちの未来を劇的にスケールさせるか - Qiita

                                                  Serverless.inc 社より、Serverless Components がついに GA されました。 近年のアプリケーション開発では、いくつかの SaaS を組み合わせることで超高速に開発を行うことができます。例えば「認証は Auth0、ホスティングは Netlify、バックエンド API は AWS Lambda を使用する」といった具合です。このように複数のサービスを組み合わせることで、Undifferentiated Heavy Lifting な作業を排除できます。開発者は価値を生み出すビジネスロジックにのみ集中できるようになるのです。 以下はサーバレスアーキテクチャの例です。複数の SaaS を組み合わせて構築しています。 SaaS を組み合わせるだけで、一定の機能群を作り上げることができる時代になりました。しかし、それにしても複雑な管理は残ります。アプリケーション開発

                                                    Serverless Components はオレたちの未来を劇的にスケールさせるか - Qiita
                                                  • AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス | Amazon Web Services

                                                    Amazon Web Services ブログ AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス この記事では、AWS Cloud Development Kit (AWS CDK) を中心とした、大規模なチームで複雑なクラウドアプリケーションの開発を組織化するための戦略について説明します。AWS CDK では、開発者や管理者は、TypeScript、Python、Java、C#などの使い慣れたプログラミング言語を使ってクラウドアプリケーションを定義することができます。アプリケーションは、Stage、Stack、Constructに整理されており、ランタイムロジック (AWS Lambda コードやコンテナ化されたサービスなど) と、Amazon Simple Storage Service (Amazon S3) バケット、Amazon Relational D

                                                      AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス | Amazon Web Services
                                                    • 我々はConcernsとどう向き合うか - おもしろwebサービス開発日記

                                                      この文章は先日開催された大阪Ruby会議02での登壇内容Concerns about Concernsをブログエントリにしたものです。書いている内容は登壇内容とだいたい同じですが完全一致ではなく、構成を変更したり喋っていない情報を足したりしてます*1。 大阪Ruby会議02に出席していない方でもスライドを読めば大体の内容を把握できると思いますが、これだと細かいニュアンスは伝えられない(し、この手の話はその細かいニュアンスが大事だったりする)のでちゃんとブログエントリにしておこうと思ったのでした。 意見がある人はこちらのスレに書いてもらえると嬉しいです(\( ⁰⊖⁰)/) Concernsとはなにか Concernsという概念は、Rails 4.0から導入されました。具体的にはrails newしたときに生成されるファイルたちの中に app/models/concerns app/contr

                                                        我々はConcernsとどう向き合うか - おもしろwebサービス開発日記
                                                      • 2年かけて個人で全く新しいSNSアプリを作ったお話し - Qiita

                                                        こんにちは。歴10年のアプリエンジニア(Best of AppStore🏅受賞歴あり)です。 neeboor🗯という位置情報を使った新しいSNSアプリを作りました。 toC向け&コンテンツ系&モバイルアプリというサービスの特性上、最初からある程度高い完成度のサービスを提供しないとユーザーの手に取ってもらえないなと思い、UI/UX中心にかなりこだわって開発した結果、開発に2年以上かかってしまいました。 今回はサービスの紹介をしつつ、開発で苦労した点や工数をかけた点について記事にしたいと思います。 サービスの紹介 neeboor🗯は、「あなたの生活圏をもっとおもしろくするSNS (Make your living area hackable)」というコンセプトの位置情報系SNSアプリです。従来のローカル系サービス(=地域情報サイト、半径◯メートルでお店や友達探す系、出会い系、ナビ系、トラ

                                                          2年かけて個人で全く新しいSNSアプリを作ったお話し - Qiita
                                                        • Next.js App Router と控えめにお付き合いして普通の Web アプリを配信する | Offers Tech Blog

                                                          まずは長いものに巻かれたいときもある Offers を運営している株式会社 overflow の あほむ でございます。 先日 コードベースのディレクトリ構成にフォーカスした記事 を公開した関連記事として、Next.js App Router をどのように取り扱っているかについてご紹介します。 【AD?】今回の記事の内容を含んだり含まなかったりすると思いますが、来週 2024/01/17(水) 19:20 〜 オンライン開催の PWA Night vol.59 で発表予定なので興味のある方はぜひ。(終了済み) 下記は本記事の内容を含むイベント発表資料です。ご参考までに。 今回の前提 前回記事 の引用ですが今回も同様です。 最終目標は単体事業でありつつ実質マルチプロダクトな画面群のリプレース クライアントサイドでヘビーなビジネスロジックを持つ必要がない アプリケーション特性としては SaaS

                                                            Next.js App Router と控えめにお付き合いして普通の Web アプリを配信する | Offers Tech Blog
                                                          • DynamoDBによるOutboxパターンとCDCを用いたCQRSアーキテクチャの実装〜ZOZOMOでの取り組み - ZOZO TECH BLOG

                                                            こんにちは。ブランドソリューション開発部プロダクト開発ブロックの岡元です。普段はFulfillment by ZOZOとZOZOMOのブランド実店舗の在庫確認・在庫取り置きサービスの開発、保守をしています。 本記事では、ブランド実店舗の在庫確認・在庫取り置きサービスで実装したCQRSアーキテクチャについて紹介させていただきます。 CQRSの実装においては、データベース(以下、DB)分割まで行い、コマンド側DBにはAmazon DynamoDB(以下、DynamoDB)、クエリ側DBにはAmazon Aurora MySQL(以下、Aurora MySQL)を用いています。また、コマンド側DBとクエリ側DBの橋渡しを担うメッセージングにおいてはOutboxパターンと変更データキャプチャを用いました。DBとメッセージングシステムへの二重書き込みを避けることで障害などのタイミングで顕在化する潜在

                                                              DynamoDBによるOutboxパターンとCDCを用いたCQRSアーキテクチャの実装〜ZOZOMOでの取り組み - ZOZO TECH BLOG
                                                            • 検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog

                                                              TL;DR 表記揺れがふくまれる検索クエリにマッチしたコンテンツを表示するための手法として、スミス・ウォーターマン法に基づくあいまい検索を実装して検索精度を向上しました。この手法は機械学習システムを使わないためメンテナンスコストが低く、その一方で速度面でも実用的な性能を持ちチューニングしやすいのが特長です。 はじめに こんにちは、ギフトモールで検索エンジンなどを開発している @samayotta です。 私たちギフトモールはプレゼントに特化したECサービスを提供しています。ギフトECにおいても、ユーザのニーズにマッチする商品を探すための検索機能は重要となります。例えば、弊社が運用しているギフトECサービスの一つであるギフトモールは、ユーザが入力する文字列の検索クエリから関連するキーワードを検出し、そのキーワードに紐づいているコンテンツ(商品、記事、etc.)を提示する検索機能を持っています

                                                                検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog
                                                              • プログラミング言語 Ruby30 周年記念イベント レポート

                                                                プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                                                • あなたのしらない米国所得申告システム - tomoima525's blog

                                                                  確定申告の時期なので、米国の一風変わった(?)所得申告システム(Information Return)と連携するアプリケーションを開発した話について書こうと思う。 米国の所得申告 所得申告システム、FIRE 不思議なファイルフォーマット みよ、これがメジャーの仕様書だ レスポンス(多分速達のほうが早い) 初心者には厳しすぎるテスト環境 FIREへの申告自動化ツールを開発する おわりに 米国の所得申告 米国で申告義務のある人は、だいたい1月 - 4月の間に確定申告(Tax Return)を行う。この際、所得申告に関する数々の書類を提出する。例えば、雑所得がある場合は 1099-MISC、ギャンブルの収益は W-2G といった具合だ。 書類には膨大な種類がある じゃあこの書類は誰が用意するのかというと、支払った側になる。例えば契約社員は1099-NECという書類が申告に必要になるのだが、これを

                                                                    あなたのしらない米国所得申告システム - tomoima525's blog
                                                                  • 【承認リードタイムが1/5】Slack ワークフロー承認機能の紹介! | BLOG - DeNA Engineering

                                                                    3行で マネージャーが喜ぶ承認システム、 CTO いわく「マジ便利すぎて鼻血出る」 5時間かかっていた承認リードタイムが58分に短縮 コストは月当たり1ドル未満 はじめに はじめまして、 IT 戦略部システム開発グループの長谷川です。入社以来一貫して社内システムの内製開発に携わっています。今では当部署のマネージャーを務める身ですが、基本的には開発大好きアプリケーションエンジニアであり、メンバーとああでもないこうでもないと意見交換しながらコーディングに没頭する日々を過ごしています。 社内システムの内製開発? 社内システムは会計、人事、総務、法務…と多領域にわたり、担当者あたりのシステム数が必然的に嵩むため、それぞれの運用効率というものが強く求められます。その意味で、社内の主軸となるシステムは原則 SaaS で賄うべしというのが世の流れです。しかしながら SaaS が提供してくれる機能はあくま

                                                                      【承認リードタイムが1/5】Slack ワークフロー承認機能の紹介! | BLOG - DeNA Engineering
                                                                    • ALB経由で公開するAPサーバに(リバースプロキシ用の)Webサーバーを利用する意味はあるのか?立ち止まって考えてみた | DevelopersIO

                                                                      まずは、リフト&シフトのリフトだ。オンプレ環境の構成を変えずにAWSでリプレイスするぜ。 静的コンテンツの処理はWebサーバーに任せてアプリケーションサーバーの負担を減らす構成だな。 次はシフトだ。だが大きくは変えない。静的コンテンツを外だしするところから始めよう。 あれ?Webサーバー(Nginx)っているんだっけ??ALBではログも取れるし最近はでできることも多いよね? [新機能] HTTPヘッダーやクエリ文字列などなどでルーティングができちゃう!!AWS ALBで高度なリクエストルーティングが可能になりました! 待てよ待てよ。将来的にはSPAで実装する方法も検討しているんだった。その場合はいらないでいいよね? ということを社内チャットで呟きました。いくつか意見が出てきたのでこのブログにまとめます。 先に結論 コンテンツ(html)をAppサーバーで作成する場合、あったほうが良さそう

                                                                        ALB経由で公開するAPサーバに(リバースプロキシ用の)Webサーバーを利用する意味はあるのか?立ち止まって考えてみた | DevelopersIO
                                                                      • 複雑な開発要件を整理する際の考え方〜RDRAを参考に〜 - LayerX エンジニアブログ

                                                                        はじめまして!LayerXのカレー担当のN_Taisho(西井)です。 私は、もともと霞ヶ関の役人として、6年ほど地方財政支援、大規模災害の被災地の復旧・復興支援、国際協定交渉等に関わってきました。現在はLayerXに所属しながら、三井物産デジタル・アセットマネジメント株式会社(以下、MDM)にてProduct Managerとしてプロダクト開発に主に携わりつつ、会社立ち上げに係る様々な業務に従事させてもらっています。 このMDMは、「眠れる「銭」を、Activateせよ。」をミッションに、「Operation × Techでどうアセマネ業務をリデザインするか」に取り組んでおりますが、その概要については以前、同じくLayerXに所属しながらMDMにコミットしている丸野が執筆した以下の記事が詳しいところなのでそちらをご一読いただければと思います。 tech.layerx.co.jp 今回は、

                                                                          複雑な開発要件を整理する際の考え方〜RDRAを参考に〜 - LayerX エンジニアブログ
                                                                        • 【Vue3に備える】実務で使うComposition APIについて考える

                                                                          ◆はじめにどうもこんにちは。Vueが好きすぎて社内でVueを布教している@_slontです。 今回のテックブログでは、これからリリースされる待望のVue 3を万全の体制で迎えるべく、新機能の中でも個人的にアツいと思っているComposition APIについての考察をしたいと思います。 Composition APIは一体僕たちにどんな驚きをプレゼントしてくれるのか。それを確かめるために我々はアマゾンの奥地へとむk(ry さて、近々リリース予定のVue 3は、パフォーマンス改善の他、Composition API, Fragment, Portal, Suspenceなど様々な新機能があります。 参考:まもなくやってくる Vue.js 3その中でも、大規模プロジェクトに弱いと言われていたVueの銀の弾丸として(?)、ユーザが待ち望んだComposition APIが、2系のプラグイン@vu

                                                                            【Vue3に備える】実務で使うComposition APIについて考える
                                                                          • Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG

                                                                            はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 本連載では、ZOZOTOWNリプレイスプロジェクトについて紹介します。2017年に始まったリプレイスプロジェクトにおいて、ZOZO がどのような意図で、どのように取り組んできたのか、読者のみなさんに有益な情報をお伝えしていければと思いますので、ご期待ください。第1回目のテーマは、「ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計」です。 目次 はじめに 目次 ZOZOTOWNリプレイスの背景、目的 背景 目的 柔軟なシステム 開発生産性 技術のモダン化 採用強化 ZOZOTOWNリプレイスの歴史とアーキテクチャの変遷 アーキテクチャの変遷 2004年〜2017年:オンプレミス(リプレイス前) 2017年〜20

                                                                              Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG
                                                                            • Jotaiで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)

                                                                              ここ2年ほど、すっかりフロントエンド開発者になっている藤田です。以前、Reactフロントエンドの状態管理ライブラリRecoilについて記事を書きました。 Recoilで快適フロントエンド開発 Recoil Syncでさらに快適フロントエンド開発 その後どうなったかというと、実はRecoilからJotaiに乗り換えていて、半年ほど経ちましたので、Jotaiについて書きたいと思います。 サイトの一行目から「Recoilにインスパイアされた」と言ってるとおり、Recoilの良いところを受け継ぎ、不便なところを無くしたような状態管理ライブラリです。 Jotaiの基本 基本はRecoilとほとんど同じで、React.useStateを便利にしたような感覚で非常に簡単に使えます。3ステップで見てみましょう。 1. Providerで囲む アプリケーション全体を<Provider>で囲みます。 impo

                                                                                Jotaiで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)
                                                                              • ノーコードの5分類、エンプラ市場で高まる存在感 | Coral Capital

                                                                                月間10万人が読んでいるCoral Insightsのニュースレターにご登録いただくと、Coral Capitalメンバーによる国内外のスタートアップ業界の最新動向に関するブログや、特別イベントの情報等について、定期的にお送りさせていただきます。ぜひ、ご登録ください! 以前「コーディングを不要にする『ノーコード・スタートアップ』が注目される理由」という記事を書いてから2年ほど経ちました。当時、日本では「ノーコード」という言葉はほぼ使われていませんでしたが、今ではスタートアップのピッチ資料や広告で、毎日のように見聞きするようになりました。2010年頃の「クラウド」という言葉と似ていて、定義が明確でないまま幅広い範囲でイノベーションや実装が起こっているときには、雲をつかむような話に思えるときがあります。 「結局、ノーコードって何?」と思う人は多いのではないでしょうか。 こうしたものは時間ととも

                                                                                  ノーコードの5分類、エンプラ市場で高まる存在感 | Coral Capital
                                                                                • TypeScriptにおけるDDDのドメインオブジェクトの課題と対策

                                                                                  こんにちは、近藤です。 commmune Advent Calendar 2023 18日目の記事は『TypeScriptにおけるDDDのドメインオブジェクトの課題と対策』です はじめに ドメイン駆動設計(DDD)は、複雑なビジネスロジックを扱うアプリケーション開発において、重要かつ効果的なアプローチとして広く認識されています。 コミューンでは、現場で役立つシステム設計の原則の著者、増田さんのご協力を得て、プロダクト開発を進めています。 幸運なことに私は増田さんとの密なコミュニケーションを取らせて頂いており、DDDの理論と実践方法に関する貴重な知見を深めその有用性を感じております。 しかし、TypeScriptのような構造的型付けを採用する言語でDDDを適用する際には、特有の課題が生じることがあります。本記事では、TypeScriptでの構造的型付けに伴う課題、そしてそれらを克服する方法に

                                                                                    TypeScriptにおけるDDDのドメインオブジェクトの課題と対策