並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 152件

新着順 人気順

nulabの検索結果1 - 40 件 / 152件

  • 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化プロジェクト】
    • 【個人開発】収益化したサービスのコードを50%以上削除して得られた境地

      先に境地を 個人開発の場合、少ないコード・最低限のシステム構成は正義。 なぜなら、時間やお金に制限がある個人開発者にとってサービスの継続に関わる問題だからです。 例えば、自分のサービスを世に広めたいとか、一発当てたいとか、作ったサービスで生活をしたいとか、 なにか目標があるなら達成する方法は、達成するまでやめないことです。 なのでサービスを提供し続けることは最も大切なことです。 これまで個人開発者としては↓の気持ちで開発を進めてきました。 しかし、この経験の後にこの↓の名言の大切さを改めて感じることができました。 シンプルにしておけ愚か者 また、本記事本文より たくさんプラグインやモジュールを入れたシステムはメンテナンスがしんどいです。「デフォルトで使う」ということの魅力を改めて実感しています。リソースが限られている個人開発の場合、このような時間の消費は極力なくす方向にしていくべきです。

        【個人開発】収益化したサービスのコードを50%以上削除して得られた境地
      • 運用中のPostgreSQLのスキーマを無停止で安全に変更する | 株式会社ヌーラボ(Nulab inc.)

        初めに こんにちは。ビジネスチャットサービスTypetalkを開発・運用している吉田です。Typetalkではデータの永続化ストレージとしてPostgreSQLを利用しています。扱うデータ量は多く、チャットというサービスの性質上書込み頻度はとても高いです。PostgreSQLを使い日々開発を進めていると、追加する機能によってはスキーマを変更する必要があります。メンテナンスを計画・告知してサービスを止めてしまえば、時間はかかるかもしれませんがスキーマの変更はそう難しくありません。しかしTypetalkはユーザーが日々の業務を進めるために利用しており、サービスが止まるとコミュニケーションが取れなくなります。業務を円滑に進めるためのビジネスチャットツールですので、極力サービスは止めたくありません(最後の計画メンテナンスは2019年6月30日で1年以上前となっています。)。本記事では以下の3つのケ

          運用中のPostgreSQLのスキーマを無停止で安全に変更する | 株式会社ヌーラボ(Nulab inc.)
        • ヌーラボ上場へ プロジェクト管理「backlog」などSaaS運営

          東京証券取引所は5月24日、プロジェクト管理ツール「Backlog」などを運営するヌーラボのグロース市場上場を承認した。上場予定は6月28日。 2004年創業。06年にサービスインしたBacklogの他、作図共有ツール「Cacoo」、チャットツール「Typetalk」などSaaSを提供しする。日本の本社の他、米ニューヨーク、シンガポール、オランダ・アムステルダムに開発・マーケティング拠点を置いている 有価証券報告書によると、2021年3月期の連結業績は、売上高が19億3864万円、経常損益が852万円の赤字。連結従業員数は146人。 関連記事 にじさんじ運営のANYCOLOR、東証グロースに上場 創業から約5年で バーチャルYouTuber(VTuber)グループ「にじさんじ」を運営するANYCOLORは、東京証券取引所グロース市場へ新規上場が承認されたと発表した。上場日は6月8日予定。

            ヌーラボ上場へ プロジェクト管理「backlog」などSaaS運営
          • プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話

            こんにちは。CacooチームのYAMLエンジニアの木村(@cohhei)です。「readiness」は「ready」の名詞形で「レディネス」と読むことをわりと最近知りました。今回はプルリクエスト向けに検証環境が構築される仕組みを作ったので紹介します。 忙しい人のためのざっくりとした説明 プルリクエストが作られたら自動で検証環境が構築される仕組みをつくりました。 環境まるごと作るわけではなく、フロントエンドJavaScript配信用のPodだけに対応しています。 レビュアーやテスターはクエリパラメーターが追加されたURLにアクセスするだけでその検証環境にアクセスできます。 プルリクエストをマージする前にそのバージョンを非エンジニアでも試すことができます。 プルリクエストごとに環境が作られるので、複数の開発プロジェクトが同時に走っているときに便利です。 コミットしてプルリクエストを作るだけです

              プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話
            • コロナ禍での転職活動(データエンジニア)についてのメモ - yasuhisa's blog

              Twitterでは先に言っていましたが、現職のはてなを3月末で退職します。3/19が最終出社日でした。はてなでの思い出はこちらに書きました。 そのため、転職活動をしたわけですが、コロナ禍での転職活動は平常時と異なる部分も結構ありました。また、データエンジニアとしての転職は初めての経験でした。誰かの参考になるかもしれないので、私が考えたことや感じたことをメモ書きとして残しておきます。 在宅勤務と就業可能な地域 Web上でのアウトプット データエンジニアという職種の多様性 転職にあたって重視したこと 魅力に感じた点 当然、不安もある 在宅勤務と就業可能な地域 カジュアル面談させてもらった企業さんは、ほぼ在宅勤務に移行済みだった 隔週や月一で物理出社という会社も半々くらい? 緊急自体宣言が出ていない時期(夏〜秋)にカジュアル面談させてもらったので、今は状況が違うかも カジュアル面談、採用面談もz

                コロナ禍での転職活動(データエンジニア)についてのメモ - yasuhisa's blog
              • 書評:これからはじめるReact実践入門 - ナカザンドットネット

                明日、2023/9/28に発売する「これからはじめるReact実践入門」を献本いただきましたので、簡単に目を通した感想を書こうと思います。 これからはじめるReact実践入門 目次 目次 かなり網羅性が高い 足りない情報があったら プロを目指す人のためのTypeScript入門 Next.jsについて、次に読む本はありますか? 補足したいところ Create React Appを使わない選択肢もある Recoilさんは開発状況がちょっと心配 React Routerの知識が活きるアプリケーションフレームワークもある まとめ おまけ 2023.9.28 10:36追記 かなり網羅性が高い パラパラと読んでみて感じたのは、かなり手広く、それでいて一定の深みもある本だということです。出版社のサイトにある目次を見てみましょう。 Chapter 1 イントロダクション 1-1 ReactとJavaS

                  書評:これからはじめるReact実践入門 - ナカザンドットネット
                • WebAuthN 実際導入してどうだったか

                  Nulab の Backlog, Cacoo と Typetalk に WebAuthn を導入して経験した 10 のこと

                  • 開発チームが大規模リプレイスを成功させるために取り組んだ "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ブログ
                    • 時系列でみる!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 化プロジェクト】
                      • カスタマーハラスメントへの対応に関する方針 | 株式会社ヌーラボ(Nulab inc.)

                        お客様各位 2020年6月15日策定 株式会社ヌーラボ カスタマーハラスメントへの対応に関する方針 ■方針作成の背景 私たち株式会社ヌーラボは、チームのコラボレーションを促進し働くを楽しくするツール「Backlog (バックログ)」「Cacoo (カクー)」「Typetalk (タイプトーク)」を開発、提供する会社です。昨今の働き方改革やテレワークの導入推進による「働き方の多様化」を受け入れるための1つの手段として、弊社の提供するようなツールの導入を行う企業が増加しており、現在たくさんのお客様よりお問い合わせをいただいております。 しかし、改正労働施策総合推進法(通称:パワハラ防止法)に則って考えた際、ハラスメントと断定されるような言動をとるお客さまが、ごく僅かですが見受けられることも事実です。われわれサービス提供をしている者もお客様と同じ感情を持つ「人」です。その点をご考慮いただくために

                          カスタマーハラスメントへの対応に関する方針 | 株式会社ヌーラボ(Nulab inc.)
                        • 経済産業省が事務作業を3分の1削減!Backlog導入で劇的に改善したベンダーとのメールコミュニケーション | Backlogブログ

                          経済産業省が推し進めるデジタル・トランスフォーメーションとは ー経済産業省では省内のデジタル化を進めるべく「デジタル・トランスフォーメーション室」を立ち上げたそうですね。同プロジェクトについて教えてください。 吉田:事業者向けの行政サービスのデジタル化を進める部署として、2018年7月に経済産業省内に「経済産業省デジタル・トランスフォーメーション室」という部署横断的な組織を立ち上げました。省内のデジタル化を推進すべく、基盤システムや業務改革を担当する部署と連携して、行政手続きやバックオフィス業務のデジタル化に積極的に取り組んでいます。 現在様々な部局でデジタル化に向けた取組を進めていますが、中小企業庁デジタル・トランスフォーメーション室は、その先行した取組のひとつとして、中小企業を対象としたサービスのデジタル化に取り組んでいます。具体的には中小企業や小規模事業者向けの行政手続の簡素化、情報

                            経済産業省が事務作業を3分の1削減!Backlog導入で劇的に改善したベンダーとのメールコミュニケーション | Backlogブログ
                          • スモールチームにおけるAutifyを用いた効率的なE2Eテストの自動化 | 株式会社ヌーラボ(Nulab inc.)

                            こんにちは。BacklogのGit機能の開発を行っているテリーです。 今回はGitチーム(後述する僕の所属するチーム)でAutifyによるリグレッションテストの自動化を進めてみて感じたメリットと工夫したところ、苦戦したところを紹介したいと思います。 スモールチームの規模感とテストの現状 BacklogのGitチーム 長らくBacklogは固定のチームが専任で固定の機能をみるような体制になく、アプリケーションエンジニアが比較的流動的にBacklog全体の機能を担当しており、なんとなく“この人”は“この機能”が得意というような体制でした。 ですが最近のチーム編成により固定のチームが固定の機能を開発するようなフィーチャーチームがいくつかできました。Gitチームはその中で生まれたBacklogのGitの機能についての開発責任を持つチームです。チームメンバーは3人で、そのメンバーでインフラからフロン

                              スモールチームにおけるAutifyを用いた効率的なE2Eテストの自動化 | 株式会社ヌーラボ(Nulab inc.)
                            • 2019 年に SRE をしながら考えが変わったこと - 無印吉澤

                              今回の記事は年末スペシャルです。 僕が SRE をしながらやってきた取り組みについては、今年も会社のテックブログに色々書かせてもらいました(職場の理解のおかげです。いつも感謝してます)。 ただ、それぞれのブログ記事の間を埋めるストーリーというか、その背景にあることについてはなかなか書く機会がありませんでした。なので、今回はそれらの記事を引っ張りながら、今年 SRE をしながら考えていたことをつらつらと書いていこうと思います。 この1年で考えが大きく変わったこと SRE のあるべき組織体制について、1年前はこう考えていました。 複数の開発チームをまたぐ形で SRE をマトリックス的に配置して、SRE はアプリの開発状況を細かく把握しながら監視・運用すべき ただ、この1年で考えが変わり、いまはこう考えています。 SRE をマトリックス的に配置するのは、確かに、開発速度を一時的に上げるのには効果

                                2019 年に SRE をしながら考えが変わったこと - 無印吉澤
                              • Go言語を採用して開発をしている会社一覧 - Qiita

                                日本ではRubyが流行り、ほとんどの会社がRubyを採用しています。現在は開発言語は拘らずサービスやリソースに合わせて開発言語・環境を決めますが、一部のエンジニアの中では言語に強いこだわりを持つ方もいるのと、グローバルエンジニアを目指すにあたりRubyは世界で使われていないため、GoやPythonを学ぶ方も一定数いらっしゃいます。 最近Go言語の人気も出てきたため、今回は上記のような方やGo言語にチャレンジをしたい方向けにGo言語をメインに取り入れている企業様一覧を紹介します。 ■Gunosy 言わずと知れてキュレーションアプリの先駆者です。解析とアルゴリズムで情報過多な現代において、最適な情報をユーザーに届ける事をミッションとし、情報の非対称さを正す企業です。 メインサービス「グノシー」はDL数2000万を超え、それ以外にもKDDIとの共同開発サービス「ニュースパス」女性向けバーティカル

                                  Go言語を採用して開発をしている会社一覧 - Qiita
                                • 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.)
                                  • サーバーサイドエンジニアがじっくり学ぶVue.jsチュートリアル【2. Introduction】 | DevelopersIO

                                    こんにちは。DA事業本部の春田です。 普段の業務では全く扱わないフロントエンドの世界に飛び込んでみたいと思います。最近3系が登場しましたがまだ情報が少ないので、2系のチュートリアルを進めていきます。サンドウィッチマンでいう「ちょっと何言ってるかわからない」ポイントは、その都度調べていきます。英語版の公式ドキュメントがベースです。 今回はIntroduction編です。 Vue.js とは? Vue.jsは、ユーザーインターフェース(UI)を構築するためのプログレッシブ・フレームワークです。 Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. このモノシリックなフレームワークが何を指しているかといえば、例えばAngular.jsです。モノシリ

                                      サーバーサイドエンジニアがじっくり学ぶVue.jsチュートリアル【2. Introduction】 | DevelopersIO
                                    • SREの活動事例紹介 〜 Backlogのマイクロサービス化に向けた課題検索機能のリプレイス

                                      BacklogのSREを担当しているmuziです。 今回の記事では、ヌーラボにおけるSREの活動事例として、Backlogの課題検索機能のリプレイスプロジェクトについてご紹介します。 このプロジェクトでは、SREと開発者がチームを組んで、要件定義からリリースまで行いました。その結果、Backlogを構成するサーバ同士が疎結合になり、将来的なマイクロサービス化に向けた足がかりを作ることができました。 歴史の長いプロダクトにありがちな技術的負債への取り組みの一例として、みなさんの参考になれば幸いです。 リプレイスプロジェクトの背景 Backlogの課題検索機能 最初に、このリプレイスプロジェクトの背景として、Backlogの課題検索機能についてご紹介します。 課題検索機能とは、Backlogの「課題」ページで利用できる検索機能のことです。件名や詳細に対するキーワード検索に加えて、プレミアムプラ

                                        SREの活動事例紹介 〜 Backlogのマイクロサービス化に向けた課題検索機能のリプレイス
                                      • KubernetesのJobを使ってプルリクを起点に検証環境が自動で構築される仕組みを改善した話 | 株式会社ヌーラボ(Nulab inc.)

                                        こんにちは。Cacooチームの木村です。以前プルリクを起点に検証環境が自動で構築されるようにしたら すぐにレビューできるようになったのでみんなハッピーになれた話をしたのですが、色々課題があったのでKubernetesのJobを使って改善しましたので紹介します。 この記事はヌーラバー真夏のブログリレー2024の12日目の記事です。 【経緯】プルリク環境は便利 前回の記事では、以下のような経緯からプルリク環境を構築しました。 開発中の機能を試せる検証環境がある 検証環境があると複数人でレビューできて便利 便利すぎてみんなが検証環境のリビジョンを変更したがる プルリクエスト用の環境が構築される仕組みをつくった 複数のプロジェクトが同時進行してても、みんながそれぞれの環境を試せて便利 プルリク環境はチーム内でたいへん好評でした。使い方は非常に簡単で、プルリクエストを作成すると、CIがそのブランチの

                                          KubernetesのJobを使ってプルリクを起点に検証環境が自動で構築される仕組みを改善した話 | 株式会社ヌーラボ(Nulab inc.)
                                        • 最高のテックブログを書くために気をつけている3つのこと | 株式会社ヌーラボ(Nulab inc.)

                                          こんにちは。ヌーラボのCacooチームの木村です。テックブログを書く上で個人的に気をつけていることを紹介します。 「せっかく苦労して記事を書いたのに全然読んでもらえない」「本筋とは関係ないコメントが来て消耗してしまう」といった悩みはないでしょうか。それらはもしかしたら技術記事の書き方に原因があるかもしれません。 僕は普段進めている仕事に、ある程度の成果が出たら、そこで得た知見を会社のテックブログに記事としてまとめるようにしています。そのときには以下の3つのことを心がけています。 「なぜ」を徹底的に書く 読者の認知負荷を下げる 想定読者の知識レベル下げる そうすることで以下のような効果が期待でき、読者と著者だけでなく著者が所属する会社にとってもいい記事になると考えられます。 記事の内容が正確に読者に伝わる 読者にとって有益な情報を提供できる 著者(たち)の置かれている状況や抱えている課題が読

                                            最高のテックブログを書くために気をつけている3つのこと | 株式会社ヌーラボ(Nulab inc.)
                                          • 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ブログ
                                            • Serverspec から Goss に移行してサーバーのテストが 60 秒から 3 秒に! | 株式会社ヌーラボ(Nulab inc.)

                                              TypetalkのSREの二橋です。今回は、Gossの紹介をしたいと思います。 TypetalkではサーバーのテストにServerspecを利用していました。機能的には申し分なかったのですが、サーバーの台数/環境/テストの項目が増えるにつれて、ツールの実行速度やメンテナンス性に改善が必要になりました。Gossに乗り換えることで問題が解消されました。 サーバーのテストとは? サーバーのテストとは、サーバーの状態が意図したものになっているか検証するものです。例えば、以下のような項目を検証します。 意図したパッケージのバージョンがインストールされているか? 意図したサーバーと通信できるか? 意図したポートが待ち受けているか? 意図したユーザー/グループが存在するか? 意図したプロセスが動作しているか? 意図したファイルに指定した記述が存在するか? Serverspecで困っていたこと ①テスト実

                                                Serverspec から Goss に移行してサーバーのテストが 60 秒から 3 秒に! | 株式会社ヌーラボ(Nulab inc.)
                                              • 「サルでもわかるGit入門」がPWAに対応しました | 株式会社ヌーラボ(Nulab inc.)

                                                サルでもわかるGit入門はサル先生のGit入門に改名しました。 サルでもわかるGit入門がPWAに対応しました。 iOSやAndroidのスマートフォンのホーム画面にサルでもわかるGit入門を追加することでネイティブアプリのように起動し、ブラウザよりも高速に閲覧することが可能になります。 こんにちは。 ヌーラボのマーケティング課所属のレオです。 私はヌーラボが運営するサイトやCacooの開発をサポートしたりとヌーラボ内を横断しているフロントエンドエンジニアです。 今回はレガシーな構成からNuxt.jsにリプレイスしたサルでもわかるGit入門を今更ながらPWAに対応させたので、かんたんにご紹介します。 そもそもPWAとは PWAとはProgressive Web Apps(プログレッシブウェブアプリ)の略です。 通常のWebサイト / Webアプリはブラウザ上で動作しますが、PWAはブラウザ

                                                  「サルでもわかるGit入門」がPWAに対応しました | 株式会社ヌーラボ(Nulab inc.)
                                                • 数年かかるレガシー技術(AngularJS)の移行プロジェクトでやったこと・得られたこと | 株式会社ヌーラボ(Nulab inc.)

                                                  はじめに こんにちは、ヌーラボの池です。ビジネスチャットツール Typetalk の開発をしています。 さて、先日 Typetalk はフロントフレームワークを AngularJS から Angular バージョン2 以降(以下、Angular2系という) に完全移行しました。移行作業は数年にわたる長期プロジェクトとなりましたが無事完了させることができました。今回はこのような長期間の移行作業にかかったリソースや、プロジェクトの進める上で行ったこと、得られたことについて紹介したいと思います。具体的に行った移行作業については別記事にまとめていますのでそちらをご参照ください。 AngularJS を Angular に移行する際に必要だった作業 アサイン時の状況 まず、私が移行作業にアサインされた時の状態からお話しします。AngularJS の移行作業は私がアサインされる2年ほど前に開始されてい

                                                    数年かかるレガシー技術(AngularJS)の移行プロジェクトでやったこと・得られたこと | 株式会社ヌーラボ(Nulab inc.)
                                                  • 僕たちとECSとデプロイとその改善 | 株式会社ヌーラボ(Nulab inc.)

                                                    みなさんこんにちは。Backlog課のGitチームに所属するテリーです。今回は僕たちが日々運用するECS Fargate上のアプリケーションのデプロイ方法とそれをどう改善してきたかについてまとめました。デプロイについて迷っている方や日々の業務の改善が好きな人に読んでもらえたらと思います。 Git機能におけるデプロイ ECS上で動くアプリケーション BacklogのGitはEC2上で動くアプリケーションとECS Fargate上で動くアプリケーションで構成されています。 アーキテクチャの外観は上記のようなになっています。Gitのアーキテクチャについて過去に詳しく説明したブログを発表していますので詳しくはこちらを参照ください。 僕たちは上記のアーキテクチャ中の4つのアプリケーションをECS Fargate上で運用しています。また、内部的な話になりますがBacklogには内部構造として複数の本番

                                                      僕たちとECSとデプロイとその改善 | 株式会社ヌーラボ(Nulab inc.)
                                                    • OpenSSHのプロトコル拡張「UpdateHostKeys」の仕組みと実装 | 株式会社ヌーラボ(Nulab inc.)

                                                      Backlog課Gitチームの@vvatanabeです。 先日、BacklogのGitリポジトリへSSHでアクセスする機能を提供するサーバーが、ECDSAとEd25519のホスト鍵をサポートしました。 GitリポジトリへのSSHアクセスに関連するセキュリティアップデートのお知らせ その際、OpenSSHのSSHプロトコル拡張の一つである「UpdateHostKeys」と呼ばれる機能を、Goで書かれたSSHサーバーに実装したので、その経験をもとに機能の仕組みと実装について解説します。 はじめに SSHにおける「なりすまし」を防止する仕組み UpdateHostKeysを説明する前に、SSHにおける「なりすまし」を防止するための重要な要素として、「ホスト鍵」と「known hosts」という仕組みについて説明します。 識別子としてのホスト鍵 ホスト鍵とは、SSHでコンピュータを認証するために使

                                                        OpenSSHのプロトコル拡張「UpdateHostKeys」の仕組みと実装 | 株式会社ヌーラボ(Nulab inc.)
                                                      • OpenSSHがSHA-1を使用したRSA署名を廃止、BacklogのGitで発生した問題と解決にいたるまでの道のり | 株式会社ヌーラボ(Nulab inc.)

                                                        サービス開発部SRE課の@vvatanabeです。 2021年9月26日、OpenSSH 8.8がリリースされました。大きな変更として挙げられるのは、SHA-1ハッシュアルゴリズムを使用したRSA署名の廃止です。 本記事では、この変更がBacklogに与えた影響、その時現場で起こっていたこと、問題解決のプロセス、なにを教訓にしたのか等、順を追って解説します。 ※ 本記事はNuCon 2021で発表した内容をブログ化したものです。 問題の発覚 BacklogのGitへSSHでアクセスできない TypetalkのBacklog開発者のトピックで、以下のフィードバックが投稿されました。 「OpenSSH 8.8へアップデートすると、BacklogのGitへSSHアクセスできない」という内容でした。 問題の調査 Inside SSH protocol v2 深堀りしていく前に、SSHプロトコルの接

                                                          OpenSSHがSHA-1を使用したRSA署名を廃止、BacklogのGitで発生した問題と解決にいたるまでの道のり | 株式会社ヌーラボ(Nulab inc.)
                                                        • 社内で行っているアルゴリズム勉強会について | 株式会社ヌーラボ(Nulab inc.)

                                                          どうも。Cacooチームのフロントエンド開発者のテリーです。ここ一年くらい社内でアルゴリズム勉強会という部活を週一で行ってきたのでその紹介をしたいと思います。 競技プログラミングへの気持ちの高まり 最近なのかよく分からないですが私の観測している限りでは競技プログラミングが流行ってる気がします。私もその一人でめちゃくちゃ下手くそですが、時間が許す限りアルゴリズムの問題に取り組んだり、アルゴリズムを学んだりしています。 さて競技プログラミングと言われると皆さんどんな想像をされますか?難しそうとか実務に役に立たなそうとか思われるかもしれません。というより私自身そう思っていてあんまり勉強に乗り気ではありませんでした。 しかし実際プログラミングの問題を解く能力は実務にもかなり生かされます。お題の要求を満たすようなロジックを考え、効率化しそして実装する。実務はもう少し複雑だとは思いますが、似ている部分

                                                            社内で行っているアルゴリズム勉強会について | 株式会社ヌーラボ(Nulab inc.)
                                                          • TypetalkのEC2インスタンスをインテルプロセッサからARMベースのAWS Graviton2に完全移行。性能向上と費用削減を実現 | 株式会社ヌーラボ(Nulab inc.)

                                                            TypetalkのEC2インスタンスをインテルプロセッサからARMベースのAWS Graviton2に完全移行。性能向上と費用削減を実現 はじめに こんにちは。SREの二橋です。最近の楽しみは、キャンプと釣りの動画を見ながら、お家で妄想を膨らませることです。 この度、TypetalkのEC2のインスタンスをインテルプロセッサを搭載したM5系からARMベースのAWS Graviton2を搭載したM6g系に完全移行しました。そこで、Graviton2の概要から移行しようと思った理由、作業内容、移行の効果などをお伝えしたいと思います。 AWS Graviton2とは? Graviton2はAWSがArm Neoverse コアをベースに独自開発したプロセッサです。2020年夏にAmazon EC2で一般用途向け(M6gとM6gd)、コンピューティング最適化(C6gとC6gd)、メモリ最適化(R6

                                                              TypetalkのEC2インスタンスをインテルプロセッサからARMベースのAWS Graviton2に完全移行。性能向上と費用削減を実現 | 株式会社ヌーラボ(Nulab inc.)
                                                            • Vite+Vitest+Ladleで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)

                                                              SPAにするとNext.jsの嬉しさが半減しますが、/pages/以下のディレクトリ構造がそのままエンドポイントのパスに対応する、ディレクトリベースのルーティングをとても気に入っていたので、ほぼルーティングだけのためにNext.jsを使い続けていました。 今年(2023年)の春頃、高機能なNext.jsをルーティングのためだけに使いつづけるのはやはり違う気がする、と調べていて「ViteとReact Routerを使えば簡単にディレクトリベースのルーティングできるよ」という記事を見つけたのが、実はViteを知った最初でした。流行に鈍感…これが老化か…。 Simplifying Routing in React with Vite and File-based Routing Viteにはimport.meta.glob()という機能があり、トランスパイル時にディレクトリ以下のファイルを列挙し

                                                                Vite+Vitest+Ladleで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)
                                                              • いろんなセキュリティキーの紹介と光り方を見てみる | 株式会社ヌーラボ(Nulab inc.)

                                                                こんにちは。ヌーラボAppsチームのsuzukiです。 皆さんはセキュリティキーを持ってますか? ヌーラボアカウントのログインでは2段階認証やパスワードレス認証でセキュリティキーを利用することができます。 セキュリティキーを使うとヌーラボだけでなくGoogle、Microsoft アカウント、GitHubなど様々なサービスに安全にログインすることができます。 ここでは セキュリティキーってなに? どんな製品があるの? どんな光り方するの?(認証するときにピカピカ光るんです!) について話したいと思います。 セキュリティキーのことがよくわからないという方の参考になればと思います。 セキュリティキーって何? 多要素認証のためのデバイスです。 2段階認証でパスワードと組み合わせて使ったり、パスワードレス認証といったパスワードを使わない認証に利用することができます。 ヌーラボだけでなくGoogle

                                                                  いろんなセキュリティキーの紹介と光り方を見てみる | 株式会社ヌーラボ(Nulab inc.)
                                                                • 五十音のうち「ぬ」で始まる上場企業だけなかった→ある企業の上場によりついに埋まりました!「こういう話好き」

                                                                  びー @b_seiseki 超どうでもいい話なんですが、これまで五十音順で「ぬ」で始まる上場企業だけ無かったんですね。 それがなんと、今日ヌーラボが上場したことにより、「ぬ」が埋まりまして、五十音全てに上場企業が誕生しました。 超どうでもいい話でした。ありがとうございました。 pic.twitter.com/PmGGdBhPvH 2022-06-28 18:41:21 リンク 株式会社ヌーラボ(Nulab inc.) チームにさらなるコラボレーションを | 株式会社ヌーラボ(Nulab inc.) 数百万人ものユーザーがヌーラボのサービスを使用して、チームのコミュニケーションを改善しています。ヌーラボのオンラインコラボレーションツールで、あなたのチームの仕事をもっと楽しくしましょう。 54 users

                                                                    五十音のうち「ぬ」で始まる上場企業だけなかった→ある企業の上場によりついに埋まりました!「こういう話好き」
                                                                  • さくらインターネット、ヌーラボと業務提携契約を締結 | さくらインターネット

                                                                    さくらインターネット、ヌーラボと業務提携契約を締結 〜顧客の継続的な発展に貢献することを目的とした取り組みを開始〜 さくらインターネット株式会社(大阪市北区、代表取締役社長:田中 邦裕、以下「さくらインターネット」)は、株式会社ヌーラボ(以下「ヌーラボ」)と業務提携契約を締結しました。それに伴い、ホスティングサービス「さくらのレンタルサーバ」の顧客向けに、顧客の継続的な発展に貢献することを⽬的とした取り組みを開始します。 本取り組みは、さくらインターネットの「さくらのレンタルサーバ」の顧客に、ヌーラボの「Backlog」や「Cacoo」を紹介するものです。 「Backlog」や「Cacoo」を活用することで、「さくらのレンタルサーバ」を利用してWebサイトを制作する際、プロジェクトの進捗やアイデアなどをオンラインで簡単に共有し、一元管理することができます。 さくらインターネットではDXプラ

                                                                      さくらインターネット、ヌーラボと業務提携契約を締結 | さくらインターネット
                                                                    • はてなの開発プロセスを改善する、すくすく開発会とプロジェクトテンプレート講義のご紹介 - Hatena Developer Blog

                                                                      Webアプリケーションエンジニアの id:shimobayashi です。 はてなでは開発プロセス改善などに関心のあるスタッフが集まる「すくすく開発会」*1があります。この記事では、すくすく開発会のこれまでと今後について紹介します。 すくすく開発会とは 活動事例: プロジェクトテンプレート講義 問題 解決策 結果 すくすく開発会の今後 この記事のまとめ すくすく開発会とは 開発プロセス改善などについて関心のあるスタッフが集まる有志集団で、すくすく開発会の「すく」はソフトウェア開発手法のスクラムを由来としています。 元々は各チームの開発プロセス改善を行っていたスタッフの情報交換やお悩み相談をするための場だったのですが、活動を続けるにつれてはてなの開発プロセス改善も行うようになりました。 定例会の実施が活動の中心で、毎週30分希望者が集まってお互いの困りごとを相談しあってチームの外からアドバイ

                                                                        はてなの開発プロセスを改善する、すくすく開発会とプロジェクトテンプレート講義のご紹介 - Hatena Developer Blog
                                                                      • 全世界300万人が使うCacooのビデオ通話機能を支える技術 #ヌーラボのアドベントカレンダー | 株式会社ヌーラボ(Nulab inc.)

                                                                        ※ このブログはヌーラバー Advent Calendar 2020 12日目の記事です。明日は yuh kim さんの記事です。 こんにちは。本日32歳になりました。Cacoo課の川端(@kwbtsts)です。 Cacooは先日、図の編集画面上でビデオ会議ができる「ビデオ通話」機能をリリースしました! 本記事では、ビデオ通話を実現するために必要なWebRTCという技術について解説したいと思います。ビデオ通話を実際にWebサービスで開発・運用していこうと考えている方や、WebRTCに興味がある方へのヒントになれば幸いです。 ビデオ通話機能についての詳しくはCacooリリースブログ『テレワークで使える!Cacooで「ビデオ通話」ができるようになりました!』をご覧ください。 WebRTC(Web Real-Time Communications)とは? Cacooのビデオ通話ではWebRTC(

                                                                          全世界300万人が使うCacooのビデオ通話機能を支える技術 #ヌーラボのアドベントカレンダー | 株式会社ヌーラボ(Nulab inc.)
                                                                        • GraphQLライブラリをApollo→Relay→Urqlにハシゴした話 | 株式会社ヌーラボ(Nulab inc.)

                                                                          GraphQLクライアントライブラリ乗り換え遍歴 私達のプロジェクトではReactのフロントエンドとバックエンドの通信にGraphQLを使っています。 GraphQLは、たいていの場合はHTTP POSTリクエストで リクエストボディ:GraphQLクエリ(文字列)と引数(オブジェクト)からなるJSON レスポンスボディ:データJSON をやりとりするだけというだけのシンプルなプロトコルなので、全てfetch関数で頑張るストロングスタイルで行けないこともないですが、やっぱり専用のクライアントライブラリを利用したほうが楽です。 そのライブラリとして一番有名なApollo Clientから始まってRelay、Urqlと、3ヶ月くらいの間に2回も乗り換えてしまったので、反省の意味も込めて記事にしたいと思います。 GraphQLクライアントライブラリがいろいろあってどう違うんだろうと迷った方の助け

                                                                            GraphQLライブラリをApollo→Relay→Urqlにハシゴした話 | 株式会社ヌーラボ(Nulab inc.)
                                                                          • AstroとTailwind CSSを使ってDeveloper Siteをリデザインした話 | 株式会社ヌーラボ(Nulab inc.)

                                                                            はじめに 今回のDeveloper Siteリデザインの目的は英語のコーポレートサイト(https://nulab.com/ )とのUIを合わせることでした。旧Developer Siteのヘッダーやフッターなどの共通パーツは古いデザインのままだったため刷新する必要がありました。 旧Developer Siteのトップページ Developer Siteのトップページ 使用した技術 今回使用した技術は、静的サイトジェネレータであるAstroとユーティリティファーストのCSSフレームワークであるTailwind CSSです。 旧サイトはHugoとSCSSを用いて構成されており、今回はコンテンツはそのままで見た目のみを変更する制作だったため仕様の変更は不要でした。しかし、パフォーマンスの向上を目指し、かつ新しい技術に挑戦するためAstroとTailwind CSSを採用することにしました。 A

                                                                              AstroとTailwind CSSを使ってDeveloper Siteをリデザインした話 | 株式会社ヌーラボ(Nulab inc.)
                                                                            • チームでサービスの運用をうまく支えていくための取り組みについて ~SREを添えて~ | 株式会社ヌーラボ(Nulab inc.)

                                                                              発表資料について 当時の発表資料とNuCon Mini 2022 Springで登壇した際の動画のリンクを埋め込んでおきますので、もしよろしければ御覧ください。 発表資料 「チームでサービスの運用をうまく支えていくための取り組み ~SREと共に~」 ちなみにこちらの動画では発表前にジョジョネタを盛り込んでいます。もしジョジョが好きな方がいましたら何部のセリフが使われているか当ててみてください。答えは当記事の最後にあります。 過去のGit Teamの体制と課題 Git Team誕生前 BacklogのSRE課にBacklogのGit機能の開発するメンバー1名を包含していました。メンバーはアプリケーションの開発・保守をメインで担当し、BacklogのGit機能に関連するサーバーの保守(kernel updateなど)はWebOperationが担当するという作業分担をしていました。 WebOp

                                                                                チームでサービスの運用をうまく支えていくための取り組みについて ~SREを添えて~ | 株式会社ヌーラボ(Nulab inc.)
                                                                              • 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.)
                                                                                • BlueTeam CheatSheet * Log4Shell* | Last updated: 2021-12-20 2238 UTC

                                                                                  20211210-TLP-WHITE_LOG4J.md Security Advisories / Bulletins / vendors Responses linked to Log4Shell (CVE-2021-44228) Errors, typos, something to say ? If you want to add a link, comment or send it to me Feel free to report any mistake directly below in the comment or in DM on Twitter @SwitHak Other great resources Royce Williams list sorted by vendors responses Royce List Very detailed list NCSC-N

                                                                                    BlueTeam CheatSheet * Log4Shell* | Last updated: 2021-12-20 2238 UTC