タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
class: center, middle # map / filter などの<br>高階関数よりも<br>古典的な for文の方が<br>読みやすいと感じる<br>あなたへ BuriKaigi 2025 2025/02/01<br> @gakuzzzz --- class: left, top ## 自己紹介 * 中村 学/Manabu NAKAMURA * Twitter: [@gakuzzzz](https://twitter.com/gakuzzzz) * [Tech to Value Co.,Ltd.](https://www.t2v.jp/) CEO * [Alp, Inc.](https://thealp.co.jp/) Tech Lead --- class: left, top ## はじめに 昨今のメジャーなプログラミング言語では、 `map` や `filter`
のように、式を変形してから代入するというテクニックが使えます。 もちろんこの式変形はxとyがどんな実数のときでも成り立ち、特定の値だとうまく行かない、なんてバグはありません。 割り算を含むような式では、「0で割るのは未定義」といったアサーション条件もきっちり定義されています。 数学で習ったたくさんの式たちは、どれをどう組み合わせてもバグがないのです。 プログラミングをしていて、たくさん作ったクラスやメソッドのどれをどう組み合わせてもバグがない状態なんて、ちょっと考えられませんよね。 バグの少ないプログラムを書きたい こんなことを考えてみましょう。 バグのない関数の組み合わせだけで全部の処理が書けるだろうか? 「関数の組み合わせ」と言うのは、 関数Aの返り値を関数Bの引数として渡す という意味です。四則演算もれっきとした関数です。Scalaなんかでは"+"とか"-"もちゃんと標準ライブラリの
いかがでしょうか。 グレー(#808080)に近い色はやや見づらくなってしまっていますが、それ以外はかなり上手く表示できているのではないかと思います。 やり方上記のサンプルは以下のようなCSSで実現しています。 ">Copy <div> <span>hello world!</span> </div> <style> div { background-color: red; } span { color: red; filter: invert(100%) grayscale(100%) contrast(100); } </style> 以上、これだけです。 詳しい解説は後述しますが、colorとbackground-colorに同じ色を設定してから、文字色だけCSSのfilterで見える色に変化させる仕組みです。 なお、divとspanをセットにすると背景色にもフィルターが適用されてし
2024/6/20 TypeScript 5.5が正式リリースしたので追記しました。 TypeScriptの次バージョン5.5で、開発者が長い間求めていた機能がついに実現されました。 従来のTypeScript 5.4以前では、ユーザー定義型ガードを使う際には型述語(用語は後ほど解説します)の記述が必要です。 ▼ TypeScript 5.4 function isNumber(value: number | string): value is number { return typeof value === 'number'; } 2024年6月20日にリリースされたTypeScript 5.5では、関数の実体から型述語の型推論(infer type predicates)が可能になります。すなわち、次のようなコードが可能です。 ▼ TypeScript 5.5
✨ samber/lo is a Lodash-style Go library based on Go 1.18+ Generics. This project started as an experiment with the new generics implementation. It may look like Lodash in some aspects. I used to code with the fantastic "go-funk" package, but "go-funk" uses reflection and therefore is not typesafe. As expected, benchmarks demonstrate that generics are much faster than implementations based on the
nsfw-filter/nsfw-filterは、Tensorflow.js を使って特定の画像、職場で表示するのが不適切な画像(NSFW = Not Safe For Work)をブロックできるブラウザ拡張です。 職場で見るとまずいようなサイトを開くと、ブラウザ上の表示がこんな感じに。 同じサイトで問題のない画像が出ているページを開くと、こう。 仕組み的にはブラウザ上で動くinfinitered/nsfwjs のライブラリを使っていて、Chrome, Firefox 用にパッケージされています。 クライアント側のブラウザ上で処理され、判定される画像自体が外部に送られることはありません。自分が何を見ているかという情報は洩れないということですね。 ブロック判定の前に一瞬表示されることもあるようです。また、何がNSFWかの判定はもちろん完璧ではなく、職場ではまずそうな画像が残ることもあれば、ま
JavaScript needs more helper functions for iteration (map, filter, etc.) – where should we put them? Iteration is a standard that connects operations with data containers: Each operation that follows this standard, can be applied to each data container that implements this standard. In this blog post: We first explore three questions: How does JavaScript’s iteration work? What are its quirks? What
This AI audio filter improves spoken audio to make it sound like it was recorded in a soundproofed studio.
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Rails 7 Arel adds support for FILTER clause | Saeloun Blog 原文公開日: 2022/05/31 原著者: Rohit Joshi サイト: Saeloun.com この改修は、7-0-stableにマージ済みです。 Arelについて ArelはRuby向けのSQLジェネレータライブラリです。SQLのAST(抽象構文木: Abstract Syntax Tree)アプローチを用いて、複雑なSQLクエリを意味のわかる再利用可能な形で記述できます。 数式の表現に式木(Expression Tree)を使うのと同様に、ArelではSQL構文をノードとして表現します。 Arelでは、count、eq、not_eq、gtといったさまざまな述語(式木の演算子に相当)を用いてSQLをビル
皆さんこんにちは、エンジニアの西尾です。 あなたは今、コードレビューをしています。 以下コードに直面したとき、何を指摘しますか。 修正してほしい点を、どのようにレビュイーに伝えますか。 // これはJavaScriptのコードです。 // 商品の在庫を1つ減らし、売り切れになったものを抽出したい、と思っています。 const soldOutProducts = products.filter(product => { product.quantity -= 1; return product.quantity <= 0; }); よくないコードレビューの例 問題は表題の通り、filterの中で状態を書き換えているのが、よくありません。 関数型言語を学んだことがある方なら、このコードの違和感に気がつきます。 filterは純粋関数であるべきだ、副作用を起こしてはいけない。そう認識しているから
コーヒーが各段に美味しくなる方法があります。ひとつには、陶器のフィルターを使うこと。雑味がなくなって、柔らかに。コーヒーを淹れるは英語でbrew coffee。雑味を英語で……おうち時間のちょっとおいしいひとときを。 I have used this Aritayaki ceramic coffee filter, LOCA, to brew coffee for a few years. ここ何年か、コーヒーを淹れるのにこの有田焼のフィルターを使っています。 LOCA removes any unpleasant tastes and この有田焼の陶器がコーヒーの雑味を取り除いて、 draws out the essence of the coffee, which is its clear and smooth taste. クリアでなめらかなコーヒー本来の味を引き出してくれます。 U
未知の脅威を監視する!Microsoft Azureに対応した振舞い監視サービス「Colorkrew Log Filter for Azure Sentinel」をリリース 株式会社Colorkrewが提供するクラウドマネジメントサービス「くらまね」は、Azure Sentinel によるMicrosoft Azure対応の振舞い監視サービス「Colorkrew Log Filter for Azure Sentinel」をリリースいたしました。Microsoft Azure内で発生した「サイバー攻撃」・「不審な振舞い」・「重大な影響を及ぼす作業」・「VMの脆弱性」などを検知します。 (https://www.colorkrew.com/mspazure01/clf/) 未知の脅威からシステムを守りたい 日々生み出される新種のウイルス。その数は、1日に数万・数十万と発生するとも言われ、セキ
アフィリエイトに限った話ではないんですけど、本当は作業に集中して取り組まないとならない。 っていうのは誰にでもある感情だと思います。 だけど、つい、別の方向にいってしまう。 特に、パソコンを仕事にしているとどうしても余計なことをしてしまう。 余計な検索をしてしまうというのはあると思います。 あなたはそういうことないですか? それは決して、あなたの決意が弱いからとかそういうのだけが原因ではないと思います。 パソコンには本当にいろいろな誘惑があります。 もちろん、スマートフォンにも。 そうした誘惑はやはり計算しつくされていると言うか、いろいろなデータに基づいてつくられているものなので、自分の気持ちの中では一生懸命やりつもりでも、ついそっちの方に気持ちが削がれてしまうことがあると思います。 それは決して、一概にあなたの責任とは限りません。 そうした広告の誘惑に駆られないためにも、結局環境づくりが
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
どうも!LSSです!! だいぶ古い記事ですが、 little-strange.hatenablog.com で、CSSフィルターのdrop-shadowを使ってみた事がありました。 CSSフィルターは他にも色々あり、それを用いて little-strange.hatenablog.com ↑こんな事も試してみた事がありました。 今回はまたdrop-shadowを使い、他のshadow関連プロパティであるtext-shadowやbox-shadowとはまた違った影効果を試してみます。 影つき吹き出し コード 例えばbox-shadowでやると、こうなります 例えばtext-shadowでやると、こうなります あとがき 影つき吹き出し radial-gradientで描いた 影の形に基づいた 影がつきます! コード <style> .fukidashi{ width:300px; text-a
配列の filter メソッドでは直和型が絞り込まれない 配列 の filter メソッドでは直和型の絞り込みができないことが知られています type User = { id: number name: string } declare const maybeUsers: (User | undefined)[] const users /*: (User | undefined)[] */ = maybeUsers.filter( (maybeUser) => maybeUser !== undefined ) !== undefined しているので自明に undefined は除かれて User[] 型に推論されてほしいところですが、callback は boolean を返すだけなので (User | undefined)[] に推論されていしまいます ユーザー定義型ガードによる解
フィルタリング製品「i-FILTER」に、ChatGPTなど生成AIに入力した内容を確認したり、アラートを出したりできる「AIチャットフィルター」機能が実装へ。 デジタルアーツは、企業や学校が、社員や学生のWeb閲覧などを制限できるフィルタリング製品「i-FILTER」に、ChatGPTなど生成AIに入力した内容を確認したり、アラートを出したりできる「AIチャットフィルター」機能を、8月16日に実装する予定だ。 ChatGPTやBing AI、Bardに対して、いつ・誰が・どんなメッセージを送信したなどの情報を、ログとして表示できる。機密情報など特定単語を含む生成AIへのメッセージ送信をブロックしたり、ブロックした単語をログから閲覧したりすることも可能だ。 生成AI利用時に、機密情報の漏えいなどに注意するよう伝える警告画面も表示する。 従来からあるWebサービスの利用制限機能には、Chat
シンセサイザーと音楽の専門誌『FILTER』登場。創刊号の表紙は、P-MODEL改訂期の3人、平沢進×福間創×小西健司で、特別対談「シンセサイザーの制御と表現」も掲載。特集は、黎明期に現れた伝説の名器や音楽シーンに大きな影響を及ぼした機種を振り返る「受け継がれるシンセサイザーの系譜」と「ビギナー企画 シンセサイザーの基礎知識」。シンコー・ミュージックから7月14日発売 ■シンコー・ミュージック・ムック 『FILTER Volume.01』 A4判/144頁/定価1,980円(税込)/7月14日発売 ISBN:978-4-401-75000-9 <内容> ◎表紙アーティスト 平沢進×福間創×小西健司 特別対談:シンセサイザーの制御と表現 P-MODEL改訂期のメンバーである3名は、それぞれのスタンスでシンセサイザーに接し自身の音楽表現に取り入れてきた。技術の進化が続きシンセサイザーそのものが
公開日:2021/10/25 13:57更新日:2022/9/15 15:53 ホーム > Tips > フロントエンド 【CSS filter】svgをJSなし・インライン読み込みなしで自由に色を変更する方法! css, 軽量化, 画像, svg ※追記:2022年8月31日 mask-imageでも簡単に色を変えられます。ぜひこちらの新しい記事もご覧ください。 →【CSS mask-image】SVGなどのアイコン画像の色を変更する方法! svg画像をCSSで制御して色を変えたりするためには、インラインで読み込みしなければいけません。 こうなる。 そうするとHTMLファイルがすごいことになります。少なくとも人間にとっては読みにくくなってしまいます。 それを回避するために、いろいろ方法がありますが、現時点で私が一番楽だと思う方法をご紹介。 SVG以外の形式でも使えるよ! 1. SVGを黒
~Introduction~ こんにちは、Circulation - Cameraです。今回は撮影機材のレビューです。星空を撮影するとき、soft filterは大変便利なアイテムです。これを使用すると明るい星はさらに良く目立つようになり、星の色もはっきりしてくれます。 D850 + Carl Zeiss Milvus 1.4/25mm + Kenko Prosofton, ISO 1600, F 2.0, SS 20 sec Soft filterは個人的には星撮影のマストアイテムです。いろんなsoft filterが発売されていますが、Kenko Prosoftonはソフト効果のかかり方がちょうどよいと思っています。 いろいろ試して自分に合うものを探してみるのもいいでしょう。こだわる方の場合、超広角レンズではソフト効果の強いフィルター、そうでなければソフト効果控えめのフィルターを使うこ
こんにちは!エンジニアになったきっかけはブラッディ・マンデイでした。Mizutani(@sirycity)です。 今回はJavaScriptでmapとfilterを両方使いたくなった時について、4通りの書き方を比較しながら見ていきましょう。 結論 flatMapが使える環境ならflatMap一択 まとめて書きたいならreduce 見やすさ重視ならmapしてからfilter 速度重視ならfilterしてからmap はじめに 今回比較する書き方4通りはこちら。 filterしてからmapする mapしてからfilterする flatMapだけを使う reduceだけを使う 検証 mapとfilter両方使いたいケースって言われてもピンとこない?そうだよね。 例として今回は「都道府県一覧から県以外を除外し、かつ語尾に「知事」を付けて出力」みたいな処理にします。つまりこんな感じ。 const pr
Swiftの配列(コレクション)にはシーケンスプロトコルが用意されています。 シーケンスとは、一方向からの順次アクセス可能なデータ構造のことを指します。 配列は先頭のインデックスから要素に順次アクセスできるため、シーケンスの一種です。 つまり、このような配列に標準的に備わったメソッド定義がシーケンスプロトコルです。 シーケンスプロトコルには以下のようなインタフェースがあります。 forEach(_:)filter(_:)map(_:)flatMap(_:)compactMap(_:)reduce(_:_:) ここではよく使われるmap、filter、reduceの3つを紹介します。 mapメソッドは、すべての要素を特定の処理を用いて変換する場合に使用します。 次の2つのコードはどちらも同じ処理で結果も同じです。 let numbers = [1, 2, 3, 4, 5, 6, 7, 8,
What the research is: The Ribbon filter is a new data structure that is more space-efficient than the popular Bloom filters that are widely used for optimizing data retrieval. One of the ways that Bloom, and now Ribbon, filters solve real engineering problems is by providing smooth configurability unmatched by other filters. Bloom filters work by overapproximating a set of keys associated with som
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く