並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 67件

新着順 人気順

catchの検索結果1 - 40 件 / 67件

  • 英語習得の近道は、ChatGPTで“自分で教材を作る”こと 『英語は10000時間でモノになる』著者がすすめる学習法

    ChatGPTの研究から得られた英語学習のノウハウを詰め込んだ書籍『英語は10000時間でモノになる』。著者の橋本大也氏が、ChatGPTを活用した勉強法について解説します。本記事では、ChatGPTを使った英語学習の「応用編」をご紹介します。 前回の記事はこちら ChatGPTを活用した英語学習の「応用編」 橋本大也氏(以下、橋本):ここからは、ChatGPTのプラグインとか、有料版のAdvanced data analysisの高度な機能を使った応用編ですね。ChatGPTを使って「え、こんなこともできるの!?」という例を紹介していきます。 最初は和製英語についてです。和製英語は「Japanglish」と言いますが、「和製英語の例をください」と入れると、Salaryman、OL、Skinship、Consentとか、いろいろな英語で答えてくれるんですね。 私はこのままmore、more

      英語習得の近道は、ChatGPTで“自分で教材を作る”こと 『英語は10000時間でモノになる』著者がすすめる学習法
    • グローバル企業で生き抜くための英会話フレーズ集 - fu3ak1's tech days

      転職をしてはや10ヶ月ほど経ちました。業務で英語を使うようになったので、私もしくは同僚がよく使う英会話のフレーズを紹介します。自分のメモも兼ねています。 私のバックグラウンド エンジニアとして某会社に勤務しております。会社のメンバーは外国の方が多く、状況にもよりますが全体の40~50%くらいは英語でミーティング、Slackでも英語でやり取りすることが多々あります。そんな中で気付きとしてあったのが、同じ表現を使って会話をすることが多いなという点です。ある程度パターンとしていくつかのフレーズを覚えておけばそれなりに業務の会話ができるのでは?と思いこの記事を書いています。なお、以下私の環境については注意してください。 外国の方が多いといっても、ノンネイティブや日本人も多く、英語ができない人に対しても理解がある環境です。(ネイティブ90%以上といった環境とは違う) エンジニア同士の会話が多いので、

        グローバル企業で生き抜くための英会話フレーズ集 - fu3ak1's tech days
      • 『ポケモン 赤緑』のRTA in Japan走者、マルチタスク超人として恐れられる。赤も緑もプレイするし、コメントも読むし乱数調整もする - AUTOMATON

        「RTA in Japan Summer 2024」にて8月13日、『ポケットモンスター 赤・緑』(以下、ポケモン赤緑)のRTAがおこなわれた。150種類のポケモンを図鑑に登録するというレギュレーションのもと、RTAプレイヤーのずのう氏がプレイ。本RTAがほかの『ポケモン赤緑』RTAと違うのは、『ポケットモンスター 赤・緑』の2作品をずのう氏がひとりで、しかもそれぞれ片手で同時並行してプレイするという、マルチタスクなRTAであるということだ。 『ポケットモンスター 赤・緑』は、ゲームボーイ向けに1996年に発売された『ポケットモンスター』シリーズの初代の作品だ。本作は、ポケモンマスターを目指す主人公が、ポケモンを捕まえて育成しながら、カントー地方を冒険していく。チャンピオンを倒してポケモンマスターを目指すという目的のほか、作品内に存在するポケモンを捕まえることでその情報が登録されていくポケ

          『ポケモン 赤緑』のRTA in Japan走者、マルチタスク超人として恐れられる。赤も緑もプレイするし、コメントも読むし乱数調整もする - AUTOMATON
        • 注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools

          公開日 2024/05/28更新日 2024/07/25注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 現代のITサービスは、ユーザーに高品質で安定した体験を提供するために、より効率的で柔軟な技術選定が不可欠です。 本特集では、注目企業のシステムアーキテクチャ設計に携わるエンジニアの方々より、それぞれの技術選定における工夫と、未来を見据えた展望についてご寄稿いただいています。 各企業がどのように課題を乗り越え、開発生産性や品質を向上させるためにどのようなアプローチを採用しているのか ー この記事を通じて、実際の現場で活用される最先端の技術や戦略を学び、皆さんのプロジェクトに役立つ洞察を得ていただければ幸いです。 ※ご紹介はサービス名のアルファベット順となっております airCloset - 株式会社エアークローゼット エアークローゼットは日本初・国内最大級、女

            注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools
          • 現代人の苦しみは「人類の進化と文化のミスマッチ」が原因のひとつだという指摘

            メンタルヘルスの悪化や生活習慣病といった現代社会に生きる人々を苦しめる問題の多くは、急速な技術の進歩や近代化によって生じていると指摘されています。こうした問題の背景には、人類の進化と文化の変化が食い違う進化論的ミスマッチがあると、イギリスのノーサンブリア大学で心理学助教を務めるホセ・ヨン氏が解説しています。 Human culture is changing too fast for evolution to catch up – here’s how it may affect you https://theconversation.com/human-culture-is-changing-too-fast-for-evolution-to-catch-up-heres-how-it-may-affect-you-227711 進化論的ミスマッチは、進化して身につけた形質や性質が身体的

              現代人の苦しみは「人類の進化と文化のミスマッチ」が原因のひとつだという指摘
            • 競プロ出身者・機械学習出身者の問題コード

              https://anond.hatelabo.jp/20240625191650 競プロ出身者だけじゃなく、機械学習出身者も問題コードが多い 印象の問題ではなく実際に下記のようなコードが多い 念のため言っておくと底辺大や文系出身プログラマーも同様の傾向にある 正常系しか意識していない一番多いのはコレで異常系の動作を全く意識していない 入力値に想定外のものが入ることを考えていなかったりI/Oに関わるエラーについても配慮がない 「エラーが出たらとにかくtry-catchしてログ吐いて終わり」 ならまだマシな方で、「握りつぶして処理続行」みたいなことも平気でやる 「ここの処理でエラーログが出てるから対処よろしく」 「対処しました!(握りつぶし)」 とか滅茶苦茶多い セキュリティに関する意識が低い異常系の話と被るけど基本的に性善説でコード書くのでセキュリティの不備がめちゃくちゃ多い API作らせて

                競プロ出身者・機械学習出身者の問題コード
              • JavaScript で then を使うのは避けよう(await / async の初級者まとめ)

                JavaScript において、特に苦手とする人が多い印象のある Promise ですが、await と async の文法が導入されたことで、Promise の仕様を深く理解しなくても非同期処理を自然に書けるようになってきたのではないかと思います。 極論ですが、JavaScript の非同期処理は async await new Promise のみで、(ほぼ)全て表現可能です。特別な理由がない限り then を使わないようにしましょう、ということを周知するのがこの記事の目的です。 なお本記事では Promise の rejected の状態についてほとんど解説しておりません。基本を理解したら、別記事でぜひ学んでみてください。 Promise とは? Promise は、少し乱暴に説明すると「実行が終わっていないかもしれない何らかの関数」を包んだオブジェクトです。 普通の関数とは違って、

                • その例外、いつキャッチするの?

                  はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

                    その例外、いつキャッチするの?
                  • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

                    切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

                      自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
                    • jq 1.7をリリースしました - プログラムモグモグ

                      jqがjqlang organizationに移譲され、数名の新たなメンテナーを入れた開発体制に移行してから三か月が経ちました。 私にとってこの三か月はとても濃厚で、これまでのOSS活動の中でも特に大変な期間でした。 itchyny.hatenablog.com github.com リポジトリの管理権限をいただいてからまずやったことは、既存のissueやPRの整理でした。 500ほどのissueとPRに目を通し、ラベルをつけて、解決済みのものを閉じて、直近で入れたいものを独断でリリースマイルストーンに入れていきました。 この整理がついた頃には他のメンテナの活動も活発になり、私の作ったマイルストーンのissueやPRを確認してくれました。 そして先日、ようやく1.7をリリースしました。 1.6から実に五年弱、一時は開発が完全に止まってしまいプロジェクトの存続を危ぶむ声も上がるような状況から

                        jq 1.7をリリースしました - プログラムモグモグ
                      • ssig33: "最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 ##..."

                        新人声優 +81-9014502501 mail@ssig33.com 0088-7709-7529 it/it. my opinion may be not my own. but my fate is my own. 最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 前提: デカいフレームワークは使わない next.js, Astro, Remixは使わない。next.jsとAstroは大好きなのだが、社内向けとか個人用とか小さいアプリに使うにはあきらかに恐竜であると思う。Remixは大好きではない。 前提: SSRしない SSRもSSGもISGもしない。CSRでいい。SSRしたいならReactをそもそもぶん投げたほうが(個人レベルなら)いいと思ってる。それがほしいならPHPやRails でええ。今更RailsでView書きたくないとか思うかもしれない

                          ssig33: "最近最小限のReactアプリを作るのに使ってるもの についてとりあえずメモしとく。 ##..."
                        • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

                          概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 本記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 本記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

                            【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
                          • このままでは日本人の手で日本の漁業が滅びる

                            昨年末、2024年度予算が閣議決定した。うち水産予算は前年度補正を併せて3169億円と、過去最高だった前年の3208億円(前年度補正含む)をやや下回るものの、3100億円台を維持した。18年度まで水産予算は2300~2400億円程度であったが、同年末に国会を通過した漁業法の改正に歩調を合わせ、予算は一気に増額した。 漁業法の改正で目指されたのは、科学的な資源管理に基づく水産資源の回復と水産業の持続的な発展であると言える。これまで国が資源評価対象としていたのは計50魚種で、漁獲総枠(「漁獲可能量(Total Allowable Catch: TAC)」と呼ばれる)を決めて管理を行っていたのは8種に過ぎなかった。 水産庁によると、資源評価対象を23年度までには200種程度に拡大(22年3月現在192種)するとともに、資源評価方法についても過去数十年のトレンドから「高位」・「中位」・「低位」と分

                              このままでは日本人の手で日本の漁業が滅びる
                            • フロントエンドの新規開発でNext.jsの採用を見送った話 - バイセル Tech Blog

                              ※こちらはバイセルテクノロジーズ Advent Calendar 2023の10日目の記事です。 前回の記事は、金澤さんのAuth0とEntra IDを扱うプロダクト同士を繋げるためのIstio設定あれこれでした。 はじめに こんにちは、開発3部の神保です。 バイセルでは、お客様宅への出張訪問による買取が買取チャネルの主力となっています。現在開発3部の弊チームでは、この出張訪問買取で使用されるWebアプリケーション「Visit」の新規開発を進めています。 VisitのフロントエンドにはReactを採用しましたが、Next.js等のフレームワークは使用せず、Vite + ReactによるSPA (Single Page Application)構成を選択しました。 技術選定の過程では、社内での採用事例などからNext.jsも検討の対象となりましたが、最終的にはその採用を見送る結論に至りました

                                フロントエンドの新規開発でNext.jsの採用を見送った話 - バイセル Tech Blog
                              • 1つの HTML ファイルだけで完結する校正支援ツールの作り方

                                こんにちは。LINEヤフー株式会社でテキストマイニングや自然言語処理などをやっている山下( @yto )です。 Yahoo!デベロッパーネットワークのテキスト解析 Web API が CORS(Cross-Origin Resource Sharing)対応したため、サーバがなくてもブラウザから直接 Web API にアクセスできるようになりました(参考)。 そのテキスト解析 Web API の機能の一つである「校正支援」は日本語文章の品質チェック(校正)を支援するもので、文字の入力ミス、言葉の誤用、わかりにくい表記、不適切な表現などが使われていないかをチェックして、指摘します(内部の辞書データをベースとしているため完全なものではないことをご承知おきください)。 この校正支援機能のサンプルプログラムとして「HTML ファイル1つだけで完結する校正支援ツール」を作ったので紹介します。入力され

                                  1つの HTML ファイルだけで完結する校正支援ツールの作り方
                                • 【ソフトウェア設計】例外処理を考える

                                  はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか? 簡潔さは力なり? 予測可能な振る舞いと簡潔さについて ドキュメントとしてのコメント TL;DR 例外は「原則」キャッチしない 業務例外や必ずハンドリングさせたい例外はOptionalなど戻り値の方が便利 だいたい以下の図が言いたい事のすべて 例外処理とは? 「例外処理(Exception Handling)」は言語に依らず普遍的な関心事です。端的に言えば例外処理は異常やシステムの動作に不備が発生した際の特別な分岐処理です。リカバリやリソースの解放、あるいはユーザへの通知などがありますね。

                                    【ソフトウェア設計】例外処理を考える
                                  • 和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog

                                    和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! こんにちは、ウォンテッドリーDev Branch VPoE 室長の髙橋です。 ウォンテッドリーの開発組織であるDev Branchでは、外部から有識者を招いて勉強会を開催したり、技術顧問として知見を取り入れるなど、プロダクト開発により強い組織となるためにさまざまな施策を行っています。 今回、「テスト書いてないとかお前それ @t_wada の前でも同じ事言えんの」 でおなじみのt_wadaさん(和田 卓人さん、以下和田さん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」をウォンテッドリー向けにカスタマイズして講演いただきました。 このストーリーでは、今回の講演の経緯から社内の反応・Q&Aまで、講演に関する詳細をご紹介いたします。 社内講演のきっ

                                      和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog
                                    • DCPRG『構造と力』リリース20周年 菊地成孔が語る、オルタナティブなグルーヴの現在

                                      音楽家で現在は音楽ギルド・新音楽制作工房も運営する菊地成孔。彼が率いていたDC/PRG(Date Course Pentagon Royal Garden/当時はDCPRG)による2ndアルバム『構造と力(Structure et Force)』が、2003年9月25日の発売から20周年を迎える。 本作の収録曲は前作『アイアンマウンテン報告』と比べ、さらにクロスリズムやポリリズムにフォーカスしており、当時としては律動的かつかなり先鋭的な内容だった。特に当時、4拍子と5拍子が同時に鳴るリズムを踊れる楽曲に落とし込んだのは驚嘆でしかない。 しかし執筆家でもある菊地が膨大なテクストを残した副作用なのか、雑誌カルチャーの衰退が原因なのか、音楽そのものを具体的に語ったインタビューはネット上にほとんどないのが実情だ。そこでリリース20周年を期に『構造と力』の音楽的な回想を依頼。 「5」という数字(ペン

                                        DCPRG『構造と力』リリース20周年 菊地成孔が語る、オルタナティブなグルーヴの現在
                                      • オープンソースのメーラー「Thunderbird」の開発チームが「バグを減らす開発手法」を解説

                                        メールソフト「Thunderbird」では、ソフトウェアの品質向上のために開発チーム内で日常的に自動テストが実行されています。その理由や手法についてThunderbirdの開発チームが解説しています。 Automated Testing: How We Catch Thunderbird Bugs Before You Do https://blog.thunderbird.net/2024/04/automated-testing-how-we-catch-thunderbird-bugs-before-you-do/ ◆自動テストの目的とメリット Thunderbird開発プロジェクトではコードの変更によるバグの発生を最小限に抑えるために「自動テスト」が重視されています。開発チームによると、、Thunderbirdのコードや機能に変更が加えられるたびに、Windows、macOS、Li

                                          オープンソースのメーラー「Thunderbird」の開発チームが「バグを減らす開発手法」を解説
                                        • Node.js + TypeScriptのモジュールを整理してみる

                                          はじめにlink 最近受けるNode.js + TypeScript環境の相談の中で、CommonJSやECMAScript Modulesのあたりで落とし穴にはまっている人が多いという事に気づいた。 Node.jsは歴史的にCommonJSとECMAScript Modules(以後ESMと表記)がどうしても入り乱れる環境にあり、これにTypeScriptのモジュールが加わると組み合わせでさらに複雑度が増すのが現状である。 説明する際に口頭より整理した文章が欲しいと思ったので記事にする。 以下のリポジトリで検証コードを管理している。 https://github.com/koh110/module_test Node.jsモジュールチェックシートlink まず最初にNode.jsにおけるCommonJSとESMの挙動について整理する。 いきなり書かれても把握できないかもしれないが、一旦こ

                                            Node.js + TypeScriptのモジュールを整理してみる
                                          • EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers

                                            概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 で登壇されたときの資料をお借りします。 ご覧の通り、大体のサービスはマネージド化していましたがバッチ基盤だけは旧来のままEC2インスタンスを利用していました。 10年モノのサービスのインフラを漸進的

                                              EC2とcronで動いていたバッチ基盤をマネージド化した - Uzabase for Engineers
                                            • System tests have failed

                                              When we introduced a default setup for system tests in Rails 5.1 back in 2016, I had high hopes. In theory, system tests, which drive a headless browser through your actual interface, offer greater confidence that the entire machine is working as it ought. And because it runs in a black-box fashion, it should be more resilient to implementation changes. But I'm sad to report that I have not found

                                                System tests have failed
                                              • 保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita

                                                参考: 循環的複雑度 ちなみに githubで最もやべー関数を発掘するという記事では、循環的複雑度が高い関数が紹介されています。 ものによってはリンク切れしてしまっていますが、最も複雑度が高いのはnode(JavaScript)のjo関数で5505だそうです。想像もつかない... どのようにすれば循環的複雑度を低く抑えられるのか? 計算方法から考えると、forやifによる分岐を減らしていくことが必要となります。 そのために、分岐の入るロジックを別関数として切り出し、1つの関数でやる事を絞り、分離することを理想として目指していきます。 とはいえ、いちいち複雑度の計算なんてしていられないですね。 そこで役に立つのが次のVSCode拡張機能です。 Code Metrics (VSCode拡張機能) この拡張機能は、TypeScriptやJavaScriptの関数・メソッドに循環的複雑度を表示して

                                                  保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita
                                                • Cursor Proを3日間で300回も使い倒してみた所感

                                                  はじめに AI搭載コードエディターCursorが話題なので自分にとって使いやすいのか実験してみました。 まだまだCursorの実験途中ではありますが、CursorProをサブスクしてたった3日でgpt-4に332回聞いてました。 Cursorはプロンプトの会話から現在のコードにDiffで提案してくれたり、エラーを解決してくれたり本当に便利で最高なのですが、頼り過ぎも良くないなと反省することもあったので、やったこと全部と感想をシェアしていきたいと思います。 やったこととしては、Cursorのチャットに質問しながら予備知識のないChatVRMというオープンソースのチャットアプリケーションの追加実装をしました。わりと簡単に実装できたこととうまくできなかったことがあるので例を挙げて紹介していきます。 Cursorとは Cursor(カーソル)とは、VScodeをフォークして作られたOpenAIのg

                                                    Cursor Proを3日間で300回も使い倒してみた所感
                                                  • WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database

                                                    For modern real-time web applications, the ability to send events from the server to the client is indispensable. This necessity has led to the development of several methods over the years, each with its own set of advantages and drawbacks. Initially, long-polling was the only option available. It was then succeeded by WebSockets, which offered a more robust solution for bidirectional communicati

                                                      WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database
                                                    • クソコードを読ませない

                                                      クソコードを読ませない💩 https://uit.connpass.com/event/291443/ 免責事項 「クソコードという言葉を使うな」と思った人、いると思います。 攻撃的で、解像度も荒くて、建設的でない言葉だと私は思っています。 一方で、目にすることも多い言葉であり、具体例に関してはふわりとした共通認識が持たれているのと、そういったコードに対するダメージコントロールの話なので、便宜上クソコードという言葉を使います。とあるソースコードに対してクソコードと呼ぶのはよくないですが、クソコードという概念そのものについて話すことに対しては有益だと思います。 自己紹介 sadnessOjisan JS/TS, Rust, 最近 Go, PHP マイブーム: 優光というラーメン屋 クソコードとは何か クソコードとは何でしょうか? 知りません。 インターネットミーム? https://tog

                                                        クソコードを読ませない
                                                      • 【JavaScript】読みやすいコードの書き方 - Qiita

                                                        はじめに 私は他人のコードをレビューしたことも自身のコードを他人にレビューしてもらったこともない初学者として現在のプロジェクトに加わりました。そこから現在までの2年間毎月10から20ほどのプルリクエストをレビューし、またチームメンバー内で読みやすいコードについて議論することで、徐々に読みやすいコードを書くためのポイントが掴めてきました。 これらの経験を通じて、私が現在考えている読みやすいコードを書くためのポイントを本記事にまとめていきます✍️ 前提 言語はJavaScriptで、レガシーな環境での手続き的なJavaScriptを想定しています。 「JavaScriptの文法やメソッドは理解してきたけど、より読みやすいコードの書き方がわからない」と感じている初学者向けです。 筆者は一般的なコーディング規約や設計原則についての書籍や資料をほとんど参照していません(読んだことがある本と言えばリー

                                                          【JavaScript】読みやすいコードの書き方 - Qiita
                                                        • ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog

                                                          目次 はじめに Colocation を意識した設計方針 Parallel Routes と Intercepting Routes を用いた設計パターン サーバー側に処理を寄せたことによる恩恵と課題 Next.js が抱える課題 おわりに 参考文献 はじめに ジャンプTOON のWeb版(以降、ジャンプTOON Web)の開発を担当している浅原昌大(@assa1605)です。 5 月にサービスを開始した「ジャンプTOON」は、オリジナル縦読みマンガ作品や人気作品のタテカラー版を連載する、ジャンプグループ発の新サービスです。 ジャンプTOON のフロントエンドには、Next.js を採用し開発をしています。 本記事では、Next.js の最新機能や設計パターン、Next.js を採用した恩恵と現在の課題について紹介します。 Colocation を意識した設計方針 Parallel Rou

                                                            ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog
                                                          • フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編 - エムスリーテックブログ

                                                            こんにちは。デジカルチームの末永(asmsuechan)です。 この記事では、OpenID Connect の ID Provider を標準ライブラリ縛りでフルスクラッチすることで OpenID Connect の仕様を理解することを目指します。実装言語は TypeScript です。 記事のボリュームを減らすため、OpenID Connect の全ての仕様を網羅した実装はせず、よく使われる一部の仕様のみをピックアップして実装します。この記事は全4回中の第1回となります。 なお、ここで実装する ID Provider は弊社内で使われているものではなく、筆者が趣味として作ったものです。ですので本番環境で使用されることを想定したものではありません。なんなら私は ID Provider を運用する仕事もしておりません。 1 OAuth 2.0 と OpenID Connect 1.1 用語の

                                                              フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編 - エムスリーテックブログ
                                                            • Reactの状態を理解して適切にHooksを利用する

                                                              Reactと状態は切っても切れない関係です。なぜなら、Reactは状態に基づいて画面を更新するコンポーネントベースのUIライブラリだからです🤝🏻 そんなReactの状態を管理・操作しやすくしてくれているのが、React 16.8から登場したフックです。それゆえ、フックを正しく利用するにあたってReactの状態の理解は非常に重要であり、Reactの状態の理解があやふやだと、予期せぬ挙動やバグのもとになりかねません。 今回の記事では、Reactの状態を理解しながら適切な箇所で適切なHooksを選択していくプロセスを再確認できた!自信を持ってReactをコントロールできるようになりそう!と言えることをゴールとしています🎉 今回使用した即席匿名メモアプリのコードベースです。 サークルでは、コミットに沿って説明をしていきました。(あくまで即席なので細かいこと気にしながら作ってませんorz) 【

                                                                Reactの状態を理解して適切にHooksを利用する
                                                              • 令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます

                                                                こんにちは、id:rokuokunです。 Perlとの出会いは突然やってきます。 いつ求められてもサッと対応できるように、いち早くPerlを書けるようになっておきましょう。 perl --version 今回入門するにあたり使用するバージョンは Perl 5.40.0 です。 インストール作業については割愛しますが、困ったらplenvを使っておけばいいと思います。 ❯ perl --version This is perl 5, version 40, subversion 0 (v5.40.0) built for darwin-2level Copyright 1987-2024, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Pu

                                                                  令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます
                                                                • スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog

                                                                  *本記事は STORES Advent Calendar 2023 6日目の記事です こんにちは。セキュリティ本部のsohです。 現在、弊社ではスマホアプリ診断内製化の準備を進めています。 同じようにスマホアプリの脆弱性診断を内製化したい、というニーズがある会社は多く存在しますが、実際のところ、スマホアプリを対象とした脆弱性診断士の確保は困難であり、外部ベンダーの方にすべてお願いせざるを得ないケースも多いかと思います。 また、その情報の少なさから、スマホアプリ診断を実施したいと考えている開発者や脆弱性診断士にとっても、「何をやればいいのか」「何から始めればいいのか」がわからないものである場合は多いかと思います。 そこで、この記事では「スマホアプリ診断って実際何をしているのか」と疑問を持つ方をターゲットとして、一般的なスマホアプリ診断の検証要件や検証方法について解説します。 要件とガイドライ

                                                                    スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog
                                                                  • TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ - Sansan Tech Blog

                                                                    Digitization部 Bill One Entry*1グループの秋山です。 はじめに Domain Modeling Made Functionalというスゴ本 補講:Make Illegal States Unrepresentable バックエンドの処理を抽象化する 手続き型プログラミングの典型例 課題1:制約のないエラーハンドリング 課題2:低い可読性 課題3:エラーハンドリングの低い網羅性 Railway Oriented Programming TypeScriptで型安全にエラーハンドリングする ステップ1:サブ関数の出力はResult型で表現する ステップ2:サブ関数にResult型を入力できるようにする ステップ3:サブ関数を連結する ステップ4:網羅的にエラーハンドリングする おわりに 付録 TypeScriptの全文サンプル はじめに エラーハンドリングは重要な処

                                                                      TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ - Sansan Tech Blog
                                                                    • 住所正規化のデモ機能を作ったので、日本のヤバい住所を入力してみた

                                                                      はじめに 数か月ほど前、住所の正規化が話題になりました。こちらの記事が特に有名ですね。 関連して、こちらの記事も話題になりました。 当時はほかにも色々な人が日本のヤバい住所の例をあげてくれて、とても楽しかったです。 実は弊社でもAddressianという住所正規化サービスを提供しています。初めて目にする変わった住所を見かけたら、とりあえず自社のAPIに投げてみて「おお、正規化できた」「すごい!」などといいながら遊んで働いています。 サービスは無料で利用できますが、今までは利用の手順が面倒でした。 ユーザー登録する APIキーを発行する 住所正規化APIを呼び出すプログラムを用意する(サンプルコードあり) プログラムを実行して住所を正規化する そこで、もっと気軽に住所正規化を試してもらえるように、ユーザー登録しなくても使えるデモ機能を作ってみました。 デモ機能の概要 住所正規化デモ画面 こち

                                                                        住所正規化のデモ機能を作ったので、日本のヤバい住所を入力してみた
                                                                      • ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜

                                                                        はじめに まずはこちらをご覧ください。 これは私のApple Watchで計測されたヘルスケアデータです。Apple Watchをつけていると、心拍数や歩数、睡眠時間などのデータが自動的にiPhone内に記録されます。 SREなら健康を維持するためにもSLIとSLOを設定して可視化するべきですよね? SREなら健康エラーバジェットが無くなりそうだったら「今すぐ寝ましょう!」と架電が来て欲しいですよね? 普通にやるとiOSアプリを用いて直接ヘルスケアデータを確認することになりますが、Web系のSRE的なエンジニアとしてはやはり業界標準の技術で可視化したいところです。 また、iOSアプリを開発するのは専門知識が必要となり非常に骨が折れる作業です。そもそもMacがないとできないですし。 そこで、今回は Apple Watchのヘルスケアデータを 全自動で良い感じにデータベースに保存し Grafa

                                                                          ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜
                                                                        • Polyfill supply chain attack hits 100K+ sites

                                                                          by Sansec Forensics Team Published in Threat Research − June 25, 2024 The new Chinese owner of the popular Polyfill JS project injects malware into more than 100 thousand sites. Update June 28th: We are flagging more domains that have been used by the same actor to spread malware since at least June 2023: bootcdn.net, bootcss.com, staticfile.net, staticfile.org, unionadjs.com, xhsbpza.com, union.m

                                                                            Polyfill supply chain attack hits 100K+ sites
                                                                          • Building a highly-available web service without a database

                                                                            If you’ve ever built a web service or a web app, you know the drill: pick a database, pick a web service framework (and in today’s day and age, pick a front-end framework, but let’s not get into that). This has been the case for several decades now, and people don’t stop to question if this is still the best way to build a web app. Many things have changed in the last decade: Disk is a lot faster

                                                                              Building a highly-available web service without a database
                                                                            • Feedly + ChatGPTで、毎朝 自分専用のポッドキャストを自動生成する仕組みを作った|鈴木慎吾 / TSUMIKI INC.

                                                                              毎朝、デザイン系の英語記事を10件ほどおすすめしてくれるSlackボットです。このボットは現在も問題なく稼働し続けていますが、毎朝のニュースは文字で読むよりも音声として聞いたほうが負担が少なく続けられそうです。 そこで、このSlackボットを拡張して、毎朝デザインニュースのポッドキャストを自動生成する仕組みを作ることにしました。 成果物はじめに成果物について。完成したポッドキャストは毎朝SpotifyとApple Podcastで配信しています。 おおまかな処理の流れ開発前に想定した処理の流れは以下の通りです。 毎朝ポッドキャストが自動で配信される理想的なフロー自分はコンテンツ制作者ではなく、あくまでリスナーというスタンスを取りたいため、ワークフローに自分が介在しない完全自動化が理想です。 ところが、Sound Cloud APIの利用に必要なアプリケーション登録の受付が現在停止しているこ

                                                                                Feedly + ChatGPTで、毎朝 自分専用のポッドキャストを自動生成する仕組みを作った|鈴木慎吾 / TSUMIKI INC.
                                                                              • とほほのPowerShell入門 - とほほのWWW入門

                                                                                ブレークポイントを設定してスクリプトをデバッグすることもできます。デバッガを使用するにはスクリプトをファイルとして保存し、下記の様にポリシー変更する必要があります。 Set-ExecutionPolicy -Scope CurrentUser ExecutionPolicy: RemoteSigned キーワード 言語としては下記のキーワードが定義されています。 変数 変数($xxx) 変数は $変数名 で表します。 $Name = "Yamada" Write-Output "My name is $Name." 変数の値を削除するには Clear-Variable を使用するか、値 $null を設定します。変数を削除するには Remove-Variable または Remove-Item を使用します。 Clear-Variable -Name a # 値をクリア $a = $nul

                                                                                • fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog

                                                                                  TL;DR あるリソースの fetch 中にページ遷移すると、一部ブラウザでは fetch が中断される 中断されると、TypeError が throw される ページ遷移時は、ブラウザによって遷移前のページの実行が"停止"され、"捨てられる"ので、通常 throw された後のことは考えなくて良い しかし、そのページが Back/Forward Cache から復元されうるなら、話は別 ブラウザバックすると、エラーが throw された後からページが再開される!!! そして発生する、奇妙な現象の数々... はじまりは、あるサービスの不具合報告 ある日、「Webサービスから外部サービスにページ遷移した後、ブラウザバックで戻ると、エラー画面が表示される」という不具合が報告された。どうも Webサービスの ErrorBoundary で何かしらのエラーが catch され、それによってエラー画

                                                                                    fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog