At: PHPerKaigi 2023 ( https://phperkaigi.jp/2023/ ) Track A DateTime: 2023/3/25 10:20 (40min) Speaker: uzulla
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
TypeScriptアドベントカレンダーの12/5のエントリーです。昨日は@nanasi-1さんの【TypeScript】ジェネレーターによる遅延評価でフィボナッチ数列を生成するでした。 イマドキのJavaScriptの書き方2018というのを以前書いたのだけど、配列周りはかなり変わっているな、というのを思ったので、そこの部分だけアップデートするつもりで書いてみました。 実環境で使えるECMAScriptバージョン今時のブラウザは常に最新に更新されるはずなのでECMAScript 2024の機能もフルに使えるはずですが、おそらくNode.jsのLTSが一番古いJavaScriptエンジンということになるのかな、と思います。本記事執筆時点でサポート中のバージョンは以下の4つです。軽くメソッドを調べたりした感じ、こんな感じかと。202x年の11月ぐらいになると、ES202xがLTSバージョンで
こんにちは。福岡オフィスエンジニアの @petamoriken です。趣味でFloat16Arrayのponyfill1を公開しECMAScriptに入れてもらうように活動していたところ、喜ばしいことに2023年5月のTC39会議にてStage 3となりました。折角なのでその経緯を書いていこうと思います。 ECMAScript excitement 😉@TC39 advanced these proposals this week 🎉 4️⃣ Atomics.waitAsync 4️⃣ RegExp v flag 4️⃣ Well-Formed Unicode Strings 3️⃣ Decorator Metadata 3️⃣ Float16Array 2️⃣ Base64 for Uint8Array 2️⃣ Promise.withResolvers 2️⃣ TimeZone C
はじめに みずほリサーチ&テクノロジーズの @fujine です。 Pythonのリストってとても便利ですよね。可変長で任意のオブジェクトを保存できるため、シーケンシャルなデータなら何でもリストで実装したくなる気持ち、分かります。 でもちょっと待ってください!リスト以外にも便利なコレクション型があること、ご存知でしょうか?コレクション型を適切に使い分けることで、 プログラムの意図を(ドキュメントに頼らなくても)読み手に的確に伝えられる パフォーマンスが向上する などの効果が期待できます。 そこで本記事では、Pythonの組み込み型や標準ライブラリを対象に、リストと似たコレクション型をどのように使い分けるか?の案をフローチャート化しました。それぞれの特徴や使い方を、次章にて解説していきます。 用語の整理 先に、解説で使用する用語をざっくり整理します。 コレクション(Collection)型
Haskellのカレンダー | Advent Calendar 2023 - Qiita 3日目の記事です。 Haskell の Array (配列) について書こうと思います。Haskell の Array は索引が型クラスの Ix で抽象化されているため、特に配列の次元を拡張する際に柔軟性がありとても便利です。 そんな便利な Array ですが、もともと Haskell はリスト操作が強力ということもあってか、既存の参考書をみても Array の解説はほんの少しにとどまっているか、解説がないことがほとんどです。 Array が必要になる場面の多くは「リストだと !! によるインデックスアクセスで O(n) になってしまい間に合わない」という場面が多いと思います。しかし Haskell にはインデックスアクセスが O(1) の Vector (vector: Efficient Arra
ダイニーで一番若いエンジニアのriya amemiya(21歳)です。 タイトルの通り、V8の Array.prototype.flat(以下 flat)を高速化しました。 パッチはこちらです。 最初のコミットから約1ヶ月、やりきりました。 Chrome 147(V8 14.7)でリリースされます。 本稿では、どのようにして flat を高速化したのか、その過程を備忘録的に残します。 TL;DR V8の Array.prototype.flat を2パス方式で高速化しました。 第1パスで結果配列の正確な長さとElementsKindを事前計算し、第2パスで1回のメモリ確保と直接書き込みを行います。 メモリ割り当て: O(log n)回 → 1回 要素書き込みコスト: 直接書き込みでオーバーヘッド激減 ElementsKind遷移: ゼロ そもそも何でこのパッチを出したのか ある日、Xのタイ
初期化せずに初期化する。一見矛盾しているようにしか思えない行いはしかし、生配列の場合は次のように初期化しながら初期化しないことによって行うことができます int main() { int array_uninit[5]; // 各要素は未初期化 int array_zeroinit[5]{}; // 各要素は0で初期化 } この時std::arrayで同様に初期化しながら初期化しないことを行うにはどうすればいいのでしょうか?クラス型の場合、初期化をしない初期化(デフォルト初期化)の場合でもデフォルトコンストラクタが呼ばれてしまうため、なんとなくできないような気がしてしまいます。 先に結論を書いておくと、生配列と全く同様の書き方によって全く同様の初期化を行うことができます。 int main() { std::array<int, 5> array_uninit; // 各要素は未初期化 s
はじめに こんにちは。kouです。 前回の記事を書いてから2年が経ちました。🤔 現在自分が開発に携わっている マナリンク では、バックエンドにLaravelを使用しています。 今年に入ってから、PHPStan(PHPの静的解析ツール)が導入されることとなり、現在はレベル6で運用に載っています。 PHPStanのレベルが6に上がったことを受けて、型宣言周りをより詳細に書く必要が出てきました。 PHPでは、配列の型を言語仕様レベルではarray型としか書くことができず、それが数値の配列なのか、オブジェクトの配列なのか、はたまた連想配列なのかをこの型自体から読み取ることは難しいため、「この引数(あるいは返り値)のarray型は何が来るんだ?」という思いを抱いたことがある方は多いかと思います。 例に漏れず自分もその一人であり、今後PHPStanのレベル6(もしかしたらそれ以上)の中で開発を進めて
JavaScriptにおいて、ある配列をもとにして別のオブジェクトを作成する場合、Array#reduceを使用することが多い。 const input = ['foo', 'bar', 'baz']; const result = input.reduce((accumulator, currentValue) => { accumulator[currentValue] = capitalize(currentValue); return accumulator; }, {}); assert.deepStrictEqual(result, { foo: 'Foo', bar: 'Bar', baz: 'Baz' }); しかし例のように、単にキーと値の組み合わせにマッピングするだけなら、あえてArray#reduceを使うまでもない。代わりにObject.fromEntriesを使え
Quickstart | Installation | Documentation | Examples MLX is an array framework for machine learning on Apple silicon, brought to you by Apple machine learning research. Some key features of MLX include: Familiar APIs: MLX has a Python API that closely follows NumPy. MLX also has fully featured C++, C, and Swift APIs, which closely mirror the Python API. MLX has higher-level packages like mlx.nn an
G-gen の杉村です。BigQuery は通常の運用データベースと異なり、分析用データベースであることから、非正規化したテーブルを扱うことが多くなります。そのための独特のデータ型として、ARRAY (配列) と STRUCT (構造体) があります。これらについて解説します。 概要 ARRAY (配列) ARRAY とは サンプルテーブル SELECT SELECT 〜 WHERE SELECT 〜 CROSS JOIN SELECT (SELECT ~ UNNEST) CREATE TABLE / INSERT 制限 STRUCT (構造体) STRUCT とは サンプルテーブル SELECT SELECT 〜 WHERE CREATE TABLE / INSERT 制限 ARRAY<STRUCT> (ネストされた繰り返し列) ARRAY<STRUCT> とは サンプルテーブル SEL
const fruits = ['Apple', 'Banana', undefined] const result = fruits.filter(x => x !== undefined) // const result: (string | undefined)[] console.log(result) // ['Apple', 'Banana'] このように、resultという変数にundefinedがない状況でもfilterを使用した場合は型が絞られませんでした。 Javascriptに慣れてきて、TypeScriptに足を踏み入れた頃は本当にここで躓きました、、 それが近い未来、変わるかもしれません。 これからのfilter const fruits = ['Apple', 'Banana', undefined] const result = fruits.filter(x
The Array.prototype.includes function allows searching for a value within an array. If this value is present, the function returns true! How handy! Of course, TypeScript has proper typings for this JavaScript functionality. However, in certain cases, the typings can bite a little. The reason? It’s complicated! Let’s find out why. Take this little snippet for example. We create an array called acti
BigQuery(BQ) is very useful for data analysis or processing.It is good for handling huge data.It returns summary result in short time. BQ has one useful data format "array". When we consider array as vector, we may want cosine similarity of vectors. So how can we get cosine similarity ? So today I introduce about "How to calculate cosine similarity of array in BigQuery". What is cosine similarity
何日まで続くかなぁ。 初日は Array Grouping の名前を巡る問題についてです。 Array Grouping とは Array Grouping は現在 Stage 3 のプロポーザルで、Lodash の groupBy に相当するものを ECMAScript に導入するプロポーザルです。 プロポーザルのリポジトリは https://github.com/tc39/proposal-array-grouping にあります。 このプロポーザルは Array.prototype.group と Array.prototype.groupToMap というプロトタイプメソッドを追加します。これらのメソッドは具体的には次のように使われます。 const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const fn = (number) =>
Rubyを書いていると、「Array(配列)をHash(ハッシュ)に変換したい」という場面は意外と多く出てきます。 例えば、APIレスポンスを加工してキーと値を対応付けたいとき、集計結果を整理したいとき、Railsでフォーム入力を扱うときなど。 しかし、一口に「配列からハッシュを作る」と言ってもやり方はいくつもあり、どれを選ぶかでコードの読みやすさや意図の伝わり方が大きく変わります。 この記事では、Ruby標準の機能からRails拡張メソッドまで、ArrayからHashを作る代表的な方法を体系的に紹介します。 「どの方法を使えばよいのか?」が自然に判断できるようになることを目指します。 [key, value] ペアを要素とするArrayをHashに変換する もっとも基本的なパターンです。 Arrayの各要素が [key, value] のペアで構成されている場合、Ruby標準の Arra
Join Temani Afif on experiment with modern CSS features to create an array of colors. The goal is to define a comma-separated list of colors and iterate through them using an index. CSS is mainly known as a language based on a set of property-value pairs. You select an element, define the properties, and write styles for it. There’s nothing wrong with this approach, but CSS has evolved a lot recen
JPCERT-AT-2023-0020 JPCERT/CC 2023-09-14(新規) 2023-09-22(更新) I. 概要JPCERT/CCでは、2022年5月以降、サイバーセキュリティ協議会の活動などを通じて、Array Networks Array AGシリーズの脆弱性を悪用したと思われる複数の標的型サイバー攻撃を断続的に確認しています。後述のとおり、複数の攻撃グループ/攻撃活動が本製品の脆弱性を悪用していると考えられ、また、国内のみならず海外拠点も標的となっているため、自組織の海外拠点における対策や侵害有無の調査も推奨します。 攻撃活動が確認され始める前後および期間中には、本製品において、次の脆弱性が公表および修正されています。 - CVE-2022-42897(2022年4月公表、2022年9月修正) - CVE-2023-28461(2023年3月公表、2023年3月修正
With the release of Ruby 4.0.0 on Christmas, I decided to revisit integer handling bugs within Ruby MRI, the canonical implementation of the Ruby programming language. This lead me to discover a vulnerability which allows reading memory out of bounds of the allocated string buffer. Although memory disclosure vulnerabilities have a serious impact, it is important to note that affected method is rar
This blog post is about the ECMAScript proposal “Array.fromAsync for JavaScript” by J. S. Choi. It introduces a static method for converting asynchronous iterables to Arrays. Tools for working with synchronous iterables # Currently JavaScript provides several tools for working with synchronous iterables – for example: function* createSyncIterable() { yield 'a'; yield 'b'; yield 'c'; } // Array-de
BigQueryのSQLについて、ドキュメントを読んだり実験したりしながら挙動を解き明かしていこうと思います。第4回はARRAYとSTRUCTについて紹介します。 今回扱う型ARRAYSTRUCTARRAY型ARRAY型は決まった要素型をもつ可変長の配列です。たとえば ARRAY<INT64> は整数の配列を意味します。 これだけで済むなら話は簡単なのですが、ARRAY型の意味論を考えるにあたっては以下の制約が重要になります。 ARRAYのネストARRAYとNULLの関係ARRAYのネストARRAYをARRAYの要素型にすることはできません。したがって、 ARRAY<ARRAY<INT64>> は無効です。 ただし、間にSTRUCTを挟んで ARRAY<STRUCT<ARRAY<INT64>>> とすることはできるため、表現力の観点からはARRAYのネストは可能ともみなせます。 ARRAY
Methods for Array Initialization in Rust 2018-12-22 Arrays in Rust are fixed size, and Rust requires that every element in an array is initialized to a valid value when the array is initialized. The result of these requirements is array initialization in Rust is a much deeper topic than it would seem. Array Literals let _: [u8; 3] = [1, 2, 3]; let _: [&str; 3] = ["1", "2", "3"]; let _: [String; 3]
最近、配列に対して呼び出すことができる、相互運用可能な新しいメソッドがブラウザに導入されました。 Array.prototype.with()。 対応ブラウザ <ph type="x-smartling-placeholder"></ph> 110 回 <ph type="x-smartling-placeholder"></ph> 110 回 <ph type="x-smartling-placeholder"></ph> 115 <ph type="x-smartling-placeholder"></ph> 16 ソース この記事では、このメソッドの仕組みと、このメソッドを使用して配列を更新する方法について説明します。 コピーされます。 Array.prototype.with(index, value) の概要 Array.prototype.with(index, value)
はじめに 自分用に、Array操作で破壊的なのか非破壊的なのかまとめとこうと思い、備忘録で残します〜! 誰かの参考になれば幸いです。 そもそも破壊的?非破壊的?ってなに JavaScriptのArrayメソッドには、破壊的メソッドと非破壊的メソッドがあります。違いは、元の配列に変更を加えるかどうかです。 破壊的メソッド 破壊的メソッドは、元の配列を変更します。これらのメソッドを使用すると、配列の要素が追加、削除、または変更され、配列の状態が変わります。 非破壊的メソッド 非破壊的メソッドは、元の配列を変更しません。これらのメソッドを使用しても、元の配列の状態はそのまま保たれます。代わりに、新しい配列が生成されたり、特定の値が返されたりします。 破壊的メソッドと非破壊的メソッドを適切に使い分けることで、配列操作を効果的に行うことができます。 元の配列の状態を保持したい場合は、非破壊的メソッド
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Array columns | Fractaled Mind 原文公開日: 2023/09/12 原著者: Stephen Margheim -- フルスタックRails開発者であり、RailsのSQLite強化作業の中心人物です。Rails 8+SQLiteによる学習動画サイトHigh Leverage Railsを主催しています。 参考: Rails 8はSQLiteで大幅に強化された「個人が扱えるフレームワーク」(翻訳)|YassLab 株式会社 日本語タイトルは内容に即したものにしました。 Ruby on RailsアプリケーションでSQLiteを使うのをためらう理由の1つに、 PostgeSQLやMySQLで慣れ親しんだ特定の機能が使えなくなるのではないかという不安があると思います。 過去記事で説明したように、SQLit
JAX is a Python library for accelerator-oriented array computation and program transformation, designed for high-performance numerical computing and large-scale machine learning.
ECMAScript proposal “Change Array by copy”: four new non-destructive Array methods This blog post describes the ECMAScript proposal “Change Array by copy” by Robin Ricard and Ashley Claymore. It proposes four new methods for Arrays and Typed Arrays: .toReversed() .toSorted() .toSpliced() .with() The new methods are for Arrays and TypedArrays # This blog post only demonstrates the new methods with
BigQuery(BQ) is very useful for data analysis or processing. It is good at handling huge data. It returns summary result in short time. BQ has one useful data format array. It can handle multiple data like [1,2,3] in 1 row. But how can we create array data from column data. So today I introduce about "How to convert BigQuery column to array".
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く