ログイン読み込んでいます…
ProductSupercharging GitHub Actions with Job SummariesYou can now output and group custom Markdown content on the Actions run summary page. The same familiar functionality that powers pull requests, issues, and README files has come to GitHub Actions! We’re thrilled to announce GitHub Actions Job Summaries, which allow for custom Markdown content on the run summary generated by each job. Custom Ma
Herokuの移行先を考える 今運用しているアプリ達をすぐにHeroku以外に移すということはしないまでも、競合となるプロダクトの調査をしておくことは(特に後発のものについては)機能面で実はこんなに便利なものがあったのか、と気づくことにもなったりするので、やっておいて損はないかと思いました。 比較対象について 比較する対象としては、インターネットで最近見かけるPaaSを選定しました。同様のことができるIaaSのコンポーネントとして、AWS FargateやGoogle Cloud Runがありますが、そのようなIaaSの一部として提供されるものについては今回は比較対象とはしません。 今回の比較対象は以下3つです。 Render https://render.com Railway https://railway.app Fly.io https://fly.io deployするRails
最近は個人開発は自分のOSSのメンテで手がいっぱいになってしまったのでサービス開発のようなものは普段あまりやらないのだが、大学院*1で今学期、何作ってもよいという感じの授業を取ってWeb/iOS/Androidアプリ*2を全て作るという体験をする中で、たまたま個人開発のコストを抑える活動をしたので、その時に調べたり考えたりしたことを書いておく。 Herokuで無料にする Herokuでは毎月550時間free dynoが使え、クレジットカードを登録しておくと更に450時間、合計1000時間無料で使える。Herokuは30分アクセスがないと一旦停止するが、今回授業で作ったサービスでこれを使い切らないことは明らかだったので最初はこれでセットアップした。セットアップも簡単だし、PostgreSQLも無料でついてくる。 ただ、コールドスタートに10秒くらいかかり、これがこのサービスではUX的に致命
いやー、まいったね。 入社して三ヶ月が経ちました @metalunk です。この三ヶ月は検索インフラの改善に取り組み、検索速度 10x, インフラコスト 80% 減の成果が出ました。この記事では検索インフラ改善でやったことを説明します。 ところで、検索インフラの改善ができるということは、先人たちが検索機能を作り、PMF してサービスが利用されるようになったおかげです。感謝して改善しましょう。 2021年12月の Stailer の検索 10X は開発不要でネットスーパーアプリを立ち上げられるシステムである Stailer を開発しております。Stailer での購入のうち 35% が検索経由で行われており、検索はとても重要な機能です。 しかし、2021年12月、増加するリクエストによるサーバー負荷の増大、速度の低下に悩まされておりました。一時的にサーバーを増やし、スケールアウトをすることで
概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく
Webスクレイピングをしたいのだけど、VPNやプロキシーで一番良いサービスはないだろうか!? Linuxで使えるベストなVPNサービスを教えてほしい! …という形に、最適なプラクティスをご紹介します。 ということで、こんにちは! Webサイトを自動で取得する「Webスクレイピング」をする上で、必ずネックとなるのがアクセスするIPアドレスの問題です。 スクレイピングする対象のサービスの営業妨害にならない範囲でスクレイピングするのは言うまでもない当然の話ですが、Webサイトによっては、少しのアクセスでも不正なアクセスと認識してIPアドレスごとブロックしてしまうことがあります。 これを回避するためには、定期的なIPアドレス変更などの対応が必要です。 一般的にはこうした問題はプロキシーやVPNサービスを使って回避することになりますが、具体的にはどうしたら良いのでしょう? 結論を言いますと、「Nor
2023/04/29: これくらいの情報はググればすぐに出てくると思いいったん非公開にしましたが、意外とそうでもなかったので自分用メモとして再公開しました。 1. ソフトウェアのダウンロード元を変更してシステムをアップデートする (*) Super キー(= Windows キー)を押して、software と入力し、「ソフトウェアとアップデート」を選択します。 「設定...」ボタンを押して、「Ubuntu のソフトウェア」タブの「ダウンロード元:」から ftp.jaist.ac.jp などの国内ミラーサーバーを選択します。 アップデートが存在する場合は、表示されるウィンドウの指示にしたがってパッケージを更新し、Ubuntu を再起動します。 2. キーボードの CapsLock キーを Control へ置き換える /etc/default/keyboard を編集します。
最も重要なビジネススキルはなんですか? と問われたら、なんと答えるだろう。 人によりけりだと思うが、私がコンサルティング会社で経験した限りでは、「結論から話す」がその候補の一つだと感じる。 これは誇張でもなんでもなく、「コンサル一年目が学ぶこと」の著者が、この本の最初の項目として設定していることにも現れているように、 あるいは、スキル系のビジネス書には大抵それに類似したことが書いているように、今では「結論から話せ」は、、もはやビジネス上の慣例といっても良いくらいだ。 私の場合は、入社するとまず直属の上司に「結論から」を求められた。 例えば、こんな具合だ。 私「すいません、相談があるのですが……」 上司「何?」 私「お客さんのところで、規定の説明をしていたのですが、第二条のところでお客さんから質問が出てしまったんですよ。「目的と目標はどうちがうんですか」と聞かれたので、こう答えたんです……」
タイトルにも書いていますが、Google Analytics(UA)がもうすぐ使えなくなるんですよ。 GA4っていうのになるらしいんですが、自動で切り替わったりしないし、何もしてないと単に使えなくなるんですよ。知ってました? ※追記※2023年になって 自動的にGA4プロパティが作成されることになりました。しかし、むしろ手動ではないことで混乱しているようです。切り替えではなくGA4プロパティが追加されるんですが、そのデメリットについてはググって調べてね。 (UA)っていうのはGA4ではない、これまで使われてきたGoogle Analyticsだと思ってください。やや正確ではないのですが「GA4という最新版ではないGoogle Analyticsはすべてサービス終了される」くらいのイメージで捉えてもいいです。 業務で関わってる人たちからはGA4移行についての記事やツイートがたくさん流れてきま
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPANアプリの通知系バックエンドシステムを主に担当しているエンジニアの福盛です。 Yahoo! JAPANアプリの通知系バックエンドシステムについては、以下の記事でも紹介しています。もし興味があればこちらも参照ください。 チームのスキル向上にもつながるシステム刷新 〜 Yahoo! JAPANアプリ「お知らせ」機能の開発事例 Scalaで使うMessage Queue 〜 Yahoo! JAPANアプリのお知らせ送信でのApache Pulsarの活用 今回は開発とトラブルシュートの効率を大幅に向上する、アプリケーションログの埋め込みと活用方法について紹介いたします。 本記事では「JavaおよびScalaで構築さ
前回の記事でイィ感じの燃え方してイラつきはしたけど、ちゃんと調べず適当に公開したのはマズかったし、どっちみちそれまで理解が浅かったのは事実で認識してたので、それはもういいんです。 それよりもなんで、昨今はこんなにクソコメが蔓延るようになったんやろって考えてみたくなりました。エンジニアに限らず、ジャンル問わず社会的な話でもあるのですが。 社会的な風潮 要は『叩く』という行為が流行を通り越して当然になってる風潮ですね。 エンジニア関連でも、昔から技術系掲示板では、そんなことも知らんのかい!とツンツンしながらも教えてあげる文化みたいなものはありましたが、そういう『限定的な場』に自分から踏み入れない限りは、エンジニア同士の交流の多くは所属や個人サイトが判明している人だったりして、誤りや改善点があれば、スマートに指摘して、素直に受け入れる、ような流れが多かったように思います。 SNSが流行りだしてか
従来のGoogleアナリティクスである、ユニバーサル アナリティクス(以下UA)のサポートがいよいよ2023年7月に終了することが、先日アナウンスされました(※)。昨年対比やトレンドをチェックすることを考えると、2022年内できるだけ早めに次世代のGoogleアナリティクス(以下GA4)へ移行したいWebメディア運営者も多いかと思います。新しいツールの勉強や、既存システムの改修が必要な問題ではありますが、この機会を、データ収集・可視化の設計を見直し、日々の意思決定の共通言語としてデータを使いやすくするチャンスと捉えてみてはいかがでしょうか。 ※ Google、ユニバーサルアナリティクスのサポートを2023年7月1日に終了。早めのGA4移行を推奨 このnoteでは、前半でダッシュボードによるデータの可視化にコストをかけるべき理由を整理します。後半では、2021年秋に文春オンラインのダッシュ
はじめに(Introduction) RSAの鍵ペアの生成方法にミスがあり脆弱性となってしまった実装例があったようです。 元の文献を機械翻訳(ちょっと修正)してみます。 原文のデモをやってみたところ、案外動いたので先にデモを記します。 デモ(Demo) まずは、素数$p$と$q$を生成して$N$を求めるところです。 ※:鍵長が2048bitなので多少時間がかかります。 問題となったライブラリがこのようなロジックであったかは不明ですが、翻訳した資料を参考に作成しています。 import random as rnd import sympy key_length = 2048 distance = 10000 p = 0 q = 0 # 乱数Xを生成する。 X = rnd.randrange(2, pow(2, key_length)) for i in range(distance): #
2015年はCSSが普及した以来となる10年に1度のフロントエンド大変革期で、それまでのツケが一気に回ってきたと個人的に感じていました。目まぐるしく状況が変化していきましたが、2016年になり、個人的にだいぶ落ち着いてきたと感じているので、ここらへんでまとめておきたい思います。 最初に結論を書いておくと、 『React + Redux + react-router + material-ui + axios + ES2015 + Babel + webpack + ESLint + Airbnb JavaScript Style Guide』 という組み合わせが、いま僕の採用しているJavaScriptの環境です。 主要ライブラリは React A JavaScript library for building user interfaces | React 去年、一気に普及したReact
How we automatically fixed thousands of Ruby 2.7 deprecation warnings The upgrade to Ruby 2.7 for GitLab involved thousands of deprecation warnings across hundreds of files. Here's how we fixed most of them. Ruby 3.0 was just released on Dec. 25, 2020, with some new features and some breaking changes. GitLab was at Ruby 2.6, and we wanted to upgrade to Ruby 2.7 in preparation to eventually upgrade
rails new してから steep check が通るまでにやってみた作業をまとめておく。 GitHub コードはGitHubで公開しているので、詳細な手順を知りたい方は参照してください。 github.com 手順 gemを入れる steepとrbs_railsをGemfileに追加する。 # Gemfile group :development do gem 'rbs_rails', require: false gem 'steep', require: false end bundle install を実行する。 $ bundle install rbs_rails のREADMEの手順に従って lib/tasks/rbs.rake を作成する。 # lib/tasks/rbs.rake require 'rbs_rails/rake_task' RbsRails::Rak
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く