kndkndkndのブックマーク (2,398)

  • 【令和最新版】令和のWebスクレイピング(クロール)【ベストプラクティス】

    こんにちは、株式会社FP16で結構コードを書いている二宮です。 最近Webスクレイピングのコードを色々な方法で書いているので、そこで得た知見をここに残しておこうと思います。 ほぼ毎日なにかのWebスクレイピングコードを書いています。 Webスクレイピング手段 Webスクレイピングには色々な方法があります。 私が最近主に使っているのはこの5つの手段です。 cheerioでHTMLを解析 Playwrightなどで要素指定でデータを取得する APIを見つけて叩く(バックエンドとの通信を再現してデータを取得) LLMでサイト構造を解析してデータを取得する Next.jsからのレスポンスに含まれているデータを解析して取得する これが令和のWebスクレイピングのベストプラクティスだと思っています。 これらの方法を、目標に合わせて使い分けています。 使い分け方 CheerioでHTML解析 JavaS

    【令和最新版】令和のWebスクレイピング(クロール)【ベストプラクティス】
    kndkndknd
    kndkndknd 2024/09/28
  • Markwhen

    A markdown-like journal language for plainly writing  logs ,  gantt charts ,  blogs ,  feeds ,  notes ,  journals ,  diaries ,  todos ,  timelines ,  calendars  or  anything that happens over time .

    kndkndknd
    kndkndknd 2024/09/26
  • Remix は RSC にどう対応するのか

    Previous slideNext slideToggle fullscreenOpen presenter view Remix は RSC にどう対応するのか @mizchi Remix Tokyo 2024/09/25 About https://x.com/mizchi Node.js とフロントエンドの専門家 100万円*達成率で御社のフロントエンドの高速化をやります Remix は cloudflare-pages で動くから好き そろそろ Remix で RSC したくない? export default async function MyPage() { const data = await fetch('/api/data') return <div>{JSON.stringify(data, null, 2)}</div> } 非同期関数コンポーネントで非同期データ解

    kndkndknd
    kndkndknd 2024/09/25
  • 時雨堂 WebRTC 入門 (講師資料) v2024-02

    learning-webrtc_2024-02.md 時雨堂 WebRTC 入門 (講師資料) v2024-02 これは時雨堂が 2024 年 2 月 8 日 (木) 14:00-18:00 で開催を予定しているオンラインイベント WebRTC 入門 v2024-02 の 講師用 の資料であり、 参加者用の資料ではありません。 時雨堂 WebRTC 入門 オンラインイベント v2024-02 概要 ChatGPT がある今、学ぼうと思えば好きなだけ学べる時代がきています。 ただ「正しい情報」をなんとなく知っている事はとても重要だと考えています。 進め方 今回の WebRTC 入門はまず最後まで大まかに話をしていきます。 その後、残り時間を利用して、細かく話をしていきます。 資料表示用の画面と iPad を画面共有してホワイトボード的な使い方をしていきます。 お願い 是非 Discord

    時雨堂 WebRTC 入門 (講師資料) v2024-02
  • 2024/09/16〜2024/09/22の最新情報

    Deno 2.0 Release Candidate#Denoの公式ブログでDeno v2.0.0のRCバージョンについての解説記事が公開されています。 Deno 2.0 Release Candidate今までリリースされたv2.0.0のRCバージョンで行われた変更点について解説されています。 Deno v2.0.0-rc.3/v2.0.0-rc.4#Deno v2.0.0-rc.3とv2.0.0-rc.4がリリースされています。 v2.0.0-rc.2からv2.0.0-rc.3までのコミットv2.0.0-rc.3からv2.0.0-rc.4までのコミット破壊的変更#deno add#deno addでJSRパッケージを追加する場合にjsr:プレフィックスの指定が必須になりました: $ deno add @david/dax error: @david/dax is missing a p

    2024/09/16〜2024/09/22の最新情報
    kndkndknd
    kndkndknd 2024/09/23
  • HTTPie – API testing client that flows with you

    If you're in need of a great CLI tool to use with HTTP servers, RESTful APIs, and web services you're in luck. HTTPie from @jakubroztocil is the perfect solution 🤗 Part of December's #GHReleaseRadar https://httpie.org

    HTTPie – API testing client that flows with you
    kndkndknd
    kndkndknd 2024/09/23
  • Parquetフォーマット概観 - 発明のための再発明

    Parquetは便利なファイル形式で、列志向のフォーマットとしてはデファクトの1つと言っても過言ではないでしょう。 ですが、jsonやcsvとは違い、ファイルを見ただけでどんな構造かわかるものではありません。 この記事は、Parquetの具体的な構造について記述します。 はじめに この投稿は、Parquetの構造について、バイナリを見ながら確認するものです。 ただし、Parquetの大枠に注目した投稿なので、delta encodingやrun-lengthなど、個別の圧縮方法については取り扱いません。 ※ Parquetの作成には https://github.com/parquet-go/parquet-go を使用していますが、goの知識は必要ありません tldr Parquetは以下の構造を持っています。 ファイルはRowGroupとメタデータに分かれている RowGroupの中に

    Parquetフォーマット概観 - 発明のための再発明
  • vercel ai で書き捨ての Deno CLI を書き直した (OpenAI, AnthropicAI, Google Gemini)

    Claude or ChatGPT + Tools やモデルの組み合わせで対応パターンが膨大で面倒だったのを、 Deno + ai-sdk(Vercel) で書き直したらだいぶ楽になった。 この辺を参照した。 OpenAI と AnthropicAI の Tools の叩き方を確認したが、 Gemini はそこを省いている。 前提 まず、 AI 周りの CLI ツールは専用の面倒臭さがあることを知っておく必要がある。 ストリーミング Tools の応答 AI 周りの応答をストリーミングするのは LLM 関係なくストリーミング処理を大量に書く必要がある。 ストリーミング処理は WebSocket や WebWorker 周りのAPIハンドルと同じノウハウが必要になる。別に難しくはないが、既存の Promise 抽象に当てはまらないので、都度考えることになり、だるい。 Tools の応答は、A

    vercel ai で書き捨ての Deno CLI を書き直した (OpenAI, AnthropicAI, Google Gemini)
    kndkndknd
    kndkndknd 2024/09/22
  • Meet CoSo, Splice’s music creation surface for instant inspiration - Blog | Splice

    kndkndknd
    kndkndknd 2024/09/22
  • プログラマ vs AI 生存競争

    Previous slideNext slideToggle fullscreenOpen presenter view プログラマ vs AI 生存競争 mizchi NextBeat 第一回プログラミング教育について語る会 About https://x.com/mizchi Node.js とフロントエンドの専門家 100万*達成率で御社のフロントエンドの高速化をやります 話したいこと 今一度、共同作業者・競争相手としてAIを見直す 「俺達はAIに勝てるのか?」 2024/09 (chatgpt o1-preview) の世界観 AI ≒ LLM 背景 機械学習はにわか。主にユーザー目線 前職: 非エンジニア向けコード生成パイプラインのR&D 大学の研究室で教育工学を少し(暗黙知記述、オントロジー) もう一度向き合う プログラマ vs AI プログラマ vs AI 建前 「AI は人

  • macOS native

    watchOS, iOS, iPadOS, そしてmacOSの4つのプラットフォームで動作するアプリを開発するにあたり、主にデータレイヤーとUIレイヤーで苦労したことや工夫した点についてお話します。具体的にはCore Data、CloudKitSwiftUI、WidgetKitなどについての知見を共有します。またWWDC23で発表されたSwiftDataやCKSyncEngine、SwiftUIの新機能などについても紹介します。

    macOS native
    kndkndknd
    kndkndknd 2024/09/22
  • プログラマじゃない人でもAI対話用にJSONを学ぶのが最高効率という提案

    この文章はプログラマじゃない人向けに JSON を知ってもらうメリット、とくにAIとの効率的な対話方法を説明し、そしてあわよくばプログラマとも JSON の水準で会話してもらえたら嬉しい…というものです。 あなたは誰 UI を作るのが専門のエンジニアです。 エンジニア以外が使うノーコードのエディタを作ったりしてました プログラマじゃない人が JSON を知る利点 プログラマとして、プログラマじゃない人向けのノーコードなどを作っていたんですが、わかったことがあります。それは、「抽象的なロジックを記述するには訓練が必要だが、眼の前のデータとUIに対応したものは簡単に変更・記述できる」ということです。 自分の考える、もっとも成功したノーコードエディタこと Google Form JSON はよく知られているデータを記述する方法の一つです。特定の言語などとは関係ありません。 で、今現在 JSON

    プログラマじゃない人でもAI対話用にJSONを学ぶのが最高効率という提案
    kndkndknd
    kndkndknd 2024/09/18
  • 【Zenn最速】Microsoft 365 Copilot Wave 2 アップデートの要点解説✍【急に進化しすぎやろ】

    はじめに 日2024年9月17日、日時間深夜にMicrosoft 365 Copilot Wave2 という形で、Copilotに関する最新アップデートが発表されました。(個人的には、結構謎なタイミングでの発表でしたが、先日のOpenAIのo1モデル発表に合わせてきた感じでしょうか) 詳しくは以下のブログまたは発表動画をご覧ください。 この記事では、「Microsoft 365 Copilot Wave 2」についての内容の要点をつらつらとメモしつつ解説してみました。 1. Microsoft 365アプリでのCopilotの強化 a. ExcelにおけるCopilotのアップデート Pythonとの統合 Copilot in Excel with Pythonを導入。これにより、データ分析の経験がないユーザーでも自然言語で高度なデータ分析が可能になります。これにより、以下のような高度

    【Zenn最速】Microsoft 365 Copilot Wave 2 アップデートの要点解説✍【急に進化しすぎやろ】
    kndkndknd
    kndkndknd 2024/09/18
  • Mac やめて Linux PC を自作した - IT戦記

    みなさまお元気ですか 暑さも少し落ち着いてきて、ようやく外に出てもいいかなという気になってきました。季節の変わり目体調には気をつけていきたいですね。 実は、一ヶ月くらい前に Linux PC を自作して Mac から移行しました。そのときの考え、その後の感想を残しておきます。 また、学んだことや作業のログを細かく残しておきたいと思います。(どこかの誰かが不安に思ったときに同じ失敗や疑問を経験した人がいて安心してもらえたら嬉しい) Ubuntu のインストール画面 (ベストオープンソースと開発しよう!) 目次 Mac をやめるきっかけ、経緯 Ubuntu に移行して一ヶ月の感想 おまけ1: どのような PC になったか おまけ2: 事前に学んだこと おまけ3: PC の組み立て おまけ4: Ubuntu のセットアップ 加筆/修正 指摘のあった誤字を修正 NVEnc について誤った内容があっ

    Mac やめて Linux PC を自作した - IT戦記
  • PythonとVOICEVOXで音声合成

    VOICEVOXとPython VOICEVOXは、公式いわく”無料で使える中品質なテキスト読み上げソフトウェア”とのことです。中品質と書いてありますが、過去に使っていたOpen JTalkよりかなり高品質な気がします。Open JTalkに関する記事は以下です。 とりあえず試してみる分には簡単です。以下サイトに行くと、Windows/Mac/Linuxそれぞれのバイナリがダウンロードできます。 起動すると、以下のような画面が出ます。 小さいアイコンをクリックするとキャラが変えられます。色々しゃべらせてみると、もうこれだけで楽しくて便利です。 このVOICEVOXですが、公式GitHubサイトによると、以下の図のようにコア部分は、MITライセンスでOSSとして提供されています。Pythonバインディングもあるので、手軽にPython音声合成ライブラリとして使えます。素晴らしいですね。 上

    PythonとVOICEVOXで音声合成
    kndkndknd
    kndkndknd 2024/09/16
  • 『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself

    RustのWebアプリケーション開発に関する書籍を共著で執筆しました。1年くらい執筆していましたが、出版時期などが定まってきたので内容の紹介を込めて告知の記事を書きます。9/26刊行予定です。予約よろしくお願いします。 RustによるWebアプリケーション開発 ↓AmazonのURL(アフィリエイトなし) www.amazon.co.jp 数年前に書籍を執筆した際に、「次はWebアプリケーションの実装に関するを書きたい」と記事に書き残していたのを今見つけたのですが、有言実行できたようです。 どんなか? Rustってバックエンド開発に向いてるの? 著者について 目次とトピックの簡単な紹介 はじめに 第1章 書で開発するアプリケーション 第2章 開発環境の構築 第3章 最小構成アプリケーションの実装 第4章 蔵書管理サーバーアプリケーションの設計 第5章 蔵書管理サーバーの実装 第6章

    『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself
    kndkndknd
    kndkndknd 2024/09/15
  • 資料生成AI「Napkin」がマジすごすぎる。

    以下の記事などで既にかなり話題になっていますが、ぼくも触ってみました(使い方などの詳細はこちらの記事を参照してください)。 結論としては、マジすごくてかなり衝撃的です。すべてのホワイトカラーワーカーにとって、かなりディスラプティブなツールになるのではないでしょうか。 自分はコンサルタントでして、これまでにたくさんの資料を作ってきてスキルを磨いてきたつもりだったので、AIポン出しでここまでのものが出てきてしまうと、正直、人生について考えさせられちゃいますね。 この記事では、Napkinを使ってどういう資料ができたのか共有したいと思います。 ポストモーテムの勉強会をしたいなと思っていたので、まずはChatGPTで資料の骨子を出力し、それをNapkinに入力してみました。それで得られたのが、以下の資料です。 スライド1: タイトルスライド タイトル: ポストモーテムの教科書 副題: SREにおけ

    資料生成AI「Napkin」がマジすごすぎる。
    kndkndknd
    kndkndknd 2024/09/15
  • Vimで使っている簡単キーマッピングたちを共有

    この記事はVim駅伝の2024-09-13の記事です。 前回の記事はryoppippiさんのNeovimで記録したマクロを後から編集するです。 次回の記事はyuys13さんのNeovimのコメンティングプラグインの選び方です。 筆者がVimの設定ファイルに定義しているキーマッピングの中から、簡単に書けるものをいくつか紹介します。 1行書けばVimが便利になるようなものを集めました。 どれも外部プラグインや複雑な関数は必要ありません。 Yで行末までコピー 有名なので既に使っている方も多いとは思いますが紹介。 デフォルトのマッピングでは、以下の機能が割り当てられています。 cc:行全体を編集 C:行末まで編集 dd:行全体をカット D:行末までカット yy:行全体をヤンク Y:行全体をヤンク Yだけちょっとずれているんですよね。そもそもyyと機能が被ってしまっています。 「行末までヤンク」にマ

    Vimで使っている簡単キーマッピングたちを共有
    kndkndknd
    kndkndknd 2024/09/15
  • 人生3回目のCSVエディタを作っている話

    私は今、人生で3回目のCSVエディタを作っています。もはや狂気です。 なぜ作り始め、なぜ今また作り直しているかみたいな話を書きたいと思います。 About Me 株式会社ヘンリーでソフトウェアエンジニア & アーキテクト的なことをしつつ、個人開発してます。 Social accounts: kohii on GitHub @kohii00 on X 今までに作ったCSVエディタたち 初代SmoothCSV(2011年〜) 私は新卒で入った会社で公共系のシステム開発に従事しており、CSVを扱う機会が多くありました。(今は医療スタートアップにいますがこの業界もよくCSVが現れます。) 既存のCSVエディタをいろいろ試してみたのですが、どれも求めるものと違うと感じ自分で作るしかないと思い、作りました。 SmoothCSV。時代を感じるUI Java / Swingで作成 (当時Javaくらいしか

    人生3回目のCSVエディタを作っている話
    kndkndknd
    kndkndknd 2024/09/15
  • Cloudflare PagesにそれなりにちゃんとBasic認証をかける | おそらくはそれさえも平凡な日々

    前回の、社内プライベートポッドキャスト実現方法で、ポッドキャストサイトを静的配信しつつBasic認証をかけるというアイデアを書いた。しかし、Basic認証などなかなか使わなくなり、ネイティブでサポートしている静的ホスティングサービスも少ない。今回はCloudflare PagesのFunctions機能でリクエストをラップするミドルウェアを書けば実現できることが分かり、その方式を採用することにした。多少実装必要になるのと、認証周りを自前で書くのはあまりやりたくはないが、廉価に比較的省力で実現できるので受け入れる。 ネット上にいくつかサンプルは見つかるが、今回実装するにあたっては以下の点を留意した。 コード内に認証情報を載せない 複数ユーザーのIDとパスワードを管理できるようにする パスワードは定数時間比較してタイミング攻撃を防ぐ これらを以下のように解決することとした。 認証情報は環境変数

    Cloudflare PagesにそれなりにちゃんとBasic認証をかける | おそらくはそれさえも平凡な日々