タグ

sangotaroのブックマーク (897)

  • React Native at Wix

    This blog post is part of a series of blog posts, which aims to shed some light and share from our experience working with React Native at Wix. Wix App is one of the first applications built with React Native from scratch. After a 5-years journey, we are excited to look back in retrospective, and recount some of our daily challenges and how we solved them, alongside a couple of major decisions we’

    React Native at Wix
    sangotaro
    sangotaro 2020/12/05
  • 会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔

    働いていないことへの言い訳記事です。 この夢のような生活がもうすぐ終わるので書きたくなりました... ちなみにサムネイルは「仕事」でぱくたそで検索したら出てきました。 「エレベーターも給料も下降中の写真素材」というタイトルです。 https://www.pakutaso.com/20140914273post-4629.html 何をしていたのか 会社を辞めて約 1 年ほどプログラミングの勉強をしていました。 前職では「みんなのレベルが高くて着いていけないな〜」って感じることが多く、その原因のほとんどが知識や経験不足に依るところだったので、そういうのを先に補ってから働いた方が良さそうと思って辞めました。 いわゆる異業種からのキャリアチェンジでプログラマとしてのキャリアを始めたので、知識や経験は同世代の人たちに比べるとかなりのハンデがあり、そのハンデを埋めるための勉強をしました。 プログラミ

    会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔
    sangotaro
    sangotaro 2020/11/13
  • Smart UI パターンが再評価される世界 - id:onk のはてなブログ

    設計ナイト2020 を受けて、今どんなアーキテクチャを選ぶべきかという話をしたくなったのだ。 kichijojipm.connpass.com 設計ナイトで高ぶった結果1時間コースの発表資料が完成したので供養場所を探しています。聞いてくれ!!!— Takafumi ONAKA (@onk) 2020年11月1日 お前誰よ 2000年代前半に SI 2000年代後半にブログ、SNS 2010年代にソーシャルゲーム 2020年代に UGC サービス をやってきた人間。数百万〜数億行のデータ、月間数千万〜数十億 imp 程度を主戦場にしています。 今日の話 DDD と PofEAA から学ぶパターン/アンチパターン Rails によって発見された、密結合で速く走れるソフトウェア 今求められているアーキテクチャ 昂ぶって 15,000 字ぐらい書いてしまった。 DDD と PofEAA から学ぶパ

    Smart UI パターンが再評価される世界 - id:onk のはてなブログ
    sangotaro
    sangotaro 2020/11/11
  • TypeScript Evolution — Marius Schulz

    TypeScript EvolutionThe TypeScript Evolution series consists of 45 posts: Non-Nullable Types in TypeScriptControl Flow Based Type Analysis in TypeScriptAcquiring Type Declaration Files in TypeScriptRead-Only Properties in TypeScriptTagged Union Types in TypeScriptMore Literal Types in TypeScriptThe never Type in TypeScriptBuilt-In Type Declarations in TypeScriptCompiling async/await to ES3/ES5 in

    sangotaro
    sangotaro 2020/11/04
    少しずつ読んでる
  • amp-img から学ぶ画像の表示のベストプラクティス - Qiita

    AMP は Google が推奨しているウェブコンポーネントフレームワークで、その実装には Web サイトのパフォーマンスを向上させるための知見が詰まっています。 AMP コンポーネントの実装を詳しく見ていくと、 AMP を導入せずにサイトを作る際にも役に立つベストプラクティスを学べるのではないかと思います。 以下では amp-img コンポーネントに注目して web サイト開発における画像表示の実装について掘り下げます。 amp-img は AMP 対応のサイトで画像を表示する際に、 HTML の img タグの代わりに使用します。 AMP の built-in 要素であるため、 amp-img 専用の js を追加で読む必要はなく、AMP のランタイムを通して自動的に使用できます。 amp-img の基の使い方 参考 ドキュメント:amp-img https://github.com

    amp-img から学ぶ画像の表示のベストプラクティス - Qiita
    sangotaro
    sangotaro 2020/09/30
  • GitHub - balazsbotond/urlcat: A URL builder library for JavaScript.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - balazsbotond/urlcat: A URL builder library for JavaScript.
    sangotaro
    sangotaro 2020/09/25
    使ってみたい
  • 快適なUXの裏には泥臭さがあった? 新サービス開発に「React×Next.js×AMP」採用のワケ

    2020年2月27日、「ホットペッパービューティーコスメ」のWeb版が公開された。リクルートテクノロジーズが同サービスを開発するにあたり採用したのは、ReactNext.jsと最新版のAMP(Accelerated Mobile Pages)である。この結果、ページの内容が表示されるまで0.2秒、画像が出るまで0.8秒、解析用のJavaScript等を含めた全てのリソースがダウンロードされるまでの時間は1.2秒以内を達成した。リクルートテクノロジーズが、これらの組み合わせを採用した背景、および開発における苦労や工夫した点などについて、同サービス開発に従事したエンジニアリング室 アプリケーションソリューショングループ グループマネジャーの古川陽介氏、メンバーの可児潤也氏、渡邉礁太郎氏に話を聞いた。 React×Next.js×AMP――この組み合わせを採用した背景 「ホットペッパービューテ

    快適なUXの裏には泥臭さがあった? 新サービス開発に「React×Next.js×AMP」採用のワケ
    sangotaro
    sangotaro 2020/09/23
    泥臭いやつです
  • Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの

    最近は Cloudflare Workers が熱くて、週末はずっとその調査しています。この記事はそのまとめです。 注意点として、手元でいろいろなパターンで動かして試してはいますが、プロダクション環境で運用したわけではないです。それを踏まえた上でお読みください。 特に断りが無い限り、引用文は DeepL で翻訳したものです。 Cloudflare Workers とはなにか Cloudflare Workers | サーバーレスコンピューティング | Cloudflare 一言でいうなら 「ServiceWorker の API が CDN Edge 上で動く JavaScript 処理系」 です。 Technology Radar では、まだ ASSESS(調査) フェーズという扱いです。 Cloudflare Workers | Technology Radar | ThoughtWo

    Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの
    sangotaro
    sangotaro 2020/09/13
    Workers KV 使えるのもよい
  • 計測・検討・対処のプロセスでWebサービスのパフォーマンスを改善する

    はじめに はじめまして、ホットペッパービューティーコスメ(以下HPBC)にてフロントエンドエンジニアとして学生アルバイトをしている柏です。 Webサービスで普遍的にもとめられる指標にパフォーマンスがあります。素早く表示されるWebサービスはユーザー体験が良く、コンバージョンや直帰率などにも関係があると言われています。HPBCでは、チーム一丸となってパフォーマンスの改善に継続的に取り組んでいます。 6週間のアルバイト期間で、HPBCのBFF(Backend for Frontend)の性能改善に取り組ませていただき、結果としてレスポンスタイムを200ミリ秒程度短縮することができました。記事では、その取り組みをテーマに計測を通してパフォーマンスのボトルネックを発見する方法、そして開発の速度を落とさずそれらを解消することについて、ご紹介します。 目次 HPBCの構成と課題 Cloud Trac

    計測・検討・対処のプロセスでWebサービスのパフォーマンスを改善する
    sangotaro
    sangotaro 2020/09/11
    AMP Optimizer を Optimize してる
  • AMP におけるパフォーマンス改善 | Recruit Tech Blog

    はじめまして、ホットペッパービューティーコスメ(以下 HPBC) の Web フロントエンドエンジニアとして学生アルバイトをしている三島です。3 ヶ月間のアルバイト期間で、案件に関わる機能開発や SEO 施策の検討と実装、パフォーマンス改善など様々な業務に取り組ませていただきました。記事ではその中でも、私が取り組んだ HPBC におけるパフォーマンス改善について紹介します。 目次 1. はじめに 2. 想定読者 3. AMP とは 4. パフォーマンス改善の前提知識 5. 現状計測 6. 問題特定 7. 問題解決 8. 今後 9. まとめ はじめに HPBC の開発プロジェクトでは、Web ページを閲覧してくれるユーザーにとってページが完全に表示されるまでのスピード、つまり「パフォーマンスが大事である」という認識をチーム全体で共有しています。Web サービスのプロダクトは、機能の追加・改

    AMP におけるパフォーマンス改善 | Recruit Tech Blog
    sangotaro
    sangotaro 2020/08/28
    国宝インターン生
  • 詳解 AMP Optimizer - Qiita

    この記事では AMP Optimizer v2.6.0 について説明しています。 AMP Optimizer とは AMP Optimizer は AMP ページの作成をシンプルにし、AMP のレンダリングパフォーマンスを最適化するツールです。AMP Cache でも行われている AMP のサーバーサイドレンダリングをサポートしています。 npm のパッケージで配布されていますが、単体で使うよりは Next.js の AMP 機能や WordPress の AMP プラグインとして間接的に使うことの方が多いかと思います。 動かし方 CLI CLI のコマンド一つで試すことができます。

    詳解 AMP Optimizer - Qiita
    sangotaro
    sangotaro 2020/08/20
    書いてた
  • JavaScriptでの絵文字の扱われ方を知っていますか? - SMARTCAMP Engineer Blog

    スマートキャンプの20卒エンジニアの高砂です! 皆さんは、JavaScriptにおける絵文字の扱われ方が難しい事をご存知ですか? 記事では、その背景と適切な方法を解説していきます! JavaScriptにおける絵文字の問題点 問題点の再現 問題点の背景 絵文字を適切に扱う方法 まとめ JavaScriptにおける絵文字の問題点 JavaScriptで文字数カウントを実装する際、素直に考えると下記のようなコードになるかと思います。 const text = 'おはよう😊' console.log(text.length) しかし、実は「絵文字が含まれている文字列は.lengthでは適切にカウントできない」という問題点があるのをご存知でしょうか? 実際にご覧頂くのが早いと思うので、CodePen様をお借りして文字数カウントをしてくれるアプリを簡単に作ってみました。 以下に置いておきますので

    JavaScriptでの絵文字の扱われ方を知っていますか? - SMARTCAMP Engineer Blog
    sangotaro
    sangotaro 2020/08/07
  • Redux の利点を振り返る

    readyfor_redux_study#1 READYFOR株式会社 さんで開催した、Redux 勉強会第一回の資料です。

    Redux の利点を振り返る
    sangotaro
    sangotaro 2020/06/30
  • 3,000万ユーザーを集客した結果わかった、SEOに関する30の教訓 - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ

    無料で資料をダウンロード SEOサービスのご案内 専門のコンサルタントが貴社サイトのご要望・課題整理から施策の立案を行い、検索エンジンからの流入数向上を支援いたします。 無料ダウンロードする >> SEO Japanでもたびたび紹介しているNeilpatel.com。多数の有益な記事が記載されており、ニール・パテル氏自身の知名度も抜群です。大量のトラフィックを獲得していることは想像に難くないですが、その成功の秘訣はどこにあるのでしょうか。 今回は、氏が特に重要と考えているだろう30個のアドバイスを共有している記事を紹介します。 単にSEOの施策リストというわけではなく、ブログ運営で必要な姿勢や考え方、繰り返すべきでない失敗など、広範囲に渡り扱っています。 上記のスクリーンショットでお分かりの通り、私はSEOから私のWebサイトへ、3,000万のトラフィックを獲得している。 細かく言えば、そ

    3,000万ユーザーを集客した結果わかった、SEOに関する30の教訓 - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ
    sangotaro
    sangotaro 2020/06/19
  • 決定版!イマドキの ESLint 設定! | DevelopersIO

    2021 年度版は Zenn に書きましたのでご覧ください。 ESLint 設定を作成する技術 そろそろ書かねばな、と思っていたところに必要としてくださる方がいらっしゃることがわかったので書きました。 eslint, eslint-plugin-prettier, typescript-eslintの組み合わせは僕の中では完全に鉄板になったんだけど、「決定版!イマドキのESLint設定!」みたいなタイトルの煽り記事を書く元気はないんだよな…… — なかざん (@Nkzn) June 1, 2020 2020 年 6 月現在のまとめです。 TL;DR 先にベースの完成形となる設定ファイルをおいておきます。 JSON に比べ YAML のほうが記述量が少なく構造が把握しやすいので YAML で書いています。次の内容をプロジェクトのルートディレクトリーに .eslintrc.yml として保存し

    決定版!イマドキの ESLint 設定! | DevelopersIO
    sangotaro
    sangotaro 2020/06/01
    parserOption に tsconfig 渡せたのか!
  • 画像による Layout Shift が無くなる Web がやって来る - mizdra's blog

    はじめに Web では古来より <img> タグを用いて画像を読み込んでいました. しかし <img> タグにはアスペクト比に関する情報を埋め込むための属性が用意されていません. そのため, ブラウザが画像をネットワークから fetch して読み込みが完了するまで, レスポンシブな img 要素の寸法を決定できず, ページにガタツキ (Layout Shift) が生じる問題がありました. この問題を解決するため以前より, アスペクト比を埋め込むための新たな属性の導入が提案されていました. しかし最近議論に動きがあり, 既存の属性を利用する方法が提案され, ブラウザに実装され始めています. ここでは問題の背景, 提案と議論の変遷, そして開発者が取るべき対応について紹介します. はじめに img タグと Layout Shift intrinsicsize 属性 intrinsicsize

    画像による Layout Shift が無くなる Web がやって来る - mizdra's blog
    sangotaro
    sangotaro 2020/05/31
    これはいいな〜今だったら amp-img 使っちゃうな
  • サブスクリプション管理サービス「PreBill」を作りました - shoynoiの日記

    はじめに FJORD BOOT CAMP(フィヨルドブートキャンプ)というプログラミングスクールに通っていまして、最近卒業しました。 こちらのスクールの最終課題で自作サービスを作りましたので、紹介させていただきます。 今回作成したのは、個人で利用しているサブスクリプションサービスを一元管理できるサービスです。 サブスクリプション管理アプリ「PreBill」 PreBill github.com 作った経緯 サブスク、利用している方も多いと思うのですが、自分がどれだけサービスを利用していていくら消費しているのか、またそれぞれのサービスの更新がいつなのかを把握するのは意外と面倒だったりします。サブスクリプション型のサービスも増えており、様々なサービスを利用していると気づかぬうちに月々の出費がかさんでいることもあるかもしれません。また、サービスの更新日を忘れていたために解約しようかどうか迷ってい

    サブスクリプション管理サービス「PreBill」を作りました - shoynoiの日記
    sangotaro
    sangotaro 2020/05/28
  • DeepLinks and ScrollAnchor

    What are DeepLinks?To directly quote Wikipedia: “Deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. http://example.com/path/page), rather than the website's home page (e.g., http://example.com). The URL contains all the information needed to point to a particular item.” Why DeepLinks in Dashboard?There are many

    sangotaro
    sangotaro 2020/05/19
  • Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば

    前回のエントリで作った Docker イメージ motemen/datastore-emulator は、google/cloud-sdk をベースにしているが、このベースイメージがけっこうな頻度で更新される。とうぜん自分はその追従に手を煩わせる気はなくて、全部自動でやってほしい。 やりたかったこと google/cloud-sdk:x.y.z がリリースされたら、 リポジトリ中の ./Dockerfile と ./alpine/Dockerfile の FROM を google/cloud-sdk:x.y.z(-alpine) に更新し、 x.y.z タグを打って git push することで、 Docker Hub に x.y.z(-alpine) タグとしてリリースする これを自動かつ無料で実現したい。 採用しなかった案: 自分でなんか作る はじめは適当な GitHub Actio

    Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば
    sangotaro
    sangotaro 2020/05/14
    自分も Renovate でやってる。Renovate で Renovate のイメージも更新してる
  • Using Buffers in Node.js | DigitalOcean

    The author selected the COVID-19 Relief Fund to receive a donation as part of the Write for DOnations program. Introduction A buffer is a space in memory (typically RAM) that stores binary data. In Node.js, we can access these spaces of memory with the built-in Buffer class. Buffers store a sequence of integers, similar to an array in JavaScript. Unlike arrays, you cannot change the size of a buff

    Using Buffers in Node.js | DigitalOcean
    sangotaro
    sangotaro 2020/05/12