タグ

yuzu441のブックマーク (2,442)

  • Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape

    記事はNext.js Advent Calendar 2020の9日目です。 tl;dr Vercel以外でもIncremental Static Regenerationは可能 試した範囲ではフルに機能するのはコンテナで動かした場合のみ AWSのサーバーレスで動かすのは現時点で絶望的 はじめに 早速ですが、みなさん、次世代のStatic Site Generation(SSG)と言っても過言ではないIncremental Static Regeneration(ISR)はご存知でしょうか。 一応知らない人のためにすごく簡単に説明をすると、『リクエストに対して静的にビルドされたページを返しつつ、有効期限が過ぎたら非同期で静的ページの再生成をSSRで行う』っていうものです。Cache Controlにおけるstale-while-revalidateと同じような考え方が適用されたものとも言

    Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape
  • 管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita

    自己紹介 職のエンジニアではありませんが、ちょっとICT系に詳しそうなやつって感じで、部署のサーバ管理を任されたりもしています。 背景 私の(当時所属していた)部署では、毎年、数週間かけて前年の各人の業務実績をとりまとめて一つの冊子(PDF)にするという仕事があり、この作業を少しでも自動化するため、Webサービスが内製されました。当初は単純に各ユーザが自分の業務実績一覧をテキストで用意してアップロードするというものでしたが、秘伝のタレのように毎年少しずつ改良されたり、大幅に作り直されて別システムから業務データを取り込んでからブラウザ上で編集できるようになったりしつつ、なんやかんやあって私が引き継ぎます。他にやりたい人もなく、ひとり鯖管です。OSはCentOS6でした。 このシステムでは、毎年新しいデータを編集するため、その作業開始時にデータを初期化する必要があります。この作業も自動化し、

    管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita
    yuzu441
    yuzu441 2020/12/09
  • App Engine VS Cloud Run

    Cloud Run CPU 0.08 ~ 8 Core (2nd gen は最小 0.5~) Memory 128 MiB ~ 32 GiB (2nd gen は最小 512MiB~) Deploy App Engine は Deploy (gcloud app deploy) を実行すると Cloud Build が暗黙的に動いて Deploy が行われるが、これがなかなか時間がかかる。 開発環境だと CI でとりあえず main branch に merge されたら、Deploy したりするけど、Deploy を Skip してもよいような時でも CI 回してると Deploy を待つことになって、ちょっとめんどうに感じる。 更にこの仕組みは成果物は Deploy しないと生まれないので、CI と CDを分離しづらい。 Cloud Run は Container Registry a

    App Engine VS Cloud Run
    yuzu441
    yuzu441 2020/12/04
  • YouTubeにあるライブコーディング動画を見て Rust を学ぼう

    この記事は Rust Advent Calendar 2020 2日目の記事です。 1日目は Rust競技プログラミングの作問支援ツールを作った話 (@kobae964 さん) 3日目は Rustの日語書籍紹介 (@dalance さん) ライブコーディング動画の良さ こんにちは、@magurotuna です。 みなさん、ライブコーディング動画はご覧になりますか?僕は結構頻繁に見ていて、たとえば寝る前、例えば作業用BGM代わりに垂れ流す、といった感じで視聴しています。 熟練のエンジニアによるライブコーディングを見ることで、彼ら/彼女らが 何を考えながらコーディングをしているのか どのような順番で順番でコーディングするのか エディタ、ターミナルをどのように操っているのか ドキュメントをどのように読んでいるのか など、数多くのことを学ぶことができます。 もちろん上記に加えて、取り上げられ

    YouTubeにあるライブコーディング動画を見て Rust を学ぼう
  • JavaScript 長いループ 分割 - hitode909の日記

    ブラウザで長いループや、重い処理をともなうループを回したいとき、同期的にJavaScriptを実行するとメインスレッドがブロックしてしまうので、ちょっとずつ細切れに分割して実行したい、ということがある。 昨日久しぶりに書いたら新たなパターンと出会ったので、これまでにどう書いてて今回どうなったかメモ。 setTimeoutする 以前(10年前とか)はこんなのをよく書いていた。 itemsがでかいArrayで、console.logがすごく重い処理だとして読んでください。 function iterateHeavyTask(items) { const startAt = new Date(); while (items.length > 0 && new Date().getTime() - startAt < 10) { console.log(items.shift()); } if (

    JavaScript 長いループ 分割 - hitode909の日記
    yuzu441
    yuzu441 2020/11/27
  • AWS Solutions Architect ブログ: Exponential Backoff And Jitter

    こんにちは。ソリューションアーキテクトの今井です。今日はAWSのPrincipal Software EngineerであるMarc BrookerのExponential Backoff And Jitterというブログポストを翻訳しました。リクエスト密度の高いシステムのクライアントを設計するうえでExponential Backoffは非常に重要な概念です。とても参考になる内容なので、ぜひお読み下さい!

    yuzu441
    yuzu441 2020/11/24
  • デスクトップPCのキーボード・マウスをBluetoothのにしたら辛いことが多すぎたのでラズパイでBT→USBコンバータを作った - もぐてっく

    これまでのあらすじ 引っ越しを機にPCデスクをお洒落にしたい! お洒落 is ケーブルレス!これ正義!!! そんな訳でキーボードとマウスをBluetooth接続にした俺。もぐの。 その直後から数々の不幸が俺に降りかかってきたんだ! あれぇ?BTスピーカーの調子が悪いなぁ。一回Bluetoothオフにしてみるか。 マウス・キーボードが使用不可に。USBトラックポイントキーボードをジャンク箱から探してきてなんとか復旧。 あ、UEFI触りたいな。 操作不可。さっき仕舞ったUSBトラックポイントキーボードをまた引っ張り出してきてなんとか設定変更。 よーし!パパ最新のLinuxで遊んじゃうよー! インストーラが操作不可。またUSBトラックポイントキーボードを引っ張り出してきて事なき。 結論 デスクトップPCBluetoothキーボード・マウスは不適 ノートPCなら内蔵のキーボード&ポインティングデ

    デスクトップPCのキーボード・マウスをBluetoothのにしたら辛いことが多すぎたのでラズパイでBT→USBコンバータを作った - もぐてっく
    yuzu441
    yuzu441 2020/11/24
  • 零細企業経営にはほとんどの意見が参考にならなかった話

    いつか書こうと思っていたので雑に書いていく。 要約基的に人の意見は参考にならない、聞く必要ない。自分の考えを信じたほうがいい。 ただし、IT 系の企業経営者で信頼できるなら人が身近にいるのであれば、意見交換はしたほうがいい。最近全く会えてないが、ヴェルクの田向さんと Sigfoss の森さんから頂いた意見はとても役に立った。 社外の人間の意見は参考にはならない自分が起業したときに苦労したので、書いておくが、この記事も参考にならないと思ったほうがいい。 思い立ってすぐに起業したので、ほとんど知識がなかった。いろいろな人の意見を聞いてみたが、実際に経営してみると全く参考にならなかった。 助成金の話ばかりする人これは最初に契約した税理士が良くなかっただけかもしれないが、基的に助成金の話しかしてこない。助成金の仲介手数料が目当てなんだろう。 ちなみに助成金に関しては社員時代に一度助成金を使った

    yuzu441
    yuzu441 2020/11/22
  • 「日報くん」「注文くん」なぜ社内ツールは「○○くん」という名前をつけられがちなのか。その謎を解明するため、我々調査隊はアマゾンの奥地へと向かった――。

    Takuto Wada @t_wada なぜ社内ツールは「○○くん」という名前をつけられがちなのか。その謎を解明するため、我々調査隊はアマゾンの奥地へと向かった――。 例: 「日報くん」 「注文くん」 「まもるくん」(←機密書類シュレッダー) 「監視君」「通報君」(お巡りさんのアイコンだった) 2020-11-17 15:12:26 Takuto Wada @t_wada プログラマ。テスト駆動開発実践者。power-assert-js 作者。『テスト駆動開発』を翻訳、『プログラマが知るべき97のこと』『SQLアンチパターン』を監訳/監修、『事業をエンジニアリングする技術者たち』を編纂しました。 github.com/twada

    「日報くん」「注文くん」なぜ社内ツールは「○○くん」という名前をつけられがちなのか。その謎を解明するため、我々調査隊はアマゾンの奥地へと向かった――。
    yuzu441
    yuzu441 2020/11/20
    「◯◯するマン」わかりみ
  • ドコモ、店頭でLINE・ツムツムなどの初期設定を教えるサービス 1アプリ1650円

    NTTドコモは11月19日、SNSやスマートフォン向けゲームアプリの初期設定などをサポートする「アプリ設定サポート」を12月1日から全国のドコモショップで始めると発表した。料金は1アプリにつき1650円(税込)で、ドコモの回線契約者を対象に提供する。 対象アプリは「LINE」「Twitter」「Instagram」「Facebook」「メルカリ」「モバイルSuica」「ディスニー ツムツム」「Pokemon GO」。インストールから初期設定、アカウントの引き継ぎなどを指導する。

    ドコモ、店頭でLINE・ツムツムなどの初期設定を教えるサービス 1アプリ1650円
    yuzu441
    yuzu441 2020/11/20
    ドコモ店員、ドコモのサービスへの理解が足りてないのでドコモサービスの説明では金取れないのか🤔(謎仕様すぎて店員は悪くないと思う)
  • NTT Com Remote Work Handbook

    リモートワーク ハンドブック #このサイトについて #NTTコミュニケーションズ社内で製作したリモートワークハンドブックの内容を、 より一般化して広く公開するものです。 ソースコード #書のソースコードは https://github.com/nttcom/remote-work-handbook で公開しています。 ライセンス #NTT Communications Corporation 作『リモートワーク ハンドブック』は クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際 ライセンス で提供されています。 関連ハンドブック #オンボーディングに特化した オンボーディング ハンドブック や、チームビルディングのプラクティスをまとめたチームビルディングハンドブックも参照ください。 読み始める #こちらから編に進めます。 書について

    NTT Com Remote Work Handbook
    yuzu441
    yuzu441 2020/11/14
  • CookieのDomain属性は *指定しない* が一番安全

    たまに誤解があるようですが、Cookieを設定する場合のDomain属性は *設定しない* のがもっとも安全です。以下、例示により説明します。 # このエントリは、はてなダイアリーの過去のエントリからの転載です

  • Webアプリケーションは難しい

    DevLOVE X Day1 C-5のセッションです。 ITの活用範囲の広がりとともに、費用・品質よりもデリバリを優先するプロジェクトも増えてきました。しかし「しっかり考えるよりも、作ってリリースしちゃおうぜ、正解なんて誰にも分からないんだから」というマントラを唱えながら、返済見込みの立たない大量の技術的負債を抱える。それが最善の選択なのか、もう少しだけ立ち止まって考えてみませんか? YAGNIという言葉を便利に使いすぎてはいませんか? コードを書きなぐるのと、ちょっと考えて設計して作るのとで、そんなに開発スピードに違いがありますか? 考えてみたいと思います。

    Webアプリケーションは難しい
    yuzu441
    yuzu441 2020/11/06
  • Googleの代替サービスを提案してくれる「No More Google」

    GoogleはGmailやChromeなど便利なツールを多数提供していますが、Chromeは定期的にPCの中身を「監視」していると報じられたり、Googleアプリはたとえ位置情報を無効にしても場所データを追跡・収集していると報じられたりと、プライバシーを考慮すると「Googleのサービスを使用することに不安を覚える」という人も少なくありません。そんな人のために、Googleが提供するさまざまなツールの代替となるようなツールやウェブサービスをまとめた「No More Google」が登場しています。 No More Google https://nomoregoogle.com/ 各ツールの代替となるサービスの上位3つまでをまとめると以下の通り。代替サービスの名称横に書かれているポイントは、ユーザーにより賛成ボタンが押された回数を示しています。 ◆Google Chromeの代替ツール 1:

    Googleの代替サービスを提案してくれる「No More Google」
    yuzu441
    yuzu441 2020/11/05
  • React17におけるJSXの新しい変換を理解する

    今日発表された公式ブログの記事によれば、React17では新しいJSXの変換がサポートされます。これはどういうことなのか、我々にどういう影響があるのかをまとめました。 JSXの変換とは ほとんどの人は、Reactを使う際に以下のようなJSX記法を使っているはずです。具体的には次のようなもので、<div>のようなHTMLに近い記法がJSXです。 const Foo = () => { return <div> <p id="a">I am foo</p> <p key="b">I am foo2</p>> </div>; } これらは純粋なJavaScriptではないため、そのままでは実行できません。そのため、何らかの方法でただのJavaScriptに変換する必要があります。現代では、それを担うのはBabelやTypeScriptです。これらによって、上記のJSXを含むコードは次のように変換

    React17におけるJSXの新しい変換を理解する
  • MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームで SRE をしている飯塚です。 今回は、MySQL のレプリケーション機能を約10年もの間ずっと使ってこなかった私たちが、レプリケーションを使った高可用性構成に移行するための取り組みの中で学んだことについて紹介します。 背景 巨大なテーブルへの primary key の付与 トランザクションサイズが大きい場合には tmpdir に注意 mysqldump絵文字が消えていないか要チェック mysqldumpError 1412: Table definition has changed... で失敗する mysqldump したデータのリストアが Duplicate entry 'xxx-yyy-PRIMARY-n_diff_pfx01' for key 'PRIMARY' で失敗することがある mysqldump したデータのリストア時のディスク

    MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)

    はじめに 最近ついに、Google Meet に背景ぼかし機能が利用可能になりましたよね。日語だとインプレスのケータイ Watchの記事などで紹介されてます。確か 2020 年 9 月末前後で順次リリースされていたと記憶しています。 このときは「背景ぼかし」の機能しかなかったのですが、最近(私が気づいたのは 2020/10/30)更にアップデートされました。アップデートで「背景差し替え」機能が付いて、ぼかし機能もぼかし効果が強弱 2 つから選べるようになりました。まだ日語のニュース記事は見てないですが、Googleによるアップデートの発表はちゃんとされています。 そして、Google AI Blog でBackground Features in Google Meet, Powered by Web MLという記事が公開され、実装についての解説がされました。 この記事はその解説記事を

    なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)
    yuzu441
    yuzu441 2020/11/01
  • Next.js の状態管理 2020

    Next.js といえば、SSG(JAMstack)が最近は特に話題ですね。1年前まではgetInitialPropsを用いて、どう SSR するのかという事が話題の中心でした。Next.js 9.3 以降、SSR をする際にはgetInitialPropsではなくgetServerSidePropsを使用することを推奨すると記載されています。(そして、getInitialPropsを使用することで自動最適化が無効となってしまう旨も)getStaticPropsやgetServerSidePropsを利用することで、私たちは SSG・SSR をページ単位で切り替えることができます。 「SSG・SSR」が共存する可能性がある場合、SSR にはgetServerSidePropsを利用することになります。この変化による影響範囲は多大で、状態管理とデータフェッチについて、再考する必要がでてきまし

    Next.js の状態管理 2020
  • 貧弱なインターネット回線をたくさん束ねて強くできる「OpenMPTCProuter」レビュー

    光ファイバー回線が普及したことで、一般の家庭でも1Gbpsや10Gbpsで当たり前にインターネットが利用できるようになりました。しかし、賃貸住宅では100MbpsのVDSL回線しか利用できないケースも数多く存在します。無料のオープンソースソフトウェア「OpenMPTCProuter」を使うと、複数の回線を同時に利用して高速なインターネットを楽しむことができます。 OpenMPTCProuter - Internet connection bonding - Home https://www.openmptcprouter.com/ OpenMPTCProuterが使っているMultiPath TCP(MPTCP)とは、複数のインターフェースを利用してTCPコネクションを確立し、通信のスループットや冗長性を向上させる技術です。OpenMPTCProuterでは、PCやタブレット端末といったク

    貧弱なインターネット回線をたくさん束ねて強くできる「OpenMPTCProuter」レビュー
    yuzu441
    yuzu441 2020/10/29
  • Node.js v15 の主な変更点 - 別にしんどくないブログ

    10/20 にリリースされた Node.js v15 の主な変更点を紹介します。 nodejs.org 15,000 文字以上あるので、適宜気になったところをお読みください。 npm v7 が同梱 V8 v8.6 ES2021 の機能追加 Promise.any and AggregateError String.prototype.replaceAll Logical assignment operators Web Crypto API の追加 AbortController の追加 EventTarget の追加 Node.js EventTarget vs. DOM EventTarget MessageChannel の追加 Unhandled Rejections が発生したときエラーになるように変更(終了ステータスが 1 に変わる) QUIC の実験的実装 timers/pr

    Node.js v15 の主な変更点 - 別にしんどくないブログ
    yuzu441
    yuzu441 2020/10/21