こんにちは! 書こう書こうと思ったらついに2月中旬くらいになってきてしまったので、重い腰を上げて書きたいと思います。書くぞ。 ガジェットKindle Paperwhite New Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック amzn.to
overseer is a package for creating monitorable, gracefully restarting, self-upgrading binaries in Go (golang). The main goal of this project is to facilitate the creation of self-upgrading binaries which play nice with standard process managers, secondly it should expose a small and simple API with reasonable defaults. Commonly, graceful restarts are performed by the active process (dark blue) clo
概要 AWS とかで踏み台ホスト経由(ここでは AWS っぽく bastion と呼ぶ)で ssh する必要があるなら ~/.ssh/config は↓みたいにしとくのが良いんじゃないかな? Host bastion Hostname bastionのIPアドレス User bastionのユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 IdentityFile bastion接続用の秘密鍵ファイル名 # ↓の3つはWindowsでは使えないので諦めて ControlMaster auto ControlPath ~/.ssh/cp-%r@%h:%p ControlPersist 10m Host 好きな接続先名 Hostname 接続先のIPアドレス User 接続先のユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 Identi
背景 Next.js に App Router が導入されてから1年近くが経ちました。しかし、未だに App Router を前提として設計のベストプラクティスが定まっておらず、身近なフロントエンドエンジニアはみな「まだプロダクトに取り入れるには考えることが多いよね」という共通認識のまま止まっているような気がしています。 また、App Router が導入されるまでは、技術選定の無難な選択肢として Next.js が最有力でした。しかし、現在は App Router の設計のプラクティスが未発達なことや、オーバースペックであるという見方が出てきており、検討しなければならないことが多くなったように感じます。 そうした中で、ではその懸念というのはどのようなものがあり、導入しずらい要因に何があるのか、というところが、今回執筆を行う上での背景になります。 App Router導入で考えないといけな
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure as Code として Terraform を使ったことがあるのですが、少なくともAWS を使うという条件においては CDKを使うべき という結論に辿り着きました。 今回はそのように考えるようになった理由について説明していこうと思います。 前提 Terraform はパブリッククラウドにおける Infrastructure as Code の走りとして様々な現場に導入実績があり、それに対するリスペクトは持つべきです。 しかしよくある「AvsB」というメリデメの構図で「どっちでもいいよ、好みだよ」と投
ありがたいことに年末にメルカリの小泉さんとランチをご一緒させてもらいました。 CTO(@yutadayo)が作成した過去の失敗スライドに、リプライをいただいのがきっかけだったのですが、長らく競合事業(現ラクマ)をやっていたこともあり、きちんとお話ししたことがなく、とても学びが深かったので、ご本人に許可をいただいて、メモした内容と学びをシェアさせていただきます。 なんでメルカリに?噂ではフリルにも入社してもらえる可能性もあったとか?2007年よりミクシィに入社し、2012年の退任までCFOを務めていた その後、1年以上は他の会社の社外取締役をしたりフリーランスをしていた フリルは2012年夏リリース、メルカリは2013年春リリース 小泉さんは2013年冬にメルカリ入社 フリルのことは入社前から知っていて、2012年冬のIVSでコミュニティファクトリーの松本さんに「フリル知ってる?紹介してよ」
この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw
こんにちは。株式会社SHIFT DAAE部の栗山です。 今日はAWS Cognitoを「裏側」の認証・認可サーバーとして使用するためのAPIを紹介します。 CognitoにはHosted UIというログイン画面が組み込まれており、これを使用すると認証処理を実装したり、そのための画面を作成する必要はありません。パスコード認証画面も、SNS認証画面もすべてCognitoが用意してくれます。 しかしながら、このHosted UIはデザインの自由度が低く、とくに一般顧客向けのシステムでは利用するのはなかなか難しいと思います。そこで今回はHosted UIを使用せず、Cognitoに対してAPIサーバからアクセスするようにして、Cognitoの各種認証機能を使用するためのAPIを紹介したいと思います。 ※タイトルの「裏側」というのは、ユーザーが直接Cognitoにアクセスする構成ではなく、Cogni
はじめに こんにちは。GiftmallのEC機能の開発やインフラの運用を担当している藤原(@fujishochan)と申します。本年の1月、Aurora MySQL V1のEOLを受けて、GiftmallのProduction環境の一部で使っていたAurora MySQL V1のDBをAWS RDS Blue/Green Deployment (以下、RDS Blue/Green Deployment)を用いてAurora MySQL V2に移行しました。今回、その移行プロジェクトの内容を紹介します。本記事がRDS Blue/Green Deploymentを使われる方の参考になればと思うと同時に、エンジニアリングが主導して行うプロジェクトの進め方の一つの例としても参考になればとも考えております。 背景 対象システムのDB構成 DB移行対象のシステムの概略を以下の図に示します。 図を説明し
こんにちは。ギフトモールで Android アプリの開発をしている @KeithYokoma です。 スマホアプリで一般的な UI のパターンのひとつに Bottom Navigation (いわゆる下タブ)があります。Android においては、Jetpack ライブラリにある BottomNavigationView を使うことでかんたんに Bottom Navigation の UI を構築できます。Bottom Navigation の UI は画面遷移の実装もセットになっており、Jetpack Navigation と Fragment、BottomNavigationView を組み合わせて画面遷移を実装します。 この記事では、BottomNavigationView と Jetpack Navigation を組み合わせた Fragment ベースの画面遷移の実装にけおる勘所
ReactのuseEffectは、フックの中でも使い方が難しいものの一つです。そこで、この記事では筆者が考えるuseEffectの望ましい使い方を皆さんに伝授します。 基本原則 技術やその要素の使い方を考えるにあたって、筆者が好んでいるのは基本原則を置いてそれに基づいて判断することです。ということで、この記事ではまず筆者が考えるReactの基本原則を紹介します。 筆者がもっとも重要視する原則は、ReactはUIライブラリであるということです。つまり、ReactにはUIの管理をさせるべきであって、その他のことはReactの役目ではないということです。Reactが難しいと思う人がいる場合、何でもかんでもReactにやらせようとするから余計に難しくなっているのだと思います。 例えばアプリケーションのロジックの管理やそれに付随するステートの管理はReactの役目ではないので、Reactの外部で処理
このブログのアクセス数はゆっくりと増えてきていて、前日のPV数を確認するのが最近の楽しみでした。 しかしある時、Vercel から警告のメールが届きました。要約するとこうです。 Fair Use Policy に違反しています。対応しないと BAN します。 Fair Use Policy とは、各プランごとに定められた利用制限のことです。 Fair Use Policy 確認すると Image Optimization Source Images が直近30日間で Hobby プランの上限である 1,000 を超えてしまっていました。 BAN だけは何としても避けなければ。急いで対応策を検討しました。 警告メールの中で「Pro プランにすれば大丈夫だよ」と書かれていたのと、Pro プランには14日間の無料トライアルが含まれていたので、まずは Pro にアップグレードして時間の猶予を確保す
住所〒849-0312 佐賀県小城市芦刈町下古賀1379ー1 TEL0952-66-3441 FAX0952-66-3441 営業時間9時から17時 定休日祝日、土日 E-mailinfo@hashimanori.com
IDS(侵入検知システム)とは IDS(Intrusion Detection System)は、不正な第三者からの侵入を検知して通知する仕組みです。主にネットワーク型とホスト型があり、前者の代表的なツールはsnort、後者はtripwireです。始めは、自前でセットアップしたsnortから試そうと思ったのですが、Amazon EC2はプロミスキャスモード(ネットワークに流れる全てのパケットを受信するモード)を禁止しているため使えません。解決方法として、商用snortを提供しているSourcefire社の専用AMIを使う必要がありそうです(プロミスキャスモードで動くのかな?)。よし、じゃぁこのAMIを使おうと思ったら、このAMIは東京リージョンには無いw。そこで、ネットワーク型のIDSは別の機会として、今回は、ホスト型IDSの動作確認をすることにしました。ホスト型IDSで、Amazon L
Kotlinは表現力が豊かな言語で標準ライブラリも充実しており、モダンな機能を多数備えています。現在も活発に開発が進んでいて他の言語から様々な概念を取り入れることも頻繁にあります。そんなKotlinですが、他の言語にあってKotlinにはないものも少なからずあります。今回はEitherを例にあげ、KotlinでEitherを表現する方法について考えてみます。 異なる2つの型のいずれかの型を返り値とする関数を作りたい はじめに、次のような2つの異なる型のいずれかを返す関数を考えてみます。 data class Foo(val name: String) data class Bar(val description: String) fun getSomething() = if (flag) { Foo("foo") } else { Bar("bar") } この getSomething
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 Saga パターン この saga パターンは、分散アプリケーションの一貫性を確立し、複数のマイクロサービス間のトランザクションを調整してデータの一貫性を維持するのに役立つ障害管理パターンです。マイクロサービスはトランザクションごとにイベントを公開し、イベントの結果に基づいて次のトランザクションが開始されます。トランザクションの成功または失敗に応じて、2 つの異なるパスをたどることができます。 次の図は、saga パターンが AWS Step Functions を使用して注文処理システムを実装する方法を示しています。各ステップ (ProcessPayment「」など) には、プロセスの成功 (「」などUpdateCustomerAccount) または失敗 (Se
こんにちは。ギフトモールで Android アプリの開発をしている @KeithYokoma です。 前回の記事ではアプリの UI の進化に合わせた設計の見直しについて解説しました。今回も UI の設計について解説しますが、特に View レイヤーに相当する部分の設計について Groupie や Jetpack Compose といった仕組みを使った画面実装の改善について解説します。 素のままの RecyclerView を使った実装の複雑化 ギフトモールのアプリは様々な種類のコンテンツを一覧形式でスクロールしながら閲覧する UI を持っています。ひとつの List の中で様々な表示を実現するため、RecyclerView の実装も複雑になりがちです。 アプリ開発開始時点ではユーザインタラクションが少なく、ほぼ表示のみに徹することができたため素のままの RecyclerView で十分に実
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く