並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 5070件

新着順 人気順

refの検索結果161 - 200 件 / 5070件

  • React17におけるuseEffectの破壊的変更を理解する

    しばらく前、React 17 RCが発表されました。現行のReact 16に比べて、いくつかの破壊的変更がある一方、新機能が何もないというのが特徴です。Reactチームとしては、新機能が無いとはいえ、破壊的変更も少なくなっておりなるべく16から17へのアップデートを行なってほしいという考えのようです。 この記事では、React 17における破壊的変更のうち、useEffectのクリーンアップのタイミングに関する変更を取り上げます(以下は公式サイトから引用)。 In React 17, the effect cleanup function also runs asynchronously — for example, if the component is unmounting, the cleanup will run after the screen has been updated.

      React17におけるuseEffectの破壊的変更を理解する
    • ウェブブラウザ「Brave」がリンクを乗っ取りアフィリエイトコードを挿入していた

      2020年5月に月間アクティブユーザーが1500万人を突破するなど、利用状況が好調なウェブブラウザ「Brave」に対して、「リンクを乗っ取ってアフィリエイトコードを自動挿入していた」という疑惑が持ち上がっています。 The Brave web browser is hijacking links, and inserting affiliate codes | Attack of the 50 Foot Blockchain https://davidgerard.co.uk/blockchain/2020/06/06/the-brave-web-browser-is-hijacking-links-and-inserting-affiliate-codes/ Privacy browser Brave under fire for violating users’ trust - Dec

        ウェブブラウザ「Brave」がリンクを乗っ取りアフィリエイトコードを挿入していた
      • とほほのRust入門 - とほほのWWW入門

        Rustとは インストール Hello world Cargoプロジェクト キーワード コメント(//) 値 変数・定数(let, mut, const) 型 基本の型(bool, i16, char, str...) 型変換(as) 構造体(struct) 共用体(union) 列挙型(enum) タプル(tup) 配列(array) ベクタ(vec) ハッシュマップ(HashMap) 文字列(&str, String) 演算子(+ - ...) ヒープ領域(Box) スライス(&var[n..m]) 関数(fn) クロージャー(|...|{...}) マクロ(macro_rules!) 制御構文 条件分岐(if) 繰り返し(while) 繰り返し(for) ループ(loop) ループ制御(break, continue) マッチ(match) インプリメンテーション(impl) トレイ

        • やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ

          GitHub Actions で CI している皆様、こんにちは。 GitHub Actions 便利ですよね。使わない日がないというくらい毎日お世話になっています。 さて、CI といえば良く問題になるのが実行時間。 長い待ち時間は開発効率を下げますし、プライベートリポジトリだと Runner の費用も嵩んでしまいます。 時間を短縮する方法は色々ありますが、一手目によく行われるのが依存パッケージのキャッシュじゃないかなと思います。 例えば Go で開発していると、依存パッケージは ~/go/pkg/mod にダウンロードして保存されます。 これを CI 実行のたびにダウンロードしてコンパイルするのは時間とお金の無駄というものです。 幸い、GitHub Actions には CI の実行間でこういった依存パッケージを保存して再利用できるキャッシュ機能があります。 詳しくは以下のドキュメントを

            やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ
          • 金額などを正式に書くような時に使う数字(壱、弐、参など)のことを何と呼ぶか。また、参の次からはどう書... | レファレンス協同データベース

            (1)日本国語大辞典で、まず「壱」をひいてみたところ、”【壱=壹】大字として、数の一に代用する”とあり。 (2)”大字”を複数の国語辞典でひき、壱から拾まで記載がある資料を紹介。 (3)金額を記載する時の文字として使う場合の考え方については、日本語の事典、書類の書き方の事典などを調べる。 NDC 日本語 (81 8版) 参考資料 (1)『日本国語大辞典 第1巻』(小学館・2000)|R813.1/ニ/1 (2)『広辞苑』(岩波書店・1998)|R813.1/コ (3)『大辞林』(三省堂・2006)|R813.1/タ (4)『日本語事典』(東京堂出版・1992)|R810.33/ノ (5)『事典日本の文字』(大修館書店・1985)|R811/シ (6)『便利な書類の書き方事典』(三省堂・1993)|R816.4/タ キーワード 大字 壱 弐 参 拾 照会先 寄与者 備考 その他、ビジネスマナ

              金額などを正式に書くような時に使う数字(壱、弐、参など)のことを何と呼ぶか。また、参の次からはどう書... | レファレンス協同データベース
            • CPUの珍命令 - Qiita

              EDIT: はてなブックマークのエントリ だと ABCD (BCD加算) や DJNZ (ループ命令) が人気なようだ(Wikipediaしばりなもんで...) 。6502によくある JSR / RET が対応しないコーディングや、Z80で PUSH を目的外利用するような例は入れても良かったのかも。 DOOMの例を追加。 Wikipediaに個別ページができちゃうくらい有名な命令のメモ。 きっかけ このソースコードは現在の倫理上一般的でない表現が使われている箇所については当時の内容を尊重して掲載しています — ほうめい マイコンで遊んでばっかりで (@houmei) July 14, 2020 を受けて、 6809の命令のことですね。わかります >RT — Miura Hideki (@miura1729) July 14, 2020 1つのCPU命令が独立したWikipediaのページ

                CPUの珍命令 - Qiita
              • JSON Schema をクックパッドマートの商品登録画面に導入した話 - クックパッド開発者ブログ

                主にバックエンドのエンジニアとしてクックパッドマートの開発に携わっている塩出( @solt9029 )です。 美味しい食材をユーザにお届けするサービスであるクックパッドマートでは、日々街の販売店や地域の生産者が商品の登録を行っています。 商品を登録する際、販売者は消費期限をはじめとする様々な品質保証の情報を正確に入力する必要があります。 しかし、商品の種類や状態に応じて記載するべき品質保証の情報は異なるため、全項目が羅列されるフォームでは正確な入力が困難であり、販売者および商品の審査を行う社内の運用メンバに対して大きな負担をかけていました。 そこで、 JSON Schema を利用して複雑なフォームの出し分けを自動で制御し、またバックエンド側でのバリデーションも行うことが出来る仕組みを導入しました。 その結果、商品の種類や状態を選択するだけで、適切な品質保証の情報が自動的に入力され、必要な

                  JSON Schema をクックパッドマートの商品登録画面に導入した話 - クックパッド開発者ブログ
                • GPT-3.5-turboの新機能を使ってCVPRの論文を良い感じに検索・推薦・要約するシステム

                  はじめに 5月からTuringに中途入社した棚橋です。リクルートで広告配信システムの開発や量子アニーリングに関する研究開発に関わっていました。現在、Turingのリサーチチームで完全自動運転システムの研究開発に取り組んでいます。 3行でまとめ 今月開催されるCVPR2023では約2400本もの論文が発表されるため、見るべき論文を事前に検索しておきたい。 社内で行われた大規模言語モデル(LLM)ハッカソンをきっかけに、LLMのEmbeddingを用いて論文の「検索・推薦・要約」システムを作成し公開した。 検索クエリに文章を使った曖昧な検索が行えたり、類似論文の推薦ができる。6/13にアップデートされたGPT3.5の新機能であるファンクション機能を使うことで、複数観点に分けて研究内容の要約を出力させた。 ↓ 今回作成した、LLMを使ったCVPR論文検索システム 事の発端 Turingは、ハンド

                    GPT-3.5-turboの新機能を使ってCVPRの論文を良い感じに検索・推薦・要約するシステム
                  • エイプリルフールに便乗しているサイトまとめ2024年版

                    By ほしのるる 毎年おなじみのエイプリルフールが今年も始まりました~!どれが本当でどれがウソなのか、もしかしたらネタのふりをしているだけでマジなのではないか?というようにして現実と虚構が溶け合っていくカオスな一日のはじまりはじまり~。 ◆エイプリルフールのネタのタレコミのやり方 この記事中に未掲載のネタで「エイプリルフールやってる!」というのを発見したときや「うちもエイプリルフールをやってます!」という自薦の連絡はネタのタレコミ用メールフォームから送信してもらえればOKです! ・掲載されやすくなる押さえるべきポイント GIGAZINE編集部員がサイトを見に行っても「どれがエイプリルフールのネタなのだ……?」ということで瞬時に判断できない&ネタの意味がわからず記事化をあきらめてしまうしかない……となったり、「どこかがいつもと違うらしいが元のサイトの状態を知らないので、どこがどう変化したかま

                      エイプリルフールに便乗しているサイトまとめ2024年版
                    • Reactでウェブフォームを作る2021

                      Webのフォームは、いつでもベストプラクティスを悩むものの一つです。React を使うとして完全に自作でやるのか?それともフォームライブラリを使うか?フォームライブラリならどれを使うか? 今の時代 Formik を選ぶ理由はありませんが、React Hook Form と React Final Form のどちらを使うかはとても悩ましいです。 React Hook Form は利用経験者・採用実績が多い、速度が速いなど様々な利点はありますが、React 哲学に反する作りなどクセの強さが難点です。あと良くも悪くも利用シーンが豊富でドキュメントも豊富で迷子になりがちです。 React Final Form は Final Form の React wrapper です。個人的にはこちら React 的使いやすさに反すると感じてること、React Final Form として見たときにドキュメ

                        Reactでウェブフォームを作る2021
                      • はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog

                        この記事ははてなエンジニア Advent Calendar 2022の26日目のエントリです。 こんにちは id:cohalz です。はてなブログでは2022年7月にインフラをAmazon EC2からAWS ECS(AWS Fargate)に移行するプロジェクトが完了しました。 プロジェクトは2021年9月から始まったので約10ヶ月間という大きなプロジェクトでした。 プロジェクト完了までに行ってきたことのうち、特に面白かったところなどをこの記事で実施した順に振り返ってみます。 はてなブログのインフラのこれまで アプリケーションを動かせるようにする ALBを追加する 検証環境を用意だけしておく プロキシの設定埋め込み 証明書の配信 アクセスログを配送できるようにする アクセスログの形式を新しくする EC2でもFirehoseを経由するように タイムゾーンをUTCに統一 FirehoseのLa

                          はてなブログをECSに移行してリリース頻度も改善した話 - Hatena Developer Blog
                        • MySQLとOracleの実行計画を比較してみた - ASMのきもち

                          まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

                            MySQLとOracleの実行計画を比較してみた - ASMのきもち
                          • Prisma ORMを2年運用して培ったノウハウを共有する

                            TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

                              Prisma ORMを2年運用して培ったノウハウを共有する
                            • OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog

                              こんにちは、SmartHR でフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some

                                OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog
                              • テクノロジーマップ、技術カタログの在り方について - テクノロジーベースの規制改革推進委員会(第1回)

                                2022年10月3日(月) 登 大 遊 * Daiyuu Nobori, Ph.D. テクノロジーベースの規制改革推進委員会(第1回) 提出資料 テクノロジーマップ、技術カタログ の在り方について * 所属: 独立行政法人 情報処理推進機構 (IPA) 等 技術情報を日本組織に向けて発信し、組織内で技術が実際に仕事に使われるまでには 1 登 大遊 提出資料 1. たとえ良い技術であっても、外部から組織に技術情報を注入し、業務利用を促すことは、とても難 しい。なぜならば、組織には、従前の動きをひたすら繰り返す性質があり、変化を避けたがり、堅い外 殻により、外からの異物を排除するためである (これはもちろん、セキュリティ上必要な防衛機構である)。そこで、 良い技術の情報を単純に発信しても、跳ね返される。 外 内 ↑強固なファイアウォール (FW) 組織 従来手法 従来手法 従来手法 従来手法

                                • 青木健『ペルシア帝国』(講談社現代新書 2020年)の諸問題|アザラシ

                                  「ひどいよドクロちゃん。何がひどいって全部ひどい」 (OVA「撲殺天使ドクロちゃん」第2期4話より) この記事ですが、タイトルに掲げました通り、青木健『ペルシア帝国』(講談社現代新書 2020年)を読んでの感想や批評、および古代ギリシア史を学んだ人間からのツッコミです。 『ペルシア帝国』がお手元にあって、なおかつどんな問題点があるかを把握したいという人向きの記事ですので、「面白ければヨシ!」という方にはオススメしません。 また、私の専門分野の都合上、本書全体の4分の1程度、アカイメネス朝に関わる部分のみを批判の対象としています。これ以外の時代・地域の問題点を把握したい方は以下の記事やレヴューが参考になります。 ・春田晴郎先生の連続ツイート https://twitter.com/HarutaSeiro/status/1307841405193080832 ・「青木健著『ペルシア帝国』で確認

                                    青木健『ペルシア帝国』(講談社現代新書 2020年)の諸問題|アザラシ
                                  • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

                                    CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

                                      Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
                                    • 子連れファミリーにおすすめのキャンプ場20選! プロが全国で旅した300カ所以上の中から厳選 #くるまも - くるまも|三井住友海上

                                      ファミリーキャンプのためのキャンプ場選びは、テントなどの道具(ギア)がレンタルできるのか、子どもと一緒にどんな過ごし方ができるのかなど、気になるポイントがたくさんあります。 子連れでのキャンプは初心者という人のために、北海道、東北、関東、北陸、中部、関西、中国、四国、九州、沖縄にあるファミリーキャンプにおすすめの全国20ヵ所のキャンプ場をピックアップしました。山や川などの大自然、春夏秋冬の季節ごとのイベントや個性的なコテージなど、魅力いっぱいの施設ばかり。 持ち物を車に積むコツや、快適に過ごすポイントもあわせてご紹介します。 こんにちは、プロキャンパーのさくぽんといいます。私は大学卒業後、生活用品メーカー勤務を経てフリーランスになり、ライターやコーディネーターなど、キャンプにまつわるさまざまな活動を始めました。 キャンプ場をめぐりながら日本一周して47都道府県を制覇した経験があり、これまで

                                        子連れファミリーにおすすめのキャンプ場20選! プロが全国で旅した300カ所以上の中から厳選 #くるまも - くるまも|三井住友海上
                                      • Rustで書いたWebAssemblyインタプリタ上でGoで書いたゲームボーイエミュレータを動かした - undefined

                                        概要 最近はWebAssemblyに興味があり、勉強していたんだけど仕様を読み始めても頭に入らないのでインタプリタを作ってみることにした。よくわからないものは作ってみるのが一番よい。 github.com まだ残された課題は多いのだけれども、一つ目標にしていた「Goで書いたゲームボーイエミュレータを動かす」を達成できたのでここに書いておく。 うおーついにRustで書いた自作wasm interpreter上でgoで書いた自作gameboy emulatorが動いたー!けど1FPSくらいしかでない... pic.twitter.com/I5B2XL5E0W— bokuweb (@bokuweb17) 2020年2月24日 こツイートに貼られているのは残念ながら、静止画ではなく、動画でありパフォーマンスが悲しいことになっていることを示している。あまりに遅くてプレイ画面まで到達できない。今後これ

                                          Rustで書いたWebAssemblyインタプリタ上でGoで書いたゲームボーイエミュレータを動かした - undefined
                                        • swagger-merger を用いた大規模API開発における Swagger 運用

                                          はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は以前の Fin-JAWS のイベントで少し紹介させていただいた、我々の現場で取り組んでいる、大規模API開発における Swagger を用いたAPI仕様のドキュメント運用方法について紹介いたします。 概要我々の現場では、API ベースのWeb Application を開発する際に、Swagger を用いて API 設計をしたり、BFFサーバー開発者やフロントエンド開発者とのコミュニケーション手段として活用しています。 ただし、Web Application の規模が大きくなってくると、Swagger の 定義ファイルは肥大化してしまい、メンテナンスが困難になってきます。 今回は、Web Application の規模が大きくなっても耐えうる Swagger 定義ファイルの運用方法を

                                            swagger-merger を用いた大規模API開発における Swagger 運用
                                          • 自作して学ぶKubernetes Scheduler | メルカリエンジニアリング

                                            Mercari advent calender の21日目を担当します@sanposhihoです。現在大学の学部4回生で、メルカリでは内定者インターンとして、メルカリのホーム画面などのバックエンドを担当するチームに所属しています。 また、最近は個人的にKubernetesやその周辺のOSSにコントリビュートをしていて、特にKubernetesのコントロールプレーンのコンポーネントのうちの一つであるkube-scheduler周りを触ってることが多いです。 後で詳しく説明しますが、kube-schedulerはPodをどのNodeで実行するかを決定しているコンポーネントです。NodeAffinityや比較的新しいものだとPod Topology Spread Constraintsなど、Podのスケジュールの制約を指定できる機能も基本的にこのkube-schedulerに実装されています。

                                              自作して学ぶKubernetes Scheduler | メルカリエンジニアリング
                                            • フェミニストだいっきらい!なみなさまへ|女三宮|note

                                              宇崎ちゃんの献血ポスター以来、インターネット上でフェミニト批判が今まで以上に溢れかえっている。 先ほどツイッターで「フェミニスト」と検索すると、「フェミニスト 死ね」と検索予測に入ってきたり、巨乳のアニメキャラ、漫画キャラをフェミニストが批判していることへの罵詈雑言、「フェミニストは結局女性の地位向上とかじゃなくて自分たちが気に入らないものをフェミニズムを掲げて批判したいだけ」、#Kutoo 石川優実さんに対しての「自分の利益のためにフェミニズムを利用しているだけ」……etc. ああ、ここまで書いてもういやになってきた…。 私の大学の恩師の研究室に『右翼辞典』という分厚い本があった。先生は授業で代議制民主主義を批判し、政権を批判していた左翼でアナキストだった。それをよく知っていた私はそれが目に入って、「右翼辞典って何ですか笑」と言ったら、 「右翼…正当な右翼は面白いんですよ。」 と言ってい

                                                フェミニストだいっきらい!なみなさまへ|女三宮|note
                                              • 同じソースツリーでテストが通っていたらテストをスキップする | おそらくはそれさえも平凡な日々

                                                tl;dr git rev-parse HEAD^{tree} でツリーオブジェクトのハッシュ値が取れるので、ブランチが異なる場合でも同じソースツリーであるかどうかを判定できます。 これを利用して、すでにテストを通ったtreeのハッシュ値をどこかに記録しておいて、同一のソースツリーに対するテストをスキップできます。 本題 よく使われている、develop/mainブランチ運用をしている場合に、ちょっとした修正を本番に入れたい場合には以下のようなフローを踏むことになるでしょう。 featureブランチをdevelopブランチの先頭から切って修正を作ってテストが通るのを待つ developブランチにfeatureブランチにマージしてテストが通るのを待つ mainブランチにdevelopブランチをマージしてテストが通ったらdeployする さて、この時、他の作業が混ざらない限りにおいては1,2,

                                                  同じソースツリーでテストが通っていたらテストをスキップする | おそらくはそれさえも平凡な日々
                                                • MySQL で複合インデックスを作成する際には必ず Explain の key_len を確認すべきという話

                                                  「Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました」でちゃんと触れられてないので今更ながら key_len について補足します。発表で触れた内容については言及しないので、storage engine や B+ tree といった用語がよくわからない方は発表内容を参照してください。 なお、MySQL のバージョンは 5.7.38 です。 mysql> SELECT @@version; +-----------+ | @@version | +-----------+ | 5.7.38 | +-----------+ 1 row in set (0.00 sec) 事前準備 sample-data-railsdm-2018 の orders テーブルを少しいじって、キャンセル時刻(canceled_at)、配送予定時刻(deliv

                                                    MySQL で複合インデックスを作成する際には必ず Explain の key_len を確認すべきという話
                                                  • MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank

                                                    データベースアップグレード後の性能劣化、イヤですよね。 去る2023年某日、弊社ではAmazon Aurora MySQL 互換エディション 2 (MySQL 5.7 互換) から Aurora MySQL 互換エディション 3 (MySQL 8.0 互換) にアップグレードしました。当時の背景やアップグレードに関する知見は以下の記事をぜひ読んでみてください。 blog.smartbank.co.jp ソフトウェアバージョンアップをするとき、旧バージョンが抱えていた問題の解決などの恩恵を我々は期待します。しかし時には予期せぬデグレーションに遭遇することもあります。我々のMySQL 8.0へのアップグレード前後においてもいくつかの問題に遭遇しました。 本記事ではそんな問題の一つ、MySQL 8.0のオプティマイザが選択したセミジョイン最適化が性能劣化を引き起こした事例と解決方法について紹介し

                                                      MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank
                                                    • リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々

                                                      常々GitHubにtag requestが欲しいと言ってきましたが、それを実現するツールを作りました。OSSなど、バージョニングとリリースが伴うソフトウェア開発のリリースエンジニアリングをとにかく楽にしたいという動機です。既に自分が管理している幾つかのOSSでは導入して便利に利用しています。 https://github.com/Songmu/tagpr アイデア 基本の発想は以下のようにシンプルです。 リリース用のpull requestがGitHub Actionsで自動で作られる バージョン番号が書かれたファイルやCHANGELOG.mdを自動更新 そのpull requestをマージするとマージコミットに自動でバージョンtagが打たれる semver前提 リリース用のpull requestを自動で作りマージボタンを以てリリースと為す、というのは、みんな(僕が)大好き git-pr

                                                        リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々
                                                      • チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog

                                                        Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。Notion や Figma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を提供し、それらは JavaScript の Map や Array のように利用できます。さらにそのデータに対する変更は他のクライアントに自動的に配布・同期されます。 Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。 クイックスタート Y.Map がクライアント間で自動的に同期されるコード例を見てみましょ

                                                          チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog
                                                        • 今までの人生で脳汁がでるほど嵌ったコンテンツ125 +α本 - orangestarの雑記

                                                          最近、頭おかしくなることがない。 www.karzusp.net かーずさんが、いつの間にか製麺業を引退していた。いろいろ理由はあったのだろうけれども、大きなきっかけは『『ゼルダの伝説BoW』をプレイできました。これがもう、快楽物質ドバドバ出て昇天し』かけたかららしい。 脳汁どばどば。 そういえば、最近、そういう体験をしていない。『うえええぇええええっぇえっ!おもしっれええぇええ!脳汁でるぅううううう!じぬううぅううう!』してない。もう数年もしていない。歳をとると、感性も摩耗して、すげーすげーしづらくなる。少なくとも自分はそうで。だから、脳汁びゃーできる人が羨ましい、自分が悲しい。嫁はゴリゴリと脳汁出して、今は若俳にはまっているけれども。あれは別の生き物だから……。 最近、ミドルエイジを迎えた周りのブロガー諸子が人生を振り返っている。これからの人生と今までの人生。 自分は、振り返るにも色々

                                                            今までの人生で脳汁がでるほど嵌ったコンテンツ125 +α本 - orangestarの雑記
                                                          • 一年ぶりにドワンゴに再入社した - thiryのブログ

                                                            一年(厳密に言うと11ヶ月)ぶりにドワンゴに再入社しました。 なぜドワンゴを辞めたのか 新卒としてドワンゴに入社して3年目の夏、友人の務めているITベンチャーが異業種大手の会社に買収され、IT関連事業の新規創設を行うとの事で、そこへの参画を依頼されました。この時ドワンゴで比較的大きな仕事の区切りがついたところで、次の会社へ行くには良いタイミングと考え退職を決めました。 なぜ転職先を辞めたのか 多くは語りませんが、転職先企業の社風や、合理性よりも感情が優先される風潮に馴染めなかったことが主な理由です。 通常業務をこなしつつ業務の自動化や効率化を行っていたことがサボり扱いされる理不尽がまかり通るような会社が世の中にどれくらいあるのかは分かりませんが、少なくとも転職先の会社はそうでした。(一番悲しかったのは、僕を誘った友人からも同じ扱いを受けたことです。出世欲って怖いですね。) 転職して3ヶ月も

                                                              一年ぶりにドワンゴに再入社した - thiryのブログ
                                                            • awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店

                                                              最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。ビルドして使うのがお勧めです どうぞご利用下さい github.com 以下はこれに至るまでの経緯とか、実装や使い方の話とかです。長いです。 作成の経緯 AWSの各種サービスにアクセスするための AWS CLI は、スクリプトやコマンドラインから処理を自動化するために大変便利なツールです。AWSでサーバーサイドの開発、運用している人であれば、ほぼ全員がお世話になっているんじゃないかと思います。 しかし、AWS CLI (コマンド名aws) には「起動が重い」という問題があるなとずっと思っていました。具体的には、aws --versio

                                                                awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店
                                                              • PIXIV TECH FES.のLPを支えるCSSアニメーションテクニック - pixiv inside

                                                                ※本記事に出てくるアニメーションは全てCSSで作られています はじめまして、新卒エンジニアの yui540(@yui540)です。普段は、pixivFANBOXというサービスのCSSエンジニアをしています。 今回は、私がコーディング&ページ演出のアニメーションを担当させていただいたPIXIV TECH FES. の LP(第一弾)の CSSアニメーションの実装方法を一部解説します。 第一弾 conference.pixiv.co.jp 第二弾 conference.pixiv.co.jp とその前に、「PIXIV TECH FES.って何?」という方もいると思うので、簡単にご説明します。 PIXIV TECH FES. は、私たちピクシブのエンジニアが普段からお世話になっている方や、 お話ししてみたい方をお招きして、サービス開発で得た技術的知見とピクシブの未来についてお話しするテックカンフ

                                                                  PIXIV TECH FES.のLPを支えるCSSアニメーションテクニック - pixiv inside
                                                                • 混乱を引き起こしがちなGitの用語まとめ

                                                                  分散型バージョン管理システムのGitは2005年の登場以降シェアを伸ばし続け、2022年の調査では約94%のユーザーに利用されるほど一般的なツールとなっています。Gitにはさまざまな機能が搭載されていますが、その中で特に混乱を引き起こしがちな用語について、Gitを15年近く使用してきたというジュリア・エヴァンスさんが解説しています。 Confusing git terminology https://jvns.ca/blog/2023/11/01/confusing-git-terminology/ ◆HEADと「heads」 HEADは現在チェックアウト中のブランチやコミットを指しており、「.git/HEAD」に保存されています。一方「.git/refs/heads」に保存されているのはブランチで、「heads」は「branches」と読み替えればOKとのこと。 ◆detached HE

                                                                    混乱を引き起こしがちなGitの用語まとめ
                                                                  • OpenAPI Generator で API Client と型を自動生成した話 - BASEプロダクトチームブログ

                                                                    フロントエンドエンジニアの @rry です。 自分は BASE の Sales Promotion というチームで主に新規機能開発を行っています。このチームでは主にオーナーさんの使う管理画面に新しく機能追加をしています。 そこで、管理画面で使っている API Client と型を、OpenAPI Generator を使って自動生成するようにしてみたのでそのお話を書きたいと思います。 そもそも OpenAPI とは? https://www.openapis.org/ OpenAPI とは、RESTful Web サービスを記述、生成、使用、および視覚化するための仕様です。 ※ 以前は OpenAPI ではなく仕様自体も Swagger と呼ばれていましたが、現在は仕様自体については OpneAPI と呼ばれており、Swagger というのは OpenAPI を使ったツール群のことをさすよ

                                                                      OpenAPI Generator で API Client と型を自動生成した話 - BASEプロダクトチームブログ
                                                                    • 試行錯誤を邪魔しない開発環境 - mizdra's blog

                                                                      ある機能を実装する際、完成形のコードになるまでには、プログラムとして不正確な状態や、プロダクト品質ではない状態を経る 静的型検査や lint rule に違反したコードが途中に挟まる 型エラーや lint エラーは望ましくないので、できるだけ早くこうした情報を開発者に伝え、気付けるようにすると良い CI でこうしたエラーを検知して、Pull Request をマージする前に気づけるようにするとか エディタ上にエラーの情報を表示して、コーディング中に気づけるようにするとか エラーを積極的に通知してくれるのはありがたいけど、やりすぎには注意するべき なんとなくでも動いてくれたほうが嬉しい 例えば lint エラーがあった際に、watch モードで起動しているビルドやテストの実行を止めて、lint エラー見つけたよーと教えてくれる開発環境がたまにあるけど... 別にビルドやテストの実行は止める必

                                                                        試行錯誤を邪魔しない開発環境 - mizdra's blog
                                                                      • 赤い羽根募金とColabo関連団体との間に強いつながりはあるのか?|ホットケーキくん

                                                                        SNSを中心に話題となっている暇空茜さんとColaboを含む若年女性支援関連4団体との争いについて色々情報が飛び交っています。そんな中、昨日赤い羽根運動を主催する中央共同募金会(以下、赤い羽根)から以下のようなリリースがでました 「中央共同募金会による一般社団法人Colabo等への助成について」 https://www.akaihane.or.jp/news/31075/ 内容は「過去にcolaboへ助成していました」というものなのですが違和感を覚えました。いくらcolaboが騒がれているとはいえ現時点でなんら罪が確定していない段階でプレスリリースは必要でしょうか。そこでその違和感を確かめるべく2016年~2022年までの公表されている中央共同募金会による助成、全1567件をリストアップしました。 (なお予め言っておきますが本noteは登場する各団体に対していかなる違法行為についてもそれを

                                                                          赤い羽根募金とColabo関連団体との間に強いつながりはあるのか?|ホットケーキくん
                                                                        • MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;

                                                                          タイムライン的なものをSELECTだけで実装しようと思った時に、Nested LoopなクエリでUsing temporary; Using filesortが出るようなそこそこ遅いクエリになる。その時にMySQLがインデックスをどう辿っているかを知りたかったので調べてみた。MySQLバージョンは8.0.33。 あまり自信はないので、もし間違った話をしていたら教えて欲しい。 どのようなクエリを検証するか タイムラインの取得ができるような、ユーザー・フォロー関係・投稿の3つのテーブルを作る。スキーマは次の通り。 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL ); CREATE TABLE follows ( id INTEGER PRIMARY KEY AUTO_I

                                                                            MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;
                                                                          • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

                                                                            この記事はRust Advent Calendar 2021の12/24日の記事です。 仕事ではScalaを使っていますが、趣味のプログラミングではRustで書いたものが増えました。Rustは楽しいですね。 今回は、Rustでオブジェクト指向プログラミングに関数型デザインを導入することで、スケーラブルなプログラムを書く方法(スケーラブル・プログラミング)について書きます。 「スケーラブル・プログラミング」といえばScalaです。Scalaの「スケーラブル」という言葉には「小さいプログラムも大規模なプログラムも同じ概念で記述できるべきである」という、柔軟性や拡張性を重視した設計の意図が込められています。それを実現するために必要なものは、オブジェクト指向と関数型を組み合わせたマルチパラダイムな設計です。 Scalaはマルチパラダイム言語の先駆者(今も先頭を走り続けています)ですが、他の言語にも

                                                                              Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                                                            • 個人的によく使うGitエイリアス、zshキーバインド - 本日も乙

                                                                              最近、リモートワークということもあり、ペアプロというかAWS、GCPなどの操作をする際に一緒に画面を見ながら作業する機会が多いです。若手の同僚がターミナルソフトを起動してコマンドを実行するのですが、傍から見ているとエイリアスなりキーバインドなりを使えば効率的に操作できるのにと思うことがあります。 最近はGUIで操作することが多いのでターミナルソフトでコマンド操作することがあまりないのかもしれませんが、私は少し前までは(クラウドしかできない)ITインフラエンジニアをやっており、プログラミングよりもコマンド操作するのが圧倒的に多かったため、ちょっとしたことならGUIよりもターミナルで操作することが多いです。Windowsを使っていますが WSL2 + Ubuntu 20.04 LTSで開発環境を整えているため、操作に不自由はほとんどしません。 この手のエイリアスやzshなどのオススメ設定はググ

                                                                                個人的によく使うGitエイリアス、zshキーバインド - 本日も乙
                                                                              • エイプリルフールに便乗しているサイトまとめ2023年版

                                                                                By ほしのるる 毎年おなじみのエイプリルフールが今年も始まってしまいましたー!どれが本当でどれが実はウソなのか、どこからどこまでがネタなのか、いや、もしかしたらこれはネタのふりをしているだけでマジなのでは?というような感じで混沌としていくカオスな一日の始まりです~! ◆エイプリルフールのネタのタレコミのやり方 この記事中に未掲載のネタで「エイプリルフールやってる!」というのを発見したときや「うちもエイプリルフールをやってます!」という自薦の連絡はネタのタレコミ用メールフォームから送信してもらえればOKです!掲載されやすくなる押さえるべきポイントとして、GIGAZINE編集部員がサイトを見に行っても「どれがエイプリルフールのネタなのだ……?」ということで瞬時に判断できない&ネタの意味がわからず記事化をあきらめてしまうしかない……となったり、「どこかがいつもと違うらしいが元のサイトの状態を知

                                                                                  エイプリルフールに便乗しているサイトまとめ2023年版
                                                                                • Goでつまづいたところを仕様を見ながら理解してみる - ravineport blog

                                                                                  Go言語デビューしました!🎉 シンプルなのもあってすぐに馴染むことができています。Goよいですね! さてさて今回はGoを書いていて「これできるんだ」「これはコンパイルエラーなんだ」となったところをGoの仕様などを見ながら(できればそのwhyまで)理解したいと思います。 Go 1.18時点での記事です。 つまづき1:constをポインタとして扱えない 例えばこんなのがあったとして const Ten = 10 type User struct { age *int } 以下のコンパイルが通りません。 func main() { user := User{ &Ten, // コンパイル通らない🤔 } fmt.Println(user) } エラーメッセージを見てみると invalid operation: cannot take address of Ten (constant 10 of

                                                                                    Goでつまづいたところを仕様を見ながら理解してみる - ravineport blog