並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 280件

新着順 人気順

*サービス開発の検索結果1 - 40 件 / 280件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

*サービス開発に関するエントリは280件あります。 開発サービス教育 などが関連タグです。 人気エントリには 『サービス開発でぶつかってきた壁と、そのとき助けてくれた本 - クックパッド開発者ブログ』などがあります。
  • サービス開発でぶつかってきた壁と、そのとき助けてくれた本 - クックパッド開発者ブログ

    こんにちは、開発ディレクターの五味です。クックパッドにレシピを投稿してくれるユーザーのための機能やサービスを開発する「投稿開発部」に在籍しております。 投稿開発部は、2018年1月に前身となる部からメンバーを一新して発足した部署です。自分たちで1から戦略を作るため、強い実感を持ってユーザーを理解することを信条に、資料を読んだり前任者に聞いたりするだけではなく、実際にユーザーとたくさん話し、たくさんレシピを投稿し、ユーザーのことをたくさん考えてきました。 この記事では、その中でぶつかった課題を解決するために取り入れた書籍や、それをうまく業務に取り入れるために行っている工夫を紹介します。 サービス開発にはさまざまな壁が現れる ユーザーと事業目標に真摯に向き合うほど、サービス開発にはたくさんの壁が現れます。私たちも例外ではなく、部の発足以降、以下のような壁に激突してきました。 「ユーザー課題の見

      サービス開発でぶつかってきた壁と、そのとき助けてくれた本 - クックパッド開発者ブログ
    • マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供

      マイクロソフトは、マイクロサービスアプリケーションの開発を容易にするためのフレームワーク「Dapr」をオープンソースとして公開しました。現在アルファ版となっており、多くの開発者の協力を求めています。 マイクロサービスアプリケーションは、「マイクロサービス」あるいは単に「サービス」と呼ばれる、それぞれがアプリケーションを構成するための機能を提供する多数のプログラムが疎結合によって連係することで実現されます。 それぞれのサービスはWebサーバのようにステートレスなものもあれば、データベースサーバのように状態をつねに保持するステートフルなものもあります。 また、それぞれ異なるプログラミング言語で開発されたサービスがお互いを呼び出し、メッセージをやりとりする必要があります。 Daprは、こうしたマイクロサービスアプリケーションの開発を容易にするため、プログラミング言語に依存せず、サービス間の呼び出

        マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供
      • APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記

        この記事はSmartHR Advent Calendar 2020 11日目の記事です。 僕のお手伝いしているSmartHRでは、毎週バックエンドエンジニアが集まり、技術的なトピックについて共有、相談しあうミーティングを開催しています。そのミーティングでは僕がTipsなどを共有するコーナーが常設されています*1。 このエントリでは、そのコーナーで共有した内容をひとつ紹介します。 APIに制限をかける方法について APIを外部に提供するとき、一定の制限をかけてユーザがAPIを乱用するのを防ぐことはよくあることではないでしょうか。素直に考えると「1時間に5000回までAPIを実行できる」のようなやり方を思いつきますね。GitHubのAPIもそのやり方ですし、SmartHRのAPIも同様です。 じゃあそれでいいのでは。となるかもしれませんが少し待ってください。いろんなクライアントがAPIを大量に

          APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記
        • 最近のモダンなWebサービス開発の構成について調べるメモ

          ここのところ雑にWebサービスをリリースする機会が減って最近はFlutterでネイティブアプリばかり書いてるのでWebの最新に追いつけてない。 最近の流行りのWebサービス開発について自分の必要そうな範囲でちょっと調べてみる。 自分の場合、フロントエンドはTypeScript+(Vue or Nuxt)でやって、サーバーサイドはRailsで書いちゃうことがまだ多い。 これでもなんとかなるけど、もうどうせならJSで一気通貫でフロントエンドとサーバーサイドを書ければ楽なのにと思いつつある。 パッと思いつくのはTypeScriptでフロントエンドをNext,Nuxtあたりでやって、バックエンドAPIをexpressとかサーバーレスAPIを適当に書くとかだけど、今だともっと良い方法ありそう。 本当はDartでサーバーサイド、FlutterでwebまでいければDart統一時代になって願ったり叶ったり

            最近のモダンなWebサービス開発の構成について調べるメモ
          • 中途入社のソフトウェアエンジニアがWebサービス開発に参加するとき役立ったこと - kymmt

            この記事は一休.com Advent Calendar 2023 8日目の記事です。 2023-09-25に入社して2か月半が経ったので、既存のWebサービスの開発にソフトウェアエンジニアとして参加するにあたって役立ったことを書いておく。 『Webサービスのソフトウェアエンジニアとしての転職活動で役立ったこと』の続編といえるかもしれない。 前提 観点 どのようなサービスかを調べる どのようにデータを保持するかを調べる どのようなコードかを調べる 「未知の未知」をできるだけ早く減らす チームの開発体制に興味を持つ 所感 前提 レストラン予約のサービスの開発に参加した 歴史が長い(2006〜) Webアプリケーションを開発する 技術スタックは転職前後で完全に変わった 前: Rails, PHP, Nuxt, MySQLなど7年 後: Rust, Next.js, Python, Microso

              中途入社のソフトウェアエンジニアがWebサービス開発に参加するとき役立ったこと - kymmt
            • TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)

              最近開発しているBtoB SaaSサービスの技術スタックを、RailsからNode.jsに移行した。 これにより、フロントエンドもバックエンドも全てをTypeScriptで統一することができた。 特にNode.jsのWebバックエンドの構成について、まだまだ世の中に知見が少ない気がしているので記事にしておく。 Webバックエンド - Node.js(TypeScript) Nexus/Apollo Server (Webサーバー) GraphQLサーバーとして、Apollo ServerのコードファーストなアプローチでのラッパーであるNexusを使っている。 Railsからの移行を決断できたのも、Apollo ServerとPrismaにより、外部との通信が型付きで、かつ開発体験よく書けるようになたから、というのが大きくある。 数年前の段階だと、素のexpressを使ってWebサーバーを立

                TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)
              • 【感想】『Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド』:Lambdaで本格サービス開発まで - Rのつく財団入り口

                サーバーレスアプリケーション開発ガイド Lambda関数を用いたサーバーレス開発をもっと知っておこうと思って読んだ本の感想です。2018年4月刊行、サーバーレスの主要サービス解説にコードはPython、のみならずフロントはVue.jsを使った本格開発まで、実践的な内容が詰まった本です。 作者は現Amazon Web Services Japan所属のKeisuke69こと西谷圭介さん。Twitterでもよくお見掛けします。(@Keisuke69) サーバーレスアプリケーション開発ガイド Chapter1 サーバーレスアプリケーションの概要 1-1 サーバーレスアプリケーションとは 1-2 ユースケースとアーキテクチャパターン 1-3 サーバーレスアプリケーションのライフサイクル管理 Chapter2 Amazon Web Services(AWS)利用の準備 Chapter3 インフラを自

                  【感想】『Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド』:Lambdaで本格サービス開発まで - Rのつく財団入り口
                • 縦書きHTMLにおける文字の向きはどのように定まるか - ドワンゴ教育サービス開発者ブログ

                  ドワンゴ教育事業Webフロントエンドチームの berlysia です*1。 はじめに この記事では、日本語の縦書きHTMLにおいて、「ある1文字が縦組みのなかで違和感なく縦書きとして表示される」とはどのように成り立っているのか、意図しない表記になりやすい文字とその理由について紹介します。 最後まで読むと、縦書き時の文字の縦横に関する問題をたちどころに分解できるようになるはずです。とりあえずフォントのせいだろうかと疑う日々には、これでおさらばしましょう*2。 はじめに N予備校における日本語縦書きHTML CSS の関連仕様 日本語の一般的な縦書きに設定する うまくいかないことが起こりやすい文字たち うまくいかない文字がうまくいかない理由を理解する 縦書きを考慮した文字の周りの方向の定義 CSS における縦書きでの文字の縦横 upright typesetting sideways type

                    縦書きHTMLにおける文字の向きはどのように定まるか - ドワンゴ教育サービス開発者ブログ
                  • 全てを書き換え続ける。N予備校Webフロントエンド実装6年のあゆみ - ドワンゴ教育サービス開発者ブログ

                    はじめに ドワンゴ教育事業 Web フロントエンドチームの berlysia です。 ドワンゴ教育事業が提供するオンライン学習サービス『N予備校』は、この 4 月でリリース 6 周年を迎えました。N 予備校の Web フロントエンドはリリース以来、全面的な書き換えを行い、今も続けています。 この記事では書き換えに伴う N 予備校の Web フロントエンド実装の変遷を説明し、これら書き換えの経験やWebフロントエンドという領域の性質を踏まえて、すべてを書き換え続ける選択をしていることを述べます。 この記事は berlysia が他社様イベント*1にて発表させていただいた話題を元に再構成しています。 speakerdeck.com ※JSConf JP 2021 で発表させていただいた事例とは異なるコードを対象にしています。 はじめに 実装の 5 つの世代 v1 v2 v3 v3(TypeSc

                      全てを書き換え続ける。N予備校Webフロントエンド実装6年のあゆみ - ドワンゴ教育サービス開発者ブログ
                    • サービス開発における暗黙知を無くす「完全に理解した会」|cluster - メタバースプラットフォーム

                      Cluster Tech Blogははてなブログへお引越ししました 引き続きそちらで記事を発信していきますので、ぜひご覧ください!

                        サービス開発における暗黙知を無くす「完全に理解した会」|cluster - メタバースプラットフォーム
                      • 技術ブログを(だいたい)1年続けた背景と成果 - ドワンゴ教育サービス開発者ブログ

                        このドワンゴ教育サービス開発者ブログを開設してから2年が経ちました。 特に2021年3月からおよそ1年の間、技術ブログの運用体制を整え、定期的に記事を投稿してきました。 この記事では、技術ブログ運用の背景と現在の運用体制、成果と課題についてまとめます。 背景:教育事業の成長のために 運用:編集部体制の構築 執筆フロー 執筆者のアサインとテーマの決定 記事構成・目次の作成 初稿の作成 完成稿の作成 社内公開と公開日の調整 公開 成果 採用での成果 副次的な効果 課題と今後の展望 We are hiring! 背景:教育事業の成長のために 私達は教育を生業とすることもあり、学習や知見の共有は大事な業務のひとつです。 そのような活動の場のひとつとして技術ブログを開設していましたが、有志の手によって不定期に更新される程度で、効果的に活用できていませんでした。 そのような中で、さらなる事業成長のため

                          技術ブログを(だいたい)1年続けた背景と成果 - ドワンゴ教育サービス開発者ブログ
                        • 【ツイッターで毎週トレンド入りするサービス開発者が教える】再現性を持って「バズ」るサービスを作る方法 - AppBrew Tech Blog

                          こんにちは。れとるときゃりー(@retoruto_carry)と申します。 AppbrewではPdM・デザイナー・フロントエンドエンジニアをやっています。 プライベートでは、個人開発でみんなのボタンメーカーというサービスを運営したりしています。 ほぼ毎週ツイッターのトレンドに乗るような、所謂「バズ系」のWebサービスで、月に50万人くらいに利用してもらっています。 ツイッターをやっている方は、なんとなく見たことある気がする人も多いのではないでしょうか? みんなのボタンメーカー 今回は、その知見を活用し、お仕事で「LIPSショッピング」というコスメの買い物ができるサービスのバズキャンペーンの企画・デザイン・実装を行いました。 コスメクーポンガチャ ちょうどいいので、それを題材にして、再現性をもって「バズ」るサービスを作る方法について話していこうと思います。 キャンペーンはかなり好評で、ツイッ

                            【ツイッターで毎週トレンド入りするサービス開発者が教える】再現性を持って「バズ」るサービスを作る方法 - AppBrew Tech Blog
                          • Managed Kubernetesサービス開発者の自宅k8sクラスタ全容

                            となっています。 構成図 クラスタを構成するものを図にすると以下のようになります。 この中の一部コンポーネントは次節以降で登場します。 Kubernetes基盤 クラスタの基盤部分についてどのような構成になっているのか説明します。 kubeadm クラスタの構築自体については kubeadm を利用しています。 kubeadm を利用したクラスタの構築方法については公式のドキュメントが参考になります。 Static Pod と systemd kubeadm でデプロイすると kube-apiserver 等は Static Pod で、kubelet は systemd 以下で動作するようになります。 kube-apiserver は意外にメモリを食ってしまうのでそのまま動作させているとメモリ不足になることがあります。(ありました) なので kube-apiserver と etcd の

                              Managed Kubernetesサービス開発者の自宅k8sクラスタ全容
                            • サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発

                              2016年頃「サービスメッシュ」という用語は、マイクロサービス、クラウドコンピューティング、DevOpsの分野に登場しました。楽天的なあるチームは、2016年にこの用語を使用して彼らの製品である Linkerd を説明しました。コンピューティングの多くの概念と同様に、実際には、関連するパターンとテクノロジーの長い歴史があります。 サービスメッシュの登場は、主に IT ランドスケープの最悪の状況によるものでした。開発者は、複数言語 (ポリグロット) アプローチを使用して分散システムの構築を開始し、動的なサービスディスカバリーを必要としていました。運用は一時的なインフラストラクチャの使用を開始し、避けられない通信障害を適切に処理し、ネットワークポリシーを適用したいと考えていました。プラットフォームチームは、Kubernetes などのコンテナオーケストレーションシステムの採用を開始し、Envo

                                サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発
                              • 【Team & Project】LINEの機械学習を活用したサービス開発を担当しているチームを紹介します

                                LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。今回は、LINEの機械学習を活用したサービス開発を担うMachine Learningチームを紹介します。Machine Learningチームのそれぞれのポジションで開発を進めている4名(菊地悠、齋藤祐樹、櫻打彬夫、境美樹)に話を聞きました。 ―― まず、自己紹介をお願いします。 菊地:2017年10月にプロジェクトマネージャーとして入社しました。前職は携帯電話キャリアでソフトウェア畑の研究系業務からスタートし、転職直前は位置情報系サービスの分析・開発に携わっていました。現在はチームのマネージャーとして、プロジェクトや業務の管理を行なっています。 齋藤:前の会社では広告のCTR予測やショッピングサイトのランキン

                                  【Team & Project】LINEの機械学習を活用したサービス開発を担当しているチームを紹介します
                                • webサービス開発における良い開発環境 - Qiita

                                  最近、「webサービス開発における良い開発環境とは何か?」を自問する機会があったため、その内容を記事としてまとめました。 筆者が考える良い開発環境の条件と、それを実現するための具体的な方法を交えて記載していきます。 (もちろん、記載している条件に合致していることが全てのケース/シーンで「良い」ものであるとは限りませんが) 誰かが新規に開発環境を作る際、また、既存の開発環境を改善する際の参考になれば幸いです。 前提 下記のようなサービス開発を前提とします。 webサービスの開発 OSSではない1 VCS2によって管理されている 開発環境とは以下の2つを内包する ローカルマシンまたは仮想環境上でソースコードを編集し、テスト/静的解析を実行する ローカルマシンまたは仮想環境上でサービスを起動する また、技術的な開発環境についてのみ言及します。 開発フロー、コーディング規約、はてはオフィス環境まで

                                    webサービス開発における良い開発環境 - Qiita
                                  • N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ

                                    この記事は、ドワンゴ Advent Calendar 2022の8日目の記事です。 N予備校では、過去の記事でも触れた通りAWS CodeBuildを日常に利用しています。 この記事では、導入した経緯や実際の利用例などについてご紹介できればと思います。 AWS CodeBuildを導入した経緯 開発当初についてはGo製のCIツールであるDroneを利用しており、v0.5からv0.8まで利用していました。 Droneを利用していた際にはたびたび以下のような事象に遭遇しました。 サーバーがなんらかの理由でやたら停止してしまう cacheがよく壊れる エージェント数が十分に確保できておらずビルド開始まで待たされる 構築したインフラ起因での問題も多数ありましたが、開発を進める上で障害にはならないもののやや開発者体験を損なうという、なかなかイマイチな環境の中で開発していたかと思います。 Drone自

                                      N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ
                                    • 新卒エンジニアのメンターとして1年間取り組んだこと - ドワンゴ教育サービス開発者ブログ

                                      はじめに こんにちは。私はN予備校のバックエンド開発に携わっています。 N予備校バックエンドでは2021年度に1名の新卒エンジニアが配属となりました。 ドワンゴの新卒エンジニアはエンジニア研修を受けたあと、配属された部署で個別研修や実際の業務を通じてOJTを受けます。 本記事では、メンターとして2021年度新卒エンジニアが入社してから1年のあいだに行ったフォローアップについてまとめます。 メンティーの len さんが執筆した記事は こちら になります。 新卒エンジニア研修の内容については、別の方がまとめた記事を公開しています。 2021年度 エンジニア新入社員研修のご紹介 ドワンゴ21新卒がフルリモートでの入社から機能をリリースするまで メンティー入社前 メンティーが入社するまでは、パーソナリティの把握に務めました。 パーソナリティを把握しておくことで、苦手な部分をメンターが迅速にサポート

                                        新卒エンジニアのメンターとして1年間取り組んだこと - ドワンゴ教育サービス開発者ブログ
                                      • N予備校開発でのRSpecの書き方指針 - ドワンゴ教育サービス開発者ブログ

                                        はじめに テストコード一般の考え方 壊れにくいテストを書く 実装した通りに動作することではなく、仕様通りに動作することをテストする テストコードはシンプルにわかりやすく書く 失敗の原因がわかりやすくなるように意識する RSpecの書き方 テストケース名をitの引数で明記する letよりもlet!を使う 通常の変数と同じ方針に基づいてlet!を利用する subjectを使わない 不要なcontextでのネストを避ける matcherを適切に使い分ける factoryのデフォルト値に依存しないテストを書く 参考にしたブログ記事等 付録:RuboCop設定 We are hiring! サムネイル画像 はじめに テストコードを書く習慣も、近年ではかなり一般的なものになってきました。 ドワンゴ教育事業のバックエンドチームでも自発的にテストコードを書く文化は根付いており、実際に計測はしていませんが、

                                          N予備校開発でのRSpecの書き方指針 - ドワンゴ教育サービス開発者ブログ
                                        • 「 ZEN大学 (仮称) (設置構想中) 」 開学に向けエンジニア募集中! - ドワンゴ教育サービス開発者ブログ

                                          はじめに 株式会社ドワンゴと公益財団法人日本財団は包括提携し、2025年4月に新しいオンラインの大学、ZEN大学 (仮称) (設置構想中) の開学を目指しています。 ドワンゴ教育事業では、ZEN大学生のオンライン学生生活を便利に、かつ豊かなものにするため、システムを開発中です。 それに伴い、エンジニアも募集中です。 この記事では、ZEN大学がどのような大学か、開学に向けてどのようなことをしていくか、といったことをご紹介します。 大学が開学すると、N中等部、N高等学校・S高等学校、ZEN大学と10年間にわたる教育を提供することになります。 この新しい挑戦に興味をもっていただけるとうれしいです。 6月6日の発表会でもZEN大学についてお伝えしていますので、よろしければこちらもご覧ください。 www.youtube.com ニコニコ生放送はこちら はじめに ZEN大学とは ZEN大学が目指すもの

                                            「 ZEN大学 (仮称) (設置構想中) 」 開学に向けエンジニア募集中! - ドワンゴ教育サービス開発者ブログ
                                          • ReadableなOpenAPI定義ファイルを書く - ドワンゴ教育サービス開発者ブログ

                                            一行要約 はじめに Readable OpenAPIとは? 既存ルールの不満点 不満点1: 標準仕様外の分割を行っている 不満点2: ディレクトリ階層が深い 不満点3: 1つのAPI定義を参照する際にたくさんのファイルを参照する必要がある 不満点4: コンポーネントスキーマの同一性が不明瞭 新ルールで工夫した点 工夫1: operationIdと対応したパス定義のファイル名を採用し、フラットなディレクトリ構造を実現した 工夫2: パス定義ファイルに含まれる情報量を増やした 工夫3: 再利用性を重視したcomponent定義 できなかったこと、やらなかったこと、やりたいこと 定義ファイルのhttpメソッドごとの分割ができなかった ルートの定義ファイルにcomponentディレクティブを置かなかった exampleの定義は余力があればやりたい おわりに We are hiring! 脚注 一行

                                              ReadableなOpenAPI定義ファイルを書く - ドワンゴ教育サービス開発者ブログ
                                            • N予備校のインフラを Amazon EKS に移行した話 - ドワンゴ教育サービス開発者ブログ

                                              N予備校のインフラを Amazon EKS に移行した話 はじめまして。ドワンゴの教育事業で SRE エンジニアをしている西永です。 N予備校 では Kubernetes を採用しています。 これまでは Control Planes 含めすべての構成要素を自前で構築し運用していましたが、様々な問題が発生してきたことから Amazon EKS に移行をおこないました。 この記事では、Amazon EKS への移行に取り組んだ事例にについて紹介します。 なぜ移行したのか Kubernetes のバージョンが古い これまでの構成では Kubernetes のバージョンアップが考慮されておらず、Kubernetes を利用した N予備校の提供開始以降バージョンアップができていない状態でした。 そのためバージョン 1.7 を利用し続けていました。 バージョン 1.7 は 2017 年にリリースされ、

                                                N予備校のインフラを Amazon EKS に移行した話 - ドワンゴ教育サービス開発者ブログ
                                              • 新サービス開発で右肩上がりになってしまったAWSコスト “塵も積もれば山となる”インフラコスト削減策

                                                AWSを活用するAutify、ZOZO、dipが、AWSコスト削減についての事例を発表するオンラインイベント「AWSコスト削減事例祭り」。3社それぞれが事例を発表しました。オーティファイ株式会社からは松浦隼人氏が登壇。同社における、AWSのコストの削減の事例について発表しました。 もともとはインフラを担当していた松浦隼人氏 松浦隼人氏(以下、松浦):オーティファイの松浦から、当社でのAWSのコストの削減の事例について発表したいと思います。よろしくお願いします。 今日のトピックは、タイトルのとおりですが、オーティファイでAWSのコストを見直すきっかけになったことと、その時の見直しの手法、それから当社にとってインパクトのあったコストの削減策について紹介したいと思います。 まず自己紹介からします。オーティファイの松浦と申します。今、機械学習とQAのチームのエンジニアリングマネージャーをしています

                                                  新サービス開発で右肩上がりになってしまったAWSコスト “塵も積もれば山となる”インフラコスト削減策
                                                • 我々はConcernsとどう向き合うか - おもしろwebサービス開発日記

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

                                                    我々はConcernsとどう向き合うか - おもしろwebサービス開発日記
                                                  • モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog

                                                    こんにちは。モノタロウのTechBlog編集チームです。 モノタロウではECサイトでのお客様体験の向上を目指して、日々改善に取り組んでいます。 商品の出荷目安などの出荷関連情報は重要な要素の1つになります。 今回は、出荷関連情報の正確性を改善するとともにシステムの変更容易性を向上させるためにマイクロサービス化に取り組んだ活動をインタビューしました。 自己紹介 納期表示を高度化する サプライヤ在庫連携機能開発のつらみ AVLのマイクロサービス開発のすすめ方 リリース・監視・その後の展開 おわりに 今回インタビューしたみなさん 自己紹介 山崎 章裕 ECシステムエンジニアリング部門 開発生産性グループ、プラットフォームエンジニアリング部門 CTO-Officeグループ AVLチーム兼務 2019年8月に入社し、主にECサイトの注文・配送周りのプロジェクトにテックリードとして関わる。またECサイ

                                                      モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog
                                                    • エンジニアが企画開発をやってみた - ドワンゴ教育サービス開発者ブログ

                                                      こんにちは。 N予備校の開発チームではこの4月に企画開発チームが発足しました。 この記事では、N予備校での企画開発の紹介と、でN予備校の企画開発エンジニアって何してるの? という1つの例として、私自身がN予備校の企画に関わってきた中での気づきなどをお伝えします! 目次 目次 N予備校の企画開発 次世代N予備校の企画の進め方 企画者としてここ1年で発想を変えたこと 「ユーザー目線で考える」 エンジニアが企画をやる中で意識したこと 「簡易なプロトタイプを作って企画に生かす」 エンジニア && 企画者として考える 「小さく作ってリリースして、どんどん良くしていく」という開発 企画開発していこう! We are hiring! N予備校の企画開発 N予備校は6年前のサービスリリース時からN高等学校/S高等学校を支えるサービスとして展開してきました。 リリースしてからはN高等学校の単位認定授業をN予

                                                        エンジニアが企画開発をやってみた - ドワンゴ教育サービス開発者ブログ
                                                      • TypeScript・モジュラーモノリスによる型安全なWebサービス開発

                                                        こんにちは。SALESCORE株式会社CTOの成澤です。 祝・Publication機能のオープンβリリース🎉🎉 ということで、SALESCOREのテックブログを発信し始めます! テックブログの一発目ということで、2022年で一番開発体験が変わったTurborepoによるモノレポ・モジュラーモノリスによる開発について紹介します。 今後もTypeScriptでのWebサービス開発について記事を出していく予定なので、気になる話題などあればコメントいただけるととても嬉しいです🙋‍♀️ モジュラーモノリスという選択肢 ソフトウェア開発における重要な要素の1つは抽象化です。 抽象化をあえて噛み砕いて、平坦な言葉で言うならば 「適切なグルーピング」 と呼んでも良いでしょう。抽象化とは、ものごとをグルーピングして、適切な名前を与えることです。 100行の処理の羅列は分かりづらいが、10行ずつグルー

                                                          TypeScript・モジュラーモノリスによる型安全なWebサービス開発
                                                        • AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ

                                                          この記事は、ドワンゴ Advent Calendar 2020の4日目の記事です。 N予備校Androidチームでは、およそ2年かけて、Javaで書かれたコードのほとんどをKotlinに書き換えました。この記事では、コードをKotlinに書き換える上で必要だったことをまとめていきます。 Kotlin化に技術はそこまで必要ではない そもそもKotlin化をすることにそこまでの技術力は必要ないです。JavaとKotlinの互換性が高いので、Kotlin化によってコードが壊れることは少ないですし、以下のように文法にも大きな変化はないので、読めないコードが生まれることもありません。 Javaで作成したFragment public class SimpleFragment extends Fragment { @Override public View onCreateView(LayoutInf

                                                            AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ
                                                          • N予備校のマイクロサービス - ドワンゴ教育サービス開発者ブログ

                                                            N予備校のバックエンドは、2016年のリリース当初からマイクロサービスアーキテクチャを採用しています。 この記事では、N予備校のマイクロサービスアーキテクチャについて、主にアプリケーション側の観点からご紹介していきます! 目次 目次 N予備校の全体構成 なぜマイクロサービスにしたか? 採用しているマイクロサービスのデザインパターン Decomposition/サービスの分割 Data management/データ管理 External API/外部API, Orchestration/オーケストレーション Communication/コミュニケーション Deployment/デプロイ, Service discovery/サービスディスカバリ 利用しているフレームワーク/サービス マイクロサービスの運用の難しさと今後の展望 課題: 責務の分割へのハードル 今後の改善方針 We are hi

                                                              N予備校のマイクロサービス - ドワンゴ教育サービス開発者ブログ
                                                            • N予備校のデータ分析基盤構築に向けた取り組み - ドワンゴ教育サービス開発者ブログ

                                                              はじめに 昨今Webに限らずあらゆる事業領域において、蓄積されたデータの活用は必要不可欠、やっていて当たり前なものになってきているかと思います。これまでこのブログではあまりそういう話題に触れてこなかったこともあり、本稿では改めてドワンゴ教育サービスにおけるデータの活用に関する取り組みについて、概要レベルにはなりますがご紹介したいと思います。 はじめに N予備校における従来のデータの取り扱い 現在の取り組み 本番環境のデータのBigQueryへの蓄積 データ活用のプロトタイピング そのほかのデータ活用に関連する取り組みや展望 N予備校のアーキテクチャ・パイプラインの検討 分析対象のデータ拡充 データの管理体制 機械学習技術等の活用 おわりに We are hiring! N予備校における従来のデータの取り扱い まず従来から行われているN予備校におけるデータ活用の取り組みについて紹介します。現

                                                                N予備校のデータ分析基盤構築に向けた取り組み - ドワンゴ教育サービス開発者ブログ
                                                              • N 予備校に Visual Regression Testing を導入した話 + tips - ドワンゴ教育サービス開発者ブログ

                                                                こんにちは。N 予備校 Web フロントエンド開発チームの berlysia です。 N 予備校の Web フロントエンド開発に、 Storycap + reg-suit による Visual Regression Testing を導入しました。設定の工夫から、設定中や運用してしばらくの間に実際に発生したハマりどころを挙げ、簡単に注意点や対処例を紹介します。 背景 N予備校について N 予備校はドワンゴが提供するオンライン学習サービスです。大学受験対策、プログラミング、Webデザイン、機械学習など多様なコースがあります。オンラインでの利用に合わせた教材や、講師が生放送で行う授業、受講者同士でも質問し教えあえるフォーラムを備えています。 www.nnn.ed.nico 周辺状況 N 予備校の Web フロントエンド開発とそれを取り巻く状況には、次のような特徴があります。 React による

                                                                  N 予備校に Visual Regression Testing を導入した話 + tips - ドワンゴ教育サービス開発者ブログ
                                                                • 研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ

                                                                  はじめに 配属研修の課題について エンジニア新入社員研修の個人課題:「JavaScriptでの開発」 配属研修課題1:「RailsでAPIサーバのみ構築」 配属研修課題2:「Railsでフロントエンドも含めた開発」 作ったアプリケーションの概要 JavaScript・Expressで開発した時との違いに関する感想 letやconstが要らない変数定義 falsyな値の違い ブロックをそのまま変数に代入できない 暗黙のreturn 条件文の後置 フレームワークの機能が豊富 ディレクトリ構造の一貫性 リソースベースルーティング 課題を取り組みながら学んだこと OpenAPIを使ったAPI定義ファイルの作成 N+1問題対策 テストコードに関する考えの変化 おわりに We are hiring! サムネイル画像 はじめに こんにちは。2022年4月に新卒で入社しました教育事業本部サービス開発部バッ

                                                                    研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ
                                                                  • リグレッションテストを導入した話 - ドワンゴ教育サービス開発者ブログ

                                                                    こんにちは。N予備校の品質保証グループです。 品質保証グループでは、日々案件ごとの業務に関わっています。今後はより横断的な関わりを強化していき、開発チームと密な連携を進めようとしています。 そこで、今回はリグレッションテストについてお話しようと思います。 リグレッションテストとは? 一般的には、新規機能や既存機能の改修、不具合修正によって、既存機能に意図しない影響が出ていないかを確認する目的のテスト全般のことを指します。 リグレッションテストをしないと、元々問題なかった機能が使えなくなったり、意図しない動きになっていたりと品質低下に繋がります。 横断リグレッションテスト導入前の状況 品質保証グループは2021年1月に立ち上がりました。(チーム立ち上げのブログ詳細はこちら) 以前までは機能ごとの動作確認はもちろんのこと、リグレッションテストも同様に開発チームごとに開発者が自身の手で行っていま

                                                                      リグレッションテストを導入した話 - ドワンゴ教育サービス開発者ブログ
                                                                    • N予備校をエンジニア新卒研修にも活用する - ドワンゴ教育サービス開発者ブログ

                                                                      N予備校はドワンゴのエンジニア新入社員研修でも使われています。 入社される方は得意な技術領域や力量が様々です。 N予備校を活用することで、基礎的な知識を獲得し、後の研修や業務でも活かせるようにしています。 この記事では、ドワンゴのエンジニア新入社員研修の担当者青木からのヒアリングをもとに、N予備校を研修で活用するメリットやポイントについて説明します。 N予備校の活用に限らず、ドワンゴの新入社員研修について興味のある方は青木が記した2021年度 エンジニア新入社員研修のご紹介も併せてご覧ください。 研修でのN予備校の活用 N予備校では、プログラミング未経験の高校生が、IT企業にWebエンジニアとして就職できるレベルになることを目指した教材・カリキュラムを提供しています。 初級者から上級者まで幅広く学ぶことができますので、新入社員のみなさんも自分のレベルに合わせて学習を進めることができます。

                                                                        N予備校をエンジニア新卒研修にも活用する - ドワンゴ教育サービス開発者ブログ
                                                                      • 角川ドワンゴ学園・次世代教務システムについて - ドワンゴ教育サービス開発者ブログ

                                                                        本稿では、Javaと独自フレームワークで構築された現行の教務システムをTypeScriptとNext.jsで構築された次世代教務システムへと移行していく過程で取り組んでいることを紹介していきます。 はじめに こんにちは。N 高等学校 / S 高等学校の教務システム開発チームの邑本です。ドワンゴでは、N予備校のシステムだけでなくN高等学校とS高等学校の教務システムも開発しています。本稿では、今まであまり触れてこられなかったN高、S高の教務システムについてお話しようと思います。 現在、教務システムの開発チームでは、Javaで構築されている現行の教務システムからTypeScript/Next.jsベースの次世代教務システムへの移行を試みています。 現行の教務システムの機能は多岐に渡るため、 既存業務の見直しによる変更がある場合 新規で機能を開発する場合 に限って次世代教務システムで開発し、小さな

                                                                          角川ドワンゴ学園・次世代教務システムについて - ドワンゴ教育サービス開発者ブログ
                                                                        • Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ

                                                                          この記事は、ドワンゴもスポンサードしていた JSConf JP 2021 にて、「Web フロントエンドのリプレースを支えるテストの考え方」というタイトルで berlysia がトークした内容をもとに再構成したものです。トークのアーカイブもご覧いただけます。 この記事は ドワンゴ Advent Calendar 2021 の3日目の記事です。 speakerdeck.com 宣伝 『ドワンゴ EdTech Talk』と題した事業説明イベントを 12/8(水) に開催します。 ドワンゴの教育事業で提供するオンライン学習サービス「N予備校」のライブ配信の授業を体験いただきながら、教育事業での取り組みを知っていただくためのイベントです。 最後までご参加いただくと N 予備校の有料会員相当の教材を 3 か月間無料で利用できる ように用意をしております。 Web 開発を学ぶ教材として好評をいただいて

                                                                            Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ
                                                                          • TypeScript Compiler APIを使って型を中心に実装を自動生成する - ドワンゴ教育サービス開発者ブログ

                                                                            この記事は、ドワンゴアドベントカレンダー2020の10日目の記事です。 qiita.com はじめに ベルリシア(@berlysia) という名前で活動しています。Webが好きです。ドワンゴでは、N予備校をはじめとする教育事業のWebフロントエンド開発をしています。 この記事では、Webフロントエンドチームの実際の開発で用いた、TypeScript Compiler APIを使っての型を中心とした実装の自動生成事例を紹介します。考察パートが中心で、コードはほぼ出てきません。 状況説明 管理画面の開発です。検索と結果一覧とCRUD操作が中心で、多くの画面が定型的な実装です。画面数が多いため、いかにこうした定型的な画面を効率よく開発して複雑なところに注力するかが、この開発を成功させるカギとなります。また、人員的にもある程度の並列性を確保している状態です。 APIはOpenAPIで仕様が提供され

                                                                              TypeScript Compiler APIを使って型を中心に実装を自動生成する - ドワンゴ教育サービス開発者ブログ
                                                                            • 新卒エンジニアとして1年間取り組んだこと - ドワンゴ教育サービス開発者ブログ

                                                                              はじめに 初めまして。2021年4月に新卒で入社いたしました教育事業本部サービス開発部バックエンドセクションの len です。 今回は教育事業本部の新卒メンバーとして join してから1年で取り組んできた研修についてお話しします。 メンターにサポートいただきながら研修を進めて参りました。メンター視点の記事はこちらになります。 新卒エンジニアのメンターとして1年間取り組んだこと 全社エンジニア新入社員研修 入社してすぐ全業種に向けたビジネスマナー研修や事業説明があり半月経ったあたりでエンジニア向けの研修が6月末まで行われました。 この研修では基本的な技術の取得や学んだ技術を使って個人やチームなどでアプリを作成するといった内容でした。 こちらの研修の1つである基礎研修では、N予備校の教材を使い、web に関する基礎的な技術を学びました。 それと同時に読書会もあり、読んだ技術書の内容をN予備校

                                                                                新卒エンジニアとして1年間取り組んだこと - ドワンゴ教育サービス開発者ブログ
                                                                              • Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ

                                                                                こんにちは、バックエンドエンジニアの日下です。 CSV から JSON へ変換するスクリプトを、TypeScript で実装する機会がありました。 今回は、CSV のデータのバリデーションに Zod を使った話をします。 スクリプトの目的 システム間のデータ連携が目的です。 連携元のシステムから CSV 出力されたデータを、連携先のシステムで利用する JSON へ変換します。 また、JSON への変換以外にも以下の要件があります。 CSV のデータをバリデーションする 連携先のシステムで利用できるデータであることを保証するために、バリデーションを実行します。 バリデーション失敗時に、日本語のエラーメッセージを表示する スクリプトの実行は業務担当のエンドユーザーが行うため、日本語のエラーメッセージを表示します。 CSV の読み込み 元データとなる CSV の読み込みは、csv-parse を

                                                                                  Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ
                                                                                • iOSチームではリファレンスリポジトリを運用しています - ドワンゴ教育サービス開発者ブログ

                                                                                  こんにちは。N予備校iOSアプリ開発チームです。今日はリファレンスリポジトリをご紹介します。 皆さんはチームの新メンバーをどうやって開発にアサインしてもらっていますか?この悩み、一度は悩まれたことがあるのではないでしょうか。そこで我がチームで登場するのはリファレンスリポジトリです。 どんなリポジトリかご説明しますと、字のごとくリファレンス実装が詰まったリポジトリになります。コード規約、設計手法、ディレクトリ構成などを把握できるよう、メインのリポジトリを模して1,2画面ほどの小さなアプリを実装した簡潔なリポジトリとなっています。新メンバーはチュートリアルとなる課題を与えられ、先ずはこのリポジトリで開発します。他にも大活躍しているリポジトリで今日はこの魅力をお伝えします。 何が良いの? たくさん良いところがあるリファレンスリポジトリですが、まとめるとこの1点につきます。 具体的で解りやすいリフ

                                                                                    iOSチームではリファレンスリポジトリを運用しています - ドワンゴ教育サービス開発者ブログ

                                                                                  新着記事