並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 73件

新着順 人気順

"Play Framework"の検索結果1 - 40 件 / 73件

  • JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】

    ヌーラボでScalaを書くRubyistの谷本です。ヌーラボでは、Backlogの開発を担当しており、最近ではBacklogをJavaからScala / Play Frameworkに移行するプロジェクトのメンバーでした。 BacklogのPlay化プロジェクトでは、OutOfMemorryError(以下、OOM)の発生やCPU使用率とロードアベレージが上がったままという、Java Virtual Machine(以下、JVM)上で動くBacklogのパフォーマンスに関する問題に対処すべく、何度かHeap/Thread dumpを見る機会がありました。 私がPlay化プロジェクトで取り組んだパフォーマンス改善の知見や経験をもとに、本記事では「JVMで起こったパフォーマンスの問題の切り分け方」についてお届けします。 はじめに 本番環境でしばらく動かしていると、コード自体は正しく実行できるけ

      JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】
    • 【汎用ソフトスキル】ドキュメンテーションの続け方

      この記事の目的 最近「良いドキュメントが作れているな」と思う機会が増えてきたので、その知見をアウトプットしたくなった。 想定読者 今所属してる組織(会社/プロジェクトなど)のドキュメントがイマイチで悩んでいる人 そもそもドキュメントが無い組織に所属していてつらい思いをしている人 「ドキュメントを作れ」という漠然としたタスクを振られて困っている人 想定読者ではない人 メンテなブルなドキュメンテーションのエコシステムが完成している組織で更によいやり方を模索している人 私もまだ模索中なので、いいやり方があれば教えてほしいです👀 顧客提出などの「納品が必要」なドキュメントの管理方法を模索している人 この記事では「社内の情報共有」にスコープを切って話をしています 書いている人のスペック(参考) 歴5年くらいのなんちゃってフルスタックエンジニア 普段は Node.js / React.js or R

        【汎用ソフトスキル】ドキュメンテーションの続け方
      • エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス

        potato4dとうなすけが2020年に使用した技術をそれぞれフロントエンドエンジニアの目線とサーバーサイドエンジニアの目線から書いてくれていたので、私も感化されて記述していこうと思う。d.potato4d.me blog.unasuke.com 私自身は2020年、本業としてFringe81(2020年12月で退職)でサーバーサイドをメインで触り、業務委託としてBlack Inc.でフロントエンドに近い開発をしていた。(あと数社お手伝い) どちらかというとサーバーとフロント、両方の立場から多角的な意見を言えるような立ち位置で仕事を行っていた年になる。 また本業においては情報処理安全確保支援士として活動を始めた年になった。社内のセキュリティ向上を目標としていた。 qiita.com qiita.com 今回は仕事で触れていた技術について、できる限りまとめていく。 --- 言語 TypeSc

          エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス
        • 開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法

          ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPANアプリの通知系バックエンドシステムを主に担当しているエンジニアの福盛です。 Yahoo! JAPANアプリの通知系バックエンドシステムについては、以下の記事でも紹介しています。もし興味があればこちらも参照ください。 チームのスキル向上にもつながるシステム刷新 〜 Yahoo! JAPANアプリ「お知らせ」機能の開発事例 Scalaで使うMessage Queue 〜 Yahoo! JAPANアプリのお知らせ送信でのApache Pulsarの活用 今回は開発とトラブルシュートの効率を大幅に向上する、アプリケーションログの埋め込みと活用方法について紹介いたします。 本記事では「JavaおよびScalaで構築さ

            開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法
          • 読書メーターのインフラ構成について - BOOK☆WALKER inside

            こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では前記事のニコニコ漫画のインフラ構成についてに続いて、読書メーターのサービスインフラの概要について軽くご紹介したいと思います。 読書メーターについて 読書メーターは、2008年5月に開設された日本最大級の読書コミュニティサイトです。 単純な読書記録や感想投稿に留まらず、ユーザ間で交流ができること、出版各社さまからご提供いただき著者さまのサイン本や発売前に校閲校正をする際の仮刷りであるプルーフと呼ばれる段階の本が貰える献本プレゼント企画を行っていることも特徴的な点です。 読書メーターの構成 読書メーターは下記の6つのコンポーネントから構成

              読書メーターのインフラ構成について - BOOK☆WALKER inside
            • 達人出版会

              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                達人出版会
              • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

                Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

                  Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
                • コードを読み込みScalaの関数型パラダイムを学ぶ - xuwei-kがScalaを学ぶために読んだOSS|ハイクラス転職・求人情報サイト AMBI(アンビ)

                  コードを読み込みScalaの関数型パラダイムを学ぶ - xuwei-kがScalaを学ぶために読んだOSS 数多くのScala関連OSSにコミットを続ける吉田憲治(xuwei-k)さん。その精力的な活動を支える、関数型の知見の源をうかがいました。 オブジェクト指向言語と関数型言語の特徴を併せもつマルチパラダイム言語・Scala。この言語に関連するOSSのコミット履歴には「 xuwei-k」というアカウントが頻繁に登場します。今回お話を聞いた吉田憲治(よしだ・けんじ/ @xuwei_k )さん、その人です。 吉田さんはScalaのスペシャリストとして、数多くのScala関連OSSにコミットを続け、2018年、Scalaコミュニティに対する貢献者に贈られる「Phil Bagwell Award」を受賞しています。界隈屈指のコントリビューターとして知られる吉田さんに、Scalaのスキルを研鑽して

                    コードを読み込みScalaの関数型パラダイムを学ぶ - xuwei-kがScalaを学ぶために読んだOSS|ハイクラス転職・求人情報サイト AMBI(アンビ)
                  • 開発チームが大規模リプレイスを成功させるために取り組んだ "7つの取り組みと反省"【Backlog Play 化プロジェクト】 | Backlogブログ

                    ヌーラボの松本です。「Backlog Playプロジェクト」に2017年2月から途中参加し、プロジェクト解散の2019年7月までメンバーの一員として動いていました(プロジェクトの概要は 時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話をご覧ください)。 このBacklog Playプロジェクト(以下、Play化プロジェクト)では、期間によって私の役割は変わりました。 参加した当初は開発メンバーとしてコードを書いていましたが、2018年4月からプロジェクト終了の2019年7月までは、開発をしながらプロジェクトの取りまとめをしていました。 マネジメントのような役割ははじめてだったので、いろいろ未熟な点もありましたが、プロジェクトの機能リリースを早めるために、不具合対策や手戻り削減といった問題と向き合いました。 本記事では、私のPlay化プロジェクトでの役

                      開発チームが大規模リプレイスを成功させるために取り組んだ "7つの取り組みと反省"【Backlog Play 化プロジェクト】 | Backlogブログ
                    • SREは大規模なリプレイスプロジェクトで発生した様々な問題にどう取り組んだか【Backlog Play 化プロジェクト】 | Backlogブログ

                      Backlog SREチームのmuziです。2018年4月から2019年7月まで、BacklogをJavaからScala / Play Frameworkに移行する大規模なリプレイスプロジェクトに参加していました。 SREとして、このリプレイスにはかなりの困難が伴いました。特にBacklogのサービス安定性は大きな問題でした。 本記事では、こうした問題に対して、SREである私がどういうアプローチを取ったのか、そしてこのプロジェクトで得られた教訓を今後チームや組織全体でどのように活かそうとしているかをご紹介します。 正直言って、泥臭い話だらけの内容です。それでも、技術的負債を抱えたプロジェクトでSREが取れるアプローチの事例の一つとして、読者の参考になれば幸いです。 はじめに ヌーラボでは2015年11月から2019年7月まで、BacklogをJavaからScala / Play Frame

                        SREは大規模なリプレイスプロジェクトで発生した様々な問題にどう取り組んだか【Backlog Play 化プロジェクト】 | Backlogブログ
                      • 時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話【Backlog Play 化プロジェクト】

                        ヌーラボの松浦です。私がSREのエンジニアリングマネージャーとしてプロジェクトのサポートに携わっているプロジェクト管理ツールのBacklogは、2019年7月にJavaからScala / Play Frameworkに完全移行をしました。 このPlay化プロジェクトは、10年がかりで改良され仕様が明文化されていなかったBacklogを、JavaからScala / Play Frameworkに移行するという壮大なプロジェクトでした。 約4年にわたる「Backlog Playプロジェクト」(以下、Play化プロジェクト) で体験した“紆余曲折”を記録に残し、後のプロジェクトにつなげるために、今回から7回に渡って、技術的な挑戦やプロジェクト管理の視点など、当時のチームメンバーが独自の目線でPlay化プロジェクトを振り返った記事を連載します。 連載第1回目の本記事では、序章としてPlay化プロジ

                          時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話【Backlog Play 化プロジェクト】
                        • 達人出版会

                          探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 デザインディレクション・ブック 橋本 陽夫 現場のプロがやさしく書いたWebサイトの分析・改善の教科書【改訂3版 GA4対応】 小川 卓 解釈可能なAI Ajay Thampi(著), 松田晃一(翻訳) PowerPoint 目指せ達人 基本&活用術 Office 2021 & Microsoft 365対応 PowerPoint基本&活用術編集部 ランサムウェア対策 実践ガイド 田中啓介, 山重徹 TODによるサステナ

                            達人出版会
                          • 達人出版会

                            探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                              達人出版会
                            • N予備校に入学してプログラミング入門コースを少しやってみたけどかなり良さそうだった - みんからきりまで

                              このエントリはバーチャル幼女プログラマーのきりみんちゃんが書いています。 N予備校に入学してみたよ www.nnn.ed.nico 少し前にも話題になっていたけど、Webプログラミングなどの勉強がしたいと思ってN予備校というサービスに登録してみました。 N予備校はドワンゴが運営してるネット学習サービスで、大学受験コースの他にプログラミングコースなどもあり、月額1000円ですべてのコースが自由に履修できるようです。 N予備校に入学しました— きりみんちゃん💮バーチャル男声幼女プログラマー(茶) (@kirimin_chan) 2020年1月28日 プログラミングコースではプログラミングの完全な初学者向け教材から、かなり本格的なソフトウェア開発のコースまで用意されているようです。 「プログラミング入門」コースではnode.jsを使った簡単なWebアプリの作成まで、「大規模Webアプリ」コース

                                N予備校に入学してプログラミング入門コースを少しやってみたけどかなり良さそうだった - みんからきりまで
                              • 達人出版会

                                探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                  達人出版会
                                • Backlogのコードメンテナンス性を向上させるために気をつけたこと【Backlog Play化プロジェクト】 | Backlogブログ

                                  ヌーラボの江口です。約8年間Backlogの開発を担当しており、BacklogをJavaからScala / Play Frameworkに移行するプロジェクトには最初から最後まで関わりました(プロジェクトの概要は時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話をご覧ください)。 本記事では、BacklogのScala / Play Framework化プロジェクトで「Backlogのサーバーサイドを進化させる“土台”を作る」をテーマに、どのようにBacklogのアーキテクチャを設計・実装したのかご紹介します。 はじめに 私は2012年の入社以来、Backlogの開発を担当しています。Backlogは10年以上続くサービスであるため、度重なる機能追加や修正を行うことで複雑化し、日頃開発をする上で様々な問題を感じていました。 今回のBacklogのSca

                                    Backlogのコードメンテナンス性を向上させるために気をつけたこと【Backlog Play化プロジェクト】 | Backlogブログ
                                  • SPAはコストが高いのか | foo-x

                                    なぜ僕が「SPAはコストが高い」と考えているのか を読みました。 「反論お待ちしています」とのことなので、書いてみます。 結論としては、 コストが低いのは慣れているほうだよ。 どっちも使えるならSPAのほうが低いよ。 です。 前提 元記事で挙げられている前提をまとめます。 用語 SPAとは、クライアント側でビューを構築する方式を指す MPAとは、サーバ側でビューを構築する方式を指す 背景 エンジニアのスキルはあまり高くない 開発期間は1.5年未満 PMFを意識したフェーズであり、チャレンジを繰り返す ログイン機能が存在するサービスを作る コストの定義 エンジニアの採用のしやすさ サービス開発の 初速 サービス開発の 継続性 分業のしやすさ、手伝ってもらいやすさ web標準の挙動の実現のしやすさ セキュアなデータを流出する可能性の高低 バグがあった時の気づきやすさ / 対応のしやすさ ドキュ

                                      SPAはコストが高いのか | foo-x
                                    • RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita

                                      はじめに 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRoRからScalaに移行したのですが、これが素晴らしく効果が高かったので以下の記事を書きました。 スタートアップである弊社が全員ほぼ未経験でRoRをScalaに移行した理由、その効果と苦労点 しかし、最後に書いたのですが、苦労する点もとても多いです。 弊社CPOが苦労する点を抽象的な部分に関しては以下の記事で書いてくれてはいます。 0からScalaを本番導入して感じたこと・考えたこと - Qiita ただ、実際にコードを書き始めた時に引っかかりやすい点をできるだけ詳しくあげておくことで、導入しようと考えた人がなるべく簡単に導入できるという状況を作りたかったので、書きました。 それではスタートです。 RubyやPHP、Py

                                        RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita
                                      • クリーンアーキテクチャの実装例 Javaでクリーンアーキテクチャする方法Part.3

                                        開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.3はクリーンアーキテクチャの実装例について。動画はこちら。 これに従って実装すれば、見えるものがあるんじゃない? 詳しくいきましょうか。実装例がどういうものか? 右下の図がすごく大事という話をしましたよね。これをもっと細かくしましょう。そういう図が実はクリーンアーキテクチャのWebと書籍にもありました。Robert C. Martin、この人はかなり有名な人で、あのSOLID原則を定義した人です。Robert C. Martinがこのクリーンアーキテクチャというのを発表して、iOSクリーンアーキ……iOSのほうでかな。発表して(※のちに勘違いだったとYouTube説明欄で訂正)、そ

                                          クリーンアーキテクチャの実装例 Javaでクリーンアーキテクチャする方法Part.3
                                        • 2020年現在 Web系企業で採用されてる技術についてまとめてみた - Qiita

                                          はじめに 2020年も始まりましたね! タイトル通りですが、2020年現在スタートアップや大手のWeb系IT企業で採用されている、トレンドとなっている技術についてそれぞれのジャンル毎に求人や採用ページ、ブログを元にまとめてみました。 いくつかピックアップしている形になるので、記述できてないものもありますが、ご了承くださいm(_ _)m (適宜アップデートしていきたいと思います。) (自分のメイン領域がバックエンドなので、そちらに偏っていると思います) 言語編 Ruby サーバーサイドのスクリプト言語、動的型付け言語です。 まつもとゆきひろさん(Matzさん)により開発されたオブジェクト指向スクリプト言語。 日本生まれの言語です。 整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語です。 有名なフレームワークである Ruby on Rails を使うと開発

                                            2020年現在 Web系企業で採用されてる技術についてまとめてみた - Qiita
                                          • Scalaの学習コストについての私見 - kmizuの日記

                                            ※2022/01/25 17:10追記 以下のツイートが別に「Scalaが主眼でない」こと自体は承知しています。一般論として、Scalaに限らず言える技術選定の話ですよね。ただ、妙な方向への読解をちょくちょく見かけたので、それに乗っかる形で現状のScalaについて率直な感想を書いておこうと思ったのでした。「この話とは別なんだけど」みたいな言葉をつけておけば良かったです。申し訳ありません。 数日前、以下のツイートに端を発して色々な意見が交わされていました。 「Scala好きなメンバーがプロダクト開発にScalaを採用して1人で開発していたが、そのメンバーが抜けてしまいScalaコードの保守ができなくて別の言語で書き直すことになった」という技術選定の失敗のお手本のような事例を目の当たりにしてしまった....— コミさん (@komi_edtr_1230) 2022年1月19日 これを見て「いや

                                              Scalaの学習コストについての私見 - kmizuの日記
                                            • Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ

                                              アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでTreasure DataのTaro L. Saito 氏がScalaに関するいろいろなテクノロジーを紹介しました。まずは、バックエンドとフロントエンドの両方で使えるScalaについて。 趣味はオープンソースのプロジェクトを作ること Taro L. Saito氏:「Scala For Everything」というタイトルで発表します。簡単な自己紹介を。Treasure DataのSaitoといいます。Principal Software Engineerをしていて、今、カリフォルニア、アメリカの西海岸から発表しています。タイムゾーンの都合上、今こちらは夜の20時なんですけれども、ScalaMatsuriの運営の麻植さんが、タイムゾーンに配慮してくださったので、非常に感謝し

                                                Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ
                                              • 2019/05 Scala導入を検討したい人に向けた情報をまとめてみた

                                                scalakb20190523.md 2019/05 Scala導入を検討したい人に向けた情報をまとめてみた Scalaとは? The Scala Programming Language 開発元はLightbend 社 と EPFL(Odersky先生がいるスイスの大学) 2019/05 現在、最新バージョンは 2.12 Dottyと呼ばれる新しいScalaコンパイラが開発されている Scala3 2019/05 現在0.15.0-RC1 2系との互換性はなく、移行ツールが用意される いつ出るのかもまだよくわからないため、おそらくこちらがメインストリームになるのはまだ数年先であると言われているが・・・? 特徴 JVM言語 オブジェクト指向と関数型言語両方の特性を併せ持つ 個人的にScalaの好きなところ 環境構築が簡単 JDKとsbt(ビルドツール)さえあればいい Scalaのコンパイラ

                                                  2019/05 Scala導入を検討したい人に向けた情報をまとめてみた
                                                • Akkaのライセンス変更について - Chatwork Creator's Note

                                                  こんにちは、かとじゅんです。 『Chatwork Product Day 2022』に関連してブログを書こうということで、Akkaのプラグインの改善などをテーマに記事を書こうと思ったのですが、Akkaのライセンス変更が界隈ではちょっとしたニュースになりました。「Chatworkさんはどうするの?」とよく聞かれるので、Chatwork社での今後の方針について簡単にまとめてみたいと思います。 Akkaのライセンス変更 www.lightbend.com Akka 2.7 から Apache License Version 2.0 から Business Source License (BSL) v1.1 に変わりました。BSLはMariaDBでも採用されているライセンスです。 The new license for Akka is the Business Source License (BS

                                                    Akkaのライセンス変更について - Chatwork Creator's Note
                                                  • Backlog開発チーム自身によるオンコール対応を支えるアラート通知システム | Backlogブログ

                                                    こんにちは、Backlog SREチームのmuziです。 この記事は SRE Advent Calendar 2019 の10日目、およびBacklog Play化プロジェクトブログの番外編です。 先日のブログ記事「SREは大規模なリプレイスプロジェクトで発生した様々な問題にどう取り組んだか【Backlog Play 化プロジェクト】」の後半では、Play化プロジェクトの終了後に、開発チーム自身によるオンコール対応の取り組みを始めたことを軽くご紹介しました。 私を含むBacklogのSREチームは、このオンコール対応を助けるためのアラート通知システムを作り、開発者なら誰でも使える形で提供しています。この記事では、前回のブログ記事では書ききれなかった、このシステムの詳細をご紹介します。 同じような問題意識を抱えていて、これからオンコール対応を見直したい、と考えているSREや開発者の参考になれ

                                                      Backlog開発チーム自身によるオンコール対応を支えるアラート通知システム | Backlogブログ
                                                    • 約4年続いた長期プロジェクトに途中参加して学んだ反省と教訓【Backlog Play 化プロジェクト】 | Backlogブログ

                                                      こんにちは。Raspberry Pi4でようやくギガビットLANにネイティブ対応したことにテンションが上がっているBacklog開発チームの佐藤です。 ヌーラボでは2015年11月から2019年の7月まで、BacklogをJavaからScala / Play Frameworkに移行するという大規模なリプレイスプロジェクト(以下、Play化プロジェクト)を行っていました。 私は2017年の夏からプロジェクト完了までこのプロジェクトに参加していました。 今回の記事では、Play化プロジェクトに途中参加した立場で、プロジェクト中に起きた出来事と当時の心境、問題をどう乗り越えたのか、反省と教訓についてもお届けします。 プロジェクトに参加する前は何をしていたか 出来事:Backlogの機能改善チームからPlay化プロジェクトチームへ移動 心境:不安だがトップダウンで決まったのではなく、自分自身の意

                                                        約4年続いた長期プロジェクトに途中参加して学んだ反省と教訓【Backlog Play 化プロジェクト】 | Backlogブログ
                                                      • Why We Are Changing the License for Akka | @lightbend

                                                        Today, we are announcing a change to Akka’s license model so that Akka can be a thriving project for many decades. I created Akka 13 years ago out of love for programming, distributed systems, learning new things, and open source. It’s been a fantastic journey so far (read about Akka’s inception and early days here). Today, Akka is exceptionally reliable, scalable, and performant. It is the runtim

                                                          Why We Are Changing the License for Akka | @lightbend
                                                        • CircleCIからもAWS APIへアクセスキーなしでリクエストできる仕組みをTerraformで構築する - BOOK☆WALKER inside

                                                          こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 CircleCIでもOpenID ConnectのIDプロバイダ機能がリリースされた 私が書いた一つ前の記事では、GitHub ActionsとAWS IAMをOpenID Connectを使って連携させ、TypeScriptで記述したアプリケーション(Next.js, Serverless Framework)のデプロイや、TerrafromのリポジトリにPRを出した際の自動planを永続的アクセスキー不要で行っているとお話ししました。 developers.bookwalker.jp 一方で、TypeScriptやTerraform以外のア

                                                            CircleCIからもAWS APIへアクセスキーなしでリクエストできる仕組みをTerraformで構築する - BOOK☆WALKER inside
                                                          • Java/Scalaの最新版Webアプリケーションフレームワーク「Play Framework 3.0」正式リリース。Akkaに代わりApache Pekkoを採用

                                                            Java/Scalaの最新版Webアプリケーションフレームワーク「Play Framework 3.0」正式リリース。Akkaに代わりApache Pekkoを採用 Play Framework開発チームは、JavaとScalaに対応したWebアプリケーションフレームワークの最新版となる「Play Framework 3.0」の正式リリースを発表しました。 Houston, Play developers here. The eagle has landed! Play 2.9 (https://t.co/ars6Le2VUw) and 3.0 (https://t.co/Eus82EOS9c) are available now! To everyone out there helping and sponsoring: You are the best! THANK YOU SO MU

                                                              Java/Scalaの最新版Webアプリケーションフレームワーク「Play Framework 3.0」正式リリース。Akkaに代わりApache Pekkoを採用
                                                            • Amazon EKS上でアプリケーションをGraceful Shutdownさせる際に注意すべきポイント | 株式会社ヌーラボ(Nulab inc.)

                                                              SRE課で、主にBacklogのSREを担当しているMuziです。 物理サーバやインスタンスで動作していたアプリケーションを、Kubernetesクラスタに移行する際には、いままで暗黙的に存在していた前提に目を向ける必要があります。そのような前提を無視すると、アプリケーションは動作したとしても、可用性が悪化する可能性があるためです。 私たちがBacklogをEC2インスタンスからKubernetesクラスタに移行した際にも、可用性の悪化に繋がる問題に対処する必要が生じました。今回は、そのような問題の一つであるGraceful Shutdownに関する注意点を、私たちの実体験をもとにご紹介します。 なお、以下の内容はAmazon EKSのKubernetesバージョン1.22で確認しました。Amazon EKSに固有の話題も含みますが、Kubernetes全般に共通する部分も多いかと思います

                                                                Amazon EKS上でアプリケーションをGraceful Shutdownさせる際に注意すべきポイント | 株式会社ヌーラボ(Nulab inc.)
                                                              • 技術を楽しめているか? Scalaエンジニアが研究・開発・教育それぞれで試行錯誤した10年のキャリア - Findy Engineer Lab

                                                                読者の皆さん、はじめまして。株式会社オプト所属のエンジニアでかつJapan Scala Association(JSA)理事を務めている水島宏太(@kmizu)と申します。 この記事では、私の経歴を大学院の修士課程から現在に至るまで振り返って、どのような試行錯誤をしてきたかを「教育」「研究」「開発」という3つの軸を中心にお話ししたいと思います。この軸は今の自分を規定しているものでもあり、これまで試行錯誤してきたものでもありました。 私のキャリアは割と行き当たりばったりな部分がありまして、皆さんの参考になるかどうか分かりませんが、「こういうキャリアもあるんだ」「こういう生き方もありなんだ」程度にでも受け止めてもらえればうれしいです。 「研究する力」と「技術の感性」を磨いた大学院時代 プログラミング言語でわいわいする楽しさ 人生の転機となったScalaコミュニティ活動 ScalaMatsuri

                                                                  技術を楽しめているか? Scalaエンジニアが研究・開発・教育それぞれで試行錯誤した10年のキャリア - Findy Engineer Lab
                                                                • Perlのウェブアプリケーションを支えるサーバまわりの技術について調べた - Lambdaカクテル

                                                                  会社の技術スタックの中でもアプリケーションサーバまわりの要素技術が曖昧な気がしていて,せっかくなので調べて整理してみようと思った. まず自分の目の前にある要素はこちら.入社直後は,ぜんぶ「サーバをなんとかするやつ」という印象だった.というわけで入社直後の自分が涙を流して喜ぶような,概観がつかめるエントリを書くことにする. PSGI Plack plackup Starman Starlet Server::Starter daemontools では説明しよう. TL;DR -- より先に起動する下層から どちらから説明することもできるが,今回はレイヤー下層から説明する.基本的に,何らかのソフトウェアが別のソフトウェアを起動して,その足元を支え,より抽象的な仕事に集中できるようにする,という関係で成立していることに意識を向けてほしい. daemontools -- 汎用スーパーバイザ da

                                                                    Perlのウェブアプリケーションを支えるサーバまわりの技術について調べた - Lambdaカクテル
                                                                  • 「納期だけは決まっているので、よろしく!」の解決策「クリーンアーキテクチャ」とは?

                                                                    「納期だけは決まっているので、よろしく!」の解決策「クリーンアーキテクチャ」とは?:「新規開発あるある」にどう立ち向かうか(1/5 ページ) 「APIはできていないし、データベースは構築どころか製品選定も済んでいないけど、納期だけは決まっているので、よろしく!」――。限られたスケジュールの中でいかに試行錯誤できるようにするか。その鍵は「クリーンアーキテクチャ」にあることを、GMOインターネットの成瀬氏が説明した。 2019年5月18日に都内で開催されたJavaコミュニティーイベント「JJUG CCC 2019 Spring」で、クリーンアーキテクチャを適用し「先行開発」をしているGMOインターネットの事例が紹介された。GMOインターネットでデベロッパーリレーションズチームに所属するデベロッパーエバンジェリストの成瀬允宣氏が行った講演「先行開発!Javaでクリーンアーキテクチャ――ゼロから始

                                                                      「納期だけは決まっているので、よろしく!」の解決策「クリーンアーキテクチャ」とは?
                                                                    • Amazon EKSでのArgoCDを使ったGitOps CD | Recruit Tech Blog

                                                                      こんにちは。スタディサプリ ENGLISH SREグループの木村です。 つい先日、スタディサプリENGLISHの基盤をECSからEKSへの移行をしました。移行の経緯や理由などは先日公開された大島のスタディサプリENGLISHの基盤をECSからEKSに移行しました という記事で紹介しております。 今回は私たちがKubernetesのCDに利用したArgo CDをなぜ選んだのか?どのよう導入したのかという部分を説明していきたいと思います。 Argo CDについて Argo CDはGitOps1)Gitをアプリケーションとインフラのsingle source of truthとして扱い、Gitにある情報(ここではKubernetesのmanifest)をあるべき姿とし、同期を行いアプリケーションの変更を行う手法。GitOpsを提唱しているweaveworksのGitOpsにページに詳細が書いてあ

                                                                        Amazon EKSでのArgoCDを使ったGitOps CD | Recruit Tech Blog
                                                                      • ScalaMatsuri2019の参加レポート - MicroAd Developers Blog

                                                                        こんにちは。サーバサイドエンジニアの松宮です。 今年もScalaMatsuriに参加してきました。そして今年は大名スポンサーとして協賛させて頂きました! 濃い内容のセッションが盛りだくさんで非常に勉強になりましたので、いくつかピックアップしてレポートを書きたいと思います。 ↑ScalaMatsuriに参加したマイクロアドのエンジニアたち 目次 いつかは導入したい、ES + CQRS これからは小まめにCVEをウォッチします・・! 10msの世界で戦うエンジニア必見ですね 関数型プログラミングは技術的にDDDをサポートする CPSとDIはユースケースによって使い分ける また来年! いつかは導入したい、ES + CQRS speakerdeck.com 早速ですが、TIS株式会社の根来さんより「決済サービスで Akka Cluster 使ってみた」のレポートからです。 マイクロアドでもAkka

                                                                          ScalaMatsuri2019の参加レポート - MicroAd Developers Blog
                                                                        • KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG

                                                                          計測プラットフォーム部バックエンドチームの鈴木です。 この記事では、Akka gRPCを利用しているScalaアプリケーションのZOZOMATに対してKamonを通じてAPMを導入した際に得られた知見、うまくいかなかった内容やその対応策を紹介します。 Akkaとは 最初にAkkaについて簡単に紹介します。Akkaは、JVM上で並行および分散アプリケーションの構築を容易にするツールキットとランタイムです。 Actorモデルの実装であるAkka Actorsを中心とし、Akka StreamsやAkka HTTP、Akka Clusterなど様々なツールが提供されています。詳しくは公式ドキュメントやAkka実践バイブルを読むことで深く理解できます。書籍で紹介されているAkkaのAPIは、今では古いものとなっていますが、Akkaの楽しさを知るにはとても良い本です。 私たちが開発しているZOZOM

                                                                            KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG
                                                                          • Cache Poisoned Denial of Service

                                                                            What is CPDoS? Cache-Poisoned Denial-of-Service (CPDoS) is a new class of web cache poisoning attacks aimed at disabling web resources and websites. How does it work? The basic attack flow is described below and depicted in the following figure: An attacker sends a simple HTTP request containing a malicious header targeting a victim resource provided by some web server. The request is processed by

                                                                              Cache Poisoned Denial of Service
                                                                            • On the future of Play Framework | @lightbend

                                                                              TL;DR - We are working to form a community-led organization that would take responsibility for the future development of Play Framework outside of Lightbend. Ever since I started Lightbend (formerly known as Typesafe) with Martin Odersky, now more than 10 years ago, Open Source Software (OSS) has been at the heart of what we do. It is fair to say that Lightbend would not exist without the transfor

                                                                                On the future of Play Framework | @lightbend
                                                                              • 関数型ニキ達にインスパイアされた最近の Scala 開発の取り組み - FLINTERS Engineer's Blog

                                                                                こんにちは、中途三年目の堀越です。 近頃、Scalaのコミュニティにおいて Functional Programming による実装テクニックを紹介する記事や発表を見たり聞いたりすることは珍しいことではなくなってきました。弊社にもたくさんの関数型ニキ*1が在籍しており、わたしも日々影響を受けています。 ということで、本日はわたしが所属するチームでの日々の Scala 開発における取組みや戦略をサンプルコード*2と合わせて紹介していきます。 高カインド型によるEffect型の抽象化 私達はドメイン駆動設計を実践しています。なのでドメインロジックはドメインの関心事に集中できるのが理想です。ドメイン層を抽象化し、特定の実行環境や技術的関心事に依存しない戦略として 高カインド型 を用いてEffect型を抽象化します。 インターフェース定義 例えば Repository のインターフェイスのは以下の

                                                                                  関数型ニキ達にインスパイアされた最近の Scala 開発の取り組み - FLINTERS Engineer's Blog
                                                                                • 4年続いた長期プロジェクトを効果的に“ふりかえる”ためにBacklogチームがやったこと【Backlog Play化プロジェクト】 | Backlogブログ

                                                                                  こんにちは、Backlogチームの小久保です。Backlogチームでは、約4年続いたBacklogをJavaからScala / Play Frameworkに移行するプロジェクトについて、2日間かけてふりかえりをしました。そのとき得られた知見を整理してみました。 長くやってきたプロジェクトを振り返ると、プロジェクトに大きな影響を与えた決断がいくつか必ずあります。その決断が正しかったのか、今後の自分たちの重要な意思決定をどう改善していけるか、しっかり考えるためにも効果的にふりかえりをすることが大切です。 本記事では、ITツールの活用方法や特定のプロセスの話は出てきませんが、Backlogチームがおこなった、長期プロジェクトを振り返るために役立ったことを整理してお届けします。 プロジェクトの内容とふりかえりをした理由 Backlog Play化プロジェクトとは、Backlogの動作環境、コード

                                                                                    4年続いた長期プロジェクトを効果的に“ふりかえる”ためにBacklogチームがやったこと【Backlog Play化プロジェクト】 | Backlogブログ