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
最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ
こんにちは、hachi8833です。最近PEG(Parsing Expression Grammar)という形式言語で遊んでいます。正規表現に似ているせいか、私にとっては楽しいおもちゃです。 PEGについて 参考: Parsing Expression Grammar - Wikipedia PEGについて詳しくはWikipediaに譲りますが、PEGで仕様を記述して、それをPEGパーサージェネレータで変換するとパーサー(parser: 構文解析器)のコードを生成できます。 参考: 構文解析器 - Wikipedia Wikipediaにはさまざまな言語用のPEGパーサージェネレータが紹介されています。私の場合は、以下のpointlander/pegという、Go言語用のPEGパーサージェネレータを使っています。 自分にとってPEGは、正規表現ですべてに名前(ルール名)を付けて書いているよう
2021.06.11 はじめての正規表現とベストプラクティス10: 危険な「Catastrophic Backtracking」前編 1: 基本となる8つの正規表現 2: 正規表現とは何か/ワイルドカードとの違い 3: 冒頭/末尾にマッチするメタ文字とセキュリティ、文字セットの否定と範囲 4: 先読みと後読みを極める 5(特別編)|と部分マッチのワナ 6: 文字セットのショートハンド 7: Unicode文字ポイントとUnicode文字クラス 8: 対象の構造を意識した「適度にDRYな」書き方 9: .*や.+がバックトラックで不利な理由 10: 危険な「Catastrophic Backtracking」前編(本記事) 主にRubyを中心としながらも、なるべく一般的な形で正規表現を解説しています。誤りやお気づきの点がありましたら@hachi8833までどうぞ🙇。 きっかけ 以下の記事の
はじめに 正規表現は様々なプログラミング言語で利用されている、テキスト処理のためのパターン言語です。 正規表現はテキストエディタでの検索や置換、入力文字列のバリデーションなどプログラミングの様々な分野で実用されています。 ある程度の規模のプログラムにおいて、正規表現を全く利用しない (利用していない) ということはほとんど無く、正規表現は今日のプログラミングにおいて非常に重要なパーツだと言えます。 JavaScriptやRubyといったプログラミング言語では正規表現はファーストクラスのリテラルとして実装されているため、とても簡単に利用できます。 例えば次のRubyプログラミングでは変数fooに入った文字列の部分にfizzかbuzzが含まれるかどうかを、正規表現/fizz|buzz/を使ってチェックしています。 foo =~ /fizz|buzz/ さらに、計算機科学 (コンピューターサイエ
初めまして、テックドクターでフロントエンド開発を担当している大瀧です。 ディレクトリ構成はコードの可読性やスケーラビリティに関わる重要な要素であると思っています。 しかし、フロントエンドのディレクトリ構成はベストプラクティスが確立されておらず、わりと悩むポイントです。 そこで今回は、Next.jsのApp routerにおいて、弊社で採用しているディレクトリ構成を共有します。この記事がディレクトリ構成に悩む開発者の助けになれば幸いです。 ディレクトリ構成の自由度が高すぎる問題 さきほど「フロントエンドのディレクトリ構成はベストプラクティスが確立されていない」と書きましたが、特にApp routerのディレクトリ構成については、公式ドキュメントで以下のように記載されています。 There is no "right" or "wrong" way when it comes to organi
道のり3 続いて 9: If Type(x) is Object and Type(y) is either String or Number, return the result of the comparison ToPrimitive(x) == y. 上に該当します。 ここで、挫折しました。 ToPrimitive(x) が全然分かりません。 しばらく迷子になった後、 以下の記述を Equality comparisons and sameness に出会いました。 ToPrimitive(A) attempts to convert its object argument to a primitive value, by attempting to invoke varying sequences of A.toString and A.valueOf methods on A.
導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 この記事では、曖昧な質問に対する回答の精度を高め、さらに処理速度を大幅に改善した手法「DIVA」について紹介します。 サマリー DIVAは、従来のRAGでは対応が難しかった曖昧な質問に対する精度を向上させつつ、他の同様の手法と比べて精度が高く、回答速度も速い点が特徴です。 DIVAの特徴は主に2つあります。1つ目は質問を複数の形に拡張して、検索の多様性を高める「Retrieval Diversification」。2つ目は、得られた情報の有用性を評価する「Adaptive Generation」というフレームワークを採用している点です。これにより、高速かつ高精度な検索結果を得ることが可能です。 問題意識
はじめに こんにちは。ついにジム通いを始めて四六時中筋肉痛を感じながら過ごしているイワツカです。 最近はLLM(大規模言語モデル)とRAG(検索拡張生成)を用いて企業内ドキュメントを活用する取り組みが多く見受けられます。 ドキュメントは基本PDFで保存されているため、PDFからテキストを抽出して、検索対象にすることが必要です。 そこで今回は、PythonでPDFからテキストを抽出するためのライブラリを比較して、どれが良いのか検証しました。 はじめに 概要 実装 PyMuPDF pdfplumber unstructured 比較結果 テキスト抽出 サンプル1のテキスト抽出結果 サンプル2のテキスト抽出結果 表の抽出 サンプル3の表抽出結果 サンプル4の表抽出結果 検証結果 まとめ 概要 今回はPDF読み取りライブラリとして、PyMuPDF、pdfplumber、unstructuredの3
1980年、東京生まれ。片手袋研究家。町中で見かける片方だけの手袋を研究し続けた結果、この世の中のことがすべて分からなくなってしまった。著書に『片手袋研究入門』(実業之日本社)。 前の記事:架空の留学生を空港に迎えに行く > 個人サイト 片手袋大全 初めての伊豆諸島へ 伊豆諸島にはまって東海汽船の株主になった挙句、遂には三宅島に移住してしまった知人がいる。過剰な人の話はいつでも魅力的だ。彼から伊豆諸島の話を聞いているうち気になってしまい、夏休みに家族で行ってみることにした。 行先に選んだのは式根島。行き方の選択肢は幾つかあるが、私達は東京の竹芝客船ターミナルから夜中に出発する大型のフェリーを選んだ。 二段ベッドが向かい合う特2等室を選んだ 埠頭を出発してからしばらくは、デッキから東京湾の綺麗な夜景を満喫できる。つい数時間前まで仕事をしていたのが信じられないくらい、開放的な気分。この旅、既に
This group is not part of the GNU Project. lwIP is a small independent implementation of the TCP/IP protocol suite that has been initially developed by Adam Dunkels and is now continued here. The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full scale TCP. This makes lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room fo
3Dプリンタでブラシレスモータを作成してみたので、紹介します。 ちなみに、作成動画はYouTubeで公開しているので、ぜひみてみてください〜 とりあえず、3Dプリンタでブラシレスモータを作成するには、CADでモデリングする必要がありますので、Fusion360を使ってモデリングしていきます。 設計したブラシレスモータはエアギャップ型です。構造は小型の風力発電機などでよく使用されるエアギャップ発電機と同じですね。 組み立て前に、パーツを並べてみました。 左から順番に、ハウジング、ロータ、磁石、ステータの枠、回転軸、ベアリング、エナメル線です。12極3相9コイルモータです。 モータの効率を考えると、ロータ部分が鋼板だと磁気の無駄をなくせるんですが、今回は3Dプリンタで作成することに重点を置いているので、鋼板は使用せずに作成していきます。 作成手順は、 ロータにネオジム磁石をエポキシ樹脂系接着剤
こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシでは、クラウドインフラストラクチャに AWS を採用していますが、昨今の円安を受けて円換算での請求額は右肩上がりで増え続けています。サービスの規模や特性に関わらず、パブリッククラウドを利用する多くの日本企業で頭痛の種になっているのではないでしょうか。 円安になる前から継続的にコスト最適化には取り組んできましたが、クイックウィンで実施できるものはやり尽くしており手詰まり感がありました。しかし、我々スタートアップにおいて適正なコストに抑えることはランウェイ(キャッシュ不足に陥るまでの残存期間)を伸ばす意味でも重要なため、現状に甘んじることなく次の最適化ポイントを探していました。 Arm アーキテクチャ移行によるコスト最適化への期待値 AWS は Arm ベースの Graviton プロセッサを開発しており、
株式会社グロービス / Jutaro Numata チームリーダー / SRE / 従業員規模: 501名〜1,000名 / エンジニア組織: 101名〜300名
なんかtweet流れてきたので TypeScriptの型がどれほど強力かというと、コードエディタ上で直接数独ができるほどの複雑な型を作成した方がいるほどです。このSudoku型を使用すると、TypeScriptの型チェッカーが間違いを正確に指摘してくれます。 pic.twitter.com/mCXXjGqK9D— Jeffry Alvarado (@jalva_dev) September 7, 2024 github.com Scala 3のmatch type自体の詳細な説明は省略しますが、compile時計算的なことができて、チューリング完全です https://tarao.hatenablog.com/entry/lambda-scala3 あくまで答えがvalidか?のcheckerだけで、プレースホルダー部分実装してない それも実装しました。下記に貼った 少なくともIntell
Alejandro Colomar, who has been maintaining the Linux man pages for the last four years, has announced that he will have to stop that work. I've been doing it in my free time, and no company has sponsored that work at all. At the moment, I cannot sustain this work economically any more, and will temporarily and indefinitely stop working on this project. If any company has interests in the future o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く