並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 311件

新着順 人気順

イテレータの検索結果41 - 80 件 / 311件

  • MySQLでredis storage engineを作った - tom__bo’s Blog

    MySQLのストレージエンジンはplugableになっていて、APIを実装すれば自作のストレージエンジンを組み込むことができる。 ということで、試しにRedisをストレージエンジンとして使うRedis Storage Engineを作りました。 github.com 途中で飽きてしまった ちまちま実装するよりC++の勉強とInnoDB読んだほうが良さそうと思ったので、お蔵入りするつもりでしたが、Yahoo! Japanでストレージエンジンを研究開発しているという話で個人的に盛り上がったので、改めて作ったところまでを見直して、整理しておこうという趣旨です。 実装したものはCREATE TABLEとDMLがある程度カバーされたおもちゃですが、自作ストレージエンジン開発のためのドキュメントはなくなっていく一方なので(MySQL internal documentを含む既存のドキュメント・ブログ・

      MySQLでredis storage engineを作った - tom__bo’s Blog
    • 2019年にRustで初めてツールを作るときに役にたったリンク集 - Qiita

      Rustで作るツールのお試しとして https://github.com/yutakatay/dotplugs を作りました。ツール自体は大したことはしていないので、作る際によく参考にしていたサイトと使い方を紹介しようと思います。 調べたところリンク集はすでにあって、以下は体系的にまとまっていました。 - https://qiita.com/mosh/items/7e327dafbe53b72ad99d - http://letten.hatenablog.com/entry/the-rust-resources-ja ここではより実践的に役にたったもの(主に日本語で)を上げて行きたいと思います。 書き始める前に準備すべきツール 実際にコードを書く前に絶対にあったほうが便利なツールを紹介しておきます。英語ですが公式にも載っています。 https://www.rust-lang.org/to

        2019年にRustで初めてツールを作るときに役にたったリンク集 - Qiita
      • JavaScript 第7版

        JavaScriptは最も多くのソフトウェア開発者に使用されているプログラミング言語です。JavaScriptを包括的に解説する本書は、第6版から大幅に加筆および更新し、全面改訂しました。 はじめにJavaScript言語仕様の基本的な構文と機能について豊富なサンプルコードを使って学習します。そしてJavaScript標準ライブラリを詳述し、Webブラウザで使われるクライアントサイドJavaScriptやNode.jsで使われるサーバサイドJavaScriptについてわかりやすく説明します。またNode形式と標準形式のモジュールの使い方、イテレータとジェネレータ、async/awaitやPromiseなどの非同期プログラミングの新しい構文、クラスの定義方法などを紹介し、さらにツール群や言語拡張機能、理解の難しいJavaScript特有の動きなどについても学ぶことができます。 Webプラット

          JavaScript 第7版
        • ハンズオンNode.js

          Node.jsの入門書。対象読者は、フロントエンド開発の知識はあってもサーバサイド開発は知らないエンジニアや、他言語の経験はあってもNode.jsは触ったことがないプログラマー。本書ではターミナルのプロンプトにコマンドを入力してその反応を確認したり、簡単なスクリプトをNode.js環境で実行したりしながら、Node.jsプログラミングの基本からWebアプリケーションの開発、テスト、デプロイまでをハンズオン形式で学びます。また、コードの背景にある設計思想や、プログラムの挙動の仕組みについてもしっかり掘り下げます。本書のゴールは、読者がNode.jsの全体像を掴み、業務レベルでのアプリケーション開発に対応可能な知識を身につけることです。 関連ファイル GitHubリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、

            ハンズオンNode.js
          • プログラミング初心者向け・Python学習サイト6つを比較してみた - paiza times

            StartupStockPhotosによるPixabayからの画像 こんにちは。倉内です。 プログラミングの学び方はさまざまですが、最近は学習サイトを利用する方も増えています。 PC(もしくはスマホやタブレット)とインターネット環境があれば始められることから、書籍を購入したりスクールに通ったりするより手軽に学習をスタートできます。 特に機械学習やデータ分析の分野で人気の高いPythonは、学べるサイトもたくさんあり「どれを利用しようか迷う……」「違いはなんなんだろう……」と思う方もいるかもしれません。 そこで今回はPythonの基本を学びたい方向けに、おすすめの6つのサイトを学習内容、学習形式、料金などの項目で比較してみたいと思います。 なお、各学習サイトの情報は2020年7月31日時点のものです。 学習サイト6つの基本情報 学習形式・料金比較 サービス名 形式 料金 Progate スラ

              プログラミング初心者向け・Python学習サイト6つを比較してみた - paiza times
            • AWS Lambda でのカスタムチェックポイントによるバッチ処理の最適化 | Amazon Web Services

              Amazon Web Services ブログ AWS Lambda でのカスタムチェックポイントによるバッチ処理の最適化 AWS Lambdaは、Amazon Kinesis Data StreamsやAmazon DynamoDB Streamsなどのソースから取得した複数メッセージをバッチ処理できます。通常の操作では、処理を行う関数は1つのバッチから次のバッチに移動して、ストリームからのメッセージを消費します。 ただし、バッチ内のアイテムの1つでエラーが発生すると、そのバッチ内の同じメッセージ群の一部が再処理される可能性があります。新しいカスタムチェックポイント機能により、失敗したメッセージを含むバッチの処理方法をより詳細に制御できるようになりました。 このブログ記事では、バッチ失敗時のデフォルトの動作と、このエラー状態に対処するために開発者が使用可能なオプションについて説明します。

                AWS Lambda でのカスタムチェックポイントによるバッチ処理の最適化 | Amazon Web Services
              • GoConference2024の資料が集まるスレ #gocon

                これはサマリ(ここを更新していきます)情報提供(コメント)歓迎!! イテレータによってGoはどう変わるのか Dive into gomock Data Race Detection In Go From Beginners Eye Go1.21から導入されたGo Toolchainの仕組みをまるっと解説 Cleanup handling in Go Custom logging with slog: Making Logging Fun Again! Goにconst型修飾を期待しなくてよい理由 GoのLanguage Server Protocol実装、「gopls」の自動補完の仕組みを学ぶ バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する Mapのパ

                  GoConference2024の資料が集まるスレ #gocon
                • ハンズオンJavaScript

                  JavaScriptの入門書。対象読者は、完全なプログラミング初心者からプログラミングの初級者です。また、中級以上の方のクライアントサイドJavaScriptの知識の更新にも利用できます。本書ではChrome DevToolsのコンソールにコマンドを入力してその動作を確認しながら、JavaScriptの基本や多種多様なWeb APIをひとつひとつハンズオン形式で学びます。また、コードの背景にある設計思想や、プログラムの挙動の仕組みについてもしっかり掘り下げます。本書のゴールは、読者がJavaScriptの全体像を掴み、業務の内容や興味に応じて必要な知識を自分自身で探求できるようになることです。 まえがき 1章 学び始めるまえに 1.1 プログラムについて 1.2 JavaScriptについて 1.2.1 JavaScriptを始める 1.2.2 JavaScriptを続ける 1.2.3 J

                    ハンズオンJavaScript
                  • 2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG

                    概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入した今になって私達はこれまで正面戦争を避けてきたCOMを0から学び直す必要がありました。そしてATLの不思議な挙動やSTAにおける再入との戦いを乗り越え、無事にリリースされました。 はじめに Opti

                      2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG
                    • Rustで少しずつリバーシを作ってみた

                      はじめに Rustの学習目的でリバーシを作ってみたいと思います。最初からすべての機能を作るのではなく、少しずつ機能を追加しながら解説していきます。また、できるだけよいコードを目指すために機能追加の度にリファクタリングをします。 最初の開発 仕様策定 まずはリバーシとして最低限遊べるうえで最も工数がかからなさそうな仕様を策定します。 cuiアプリ 矢印キーでカーソル移動 Wキーで白石を置き、Bキーで黒石を置き、Backspaseキーで石を取り除く Escキーでアプリ終了 とりあえずこれだけあればリバーシとして遊ぶことはできます。cuiアプリなので実行はWindowsTerminalを想定します。 実装 ソース とりあえずコードの良し悪しは置いといて動くものを作ります 実行結果 解説 cuiアプリとして実装するのでターミナルライブラリを導入します。今回はcrosstermを利用します。Carg

                        Rustで少しずつリバーシを作ってみた
                      • RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita

                        概要 静的ウェブページ向け検索エンジンtinysearchをrust_icuのトークナイザ(icu::BreakIterator)を使って日本語対応させてみた。 また、これをmdBookに組み込み、The Rust Programming Language 日本語版へ適用してみた (chromiumのみ対応。その他は従来どおりの検索性能) 実装: https://github.com/tamuhey/tinysearch/tree/japanese mdBookへの適用: https://github.com/tamuhey/mdBook/tree/tiny_search The Rust Programming Language 日本語版への適用例: https://tamuhey.github.io/book-ja/ tinysearch tinysearchは静的ウェブページ向け検索

                          RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita
                        • LINEの多様なサービスを支える機械学習のプラットフォームと開発事例

                          2020年6月24日に、LINEの「Data Labs」のオンライン採用説明会が開催されました。Data Labsは、データ分析や機械学習の活用によって、LINEのすべてのサービスの価値向上を目指す、データの分析・研究を行う専門の開発組織です。説明会の後半は、Machine Learning1チーム/マネージャーの菊地悠氏とフェローの並川淳氏が登壇し、機械学習エンジニアチームの仕事内容や事例を紹介しました。1記事目はこちら Machine Learningチームのミッション 菊地悠氏:Machine Learning1チームの菊地と申します。よろしくお願いします。今日の内容は以下のような順で話をしていきたいと思います。 まず最初にミッションです。多種多様なサービスがあるので、機械学習を適用する領域はいろいろあります。そういう中で、我々のチームは各事業組織から独立しています。LINEのさまざ

                            LINEの多様なサービスを支える機械学習のプラットフォームと開発事例
                          • Pythonのスタイルガイドの確認 - めも

                            スタイルガイド PEP-8 Google Python Style Guide django 既存のコードに対するpep8の確認 pep8 flake8 autopep8 docstringのフォーマット 各スタイルガイド要約 PEP8 Google C++ 参考文献 自分の確認用です. C++のスタイルガイド の確認も自分の勉強用です. スタイルガイド スタイルガイドは、出版物などにおいて統一した言葉遣いを規定する手引き (出典:スタイルガイド - Wikipedia) コーディングにおいても, 基本的な書き方のルールをある程度定めることで理解しやすいコードになりうる. いくつか種類が存在する. PEP-8 peps/pep-0008.txt at master · python/peps · GitHub はじめに — pep8-ja 1.0 ドキュメント Google Python

                              Pythonのスタイルガイドの確認 - めも
                            • 日本語BERTモデルをPyTorch用に変換してfine-tuningする with torchtext & pytorch-lightning - radiology-nlp’s blog

                              TL;DR ①TensorFlow版訓練済みモデルをPyTorch用に変換した (→方法だけ読みたい方はこちら) ②①をスムーズに使うための torchtext.data.Dataset を設計した ③PyTorch-Lightningを使ってコードを短くした はじめに 日本語Wikipediaで事前学習されたBERTモデルとしては, 以下の2つが有名であり, 広く普及しています: SentencePieceベースのモデル (Yohei Kikuta さん提供) TensorFlow版 Juman++ベースのモデル (京大黒橋研提供) TensorFlow版 PyTorch版(Hugging Face transformers準拠) このうち, SentencePieceベースのものは現在TensorFlow版のみの提供となっており, PyTorch版は存在しません。 そのため, 私のよう

                                日本語BERTモデルをPyTorch用に変換してfine-tuningする with torchtext & pytorch-lightning - radiology-nlp’s blog
                              • 不均衡データ分類問題をDNNで解くときの under sampling + bagging 的なアプローチ - BASEプロダクトチームブログ

                                はじめに こんにちは、Data Strategy所属の岡です。グループ会社BASE BANKで分析/モデリングなども兼務しています。 テキストデータを特徴量にもつ不均衡データ分類問題をDNNで解きたくなった際、下記の論文を参考にしたのでその内容を紹介します。 https://users.cs.fiu.edu/~chens/PDF/ISM15.pdf 不均衡データ分類問題ってなに? 何かしらのカテゴリを機械学習などで分類予測しようとする際、カテゴリごとのデータ件数に偏りがある、特に正例のデータが極端に少ないケースで予測精度が上がりにくい、という問題をこのように呼んでいます。 例: 不正決済と正常な注文、不正商品と健全な商品、がん患者と正常な患者 普通はどうやって対処するの? ベースとなるアプローチは下記3つにまとめられます。 アプローチ 内容 デメリット アンダーサンプリング 多数派データを

                                  不均衡データ分類問題をDNNで解くときの under sampling + bagging 的なアプローチ - BASEプロダクトチームブログ
                                • Rust 1.51を早めに深掘り - OPTiM TECH BLOG

                                  こんにちは、R&Dチームの齋藤(@aznhe21)です。書きたい記事がいっぱいあるのに時間が取れません。悲しい。 さて、本日、日本時間3/26(金)、Rust 1.51がリリースされました。 この記事ではRust 1.51での変更点を詳しく紹介します。 3/26は普通選挙法成立の日 ピックアップ ジェネリクスの引数として定数を使えるようになった 配列要素の所有権を奪いつつイテレート出来るようになった featureの新しい解決機構が使えるようになった 安定化されたAPIのドキュメント Arc::decrement_strong_count 安全性 サンプル Arc::increment_strong_count 安全性 サンプル Once::call_once_force サンプル Peekable::next_if_eq サンプル Peekable::next_if サンプル Seek:

                                    Rust 1.51を早めに深掘り - OPTiM TECH BLOG
                                  • 続・MeCabの分かち書きを並列処理で高速化する

                                    まとめ Pythonから巨大なテキストファイルを並列に読み込み・処理・書き込みする方法を紹介 読み込み: テキストファイルをバイト列として見て、プロセスごとにファイルの読み込み区間を割り振る 処理: multiprocessingを用いた並列処理 書き込み: プロセスごとにtmpファイルへ並列に書き込み & catによる結合 はじめに 日本語形態素解析器であるMeCabを用いると、日本語のテキストに対する解析や処理が簡単に実行できます。 特に最近は、BERTをはじめとする深層学習モデルへの入力のための前処理として、MeCabなどを用いて文を単語単位に分割する「分かち書き」を行う機会が多くなっています。 MeCabはコマンドラインから実行することもできますし、Pythonなどからプログラム的に呼び出すことも可能です。 特にコマンドラインから実行する場合は、インストールさえ終わっていれば以下の

                                      続・MeCabの分かち書きを並列処理で高速化する
                                    • Nimを知ってほしい - Qiita

                                      なんでこんなのを書いているのか Nimを趣味で使っているのですが、「Nim?なにそれ?」みたいな話を何度もするのが疲れたのでURL投げつければ済むようにしたいからです。 F#を知ってほしいに敬意を。 ※Nim使いの人もマサカリ(というかアドバイス)とかあればください。 ※Nimの概説が面倒なときに参照先として使ってください。 ※medyさんの記事Nimを知ってほしい2022もオススメです。 Nimとは, なぜNimなのか ざっくりと説明すると、 静的型付けで型安全な上にPythonっぽい構文でコード量も少なく済む「効率的、表現力豊か、エレガント」なプログラミング言語です。 コンパイラが優秀すぎて、勝手に最適化して実行バイナリのサイズを小さくしてくれるし速い。 誤解を恐れずに表現するなら「Pythonの皮を被ったC/C++」。 詳細はWikipedia読んだほうがいいです。引用(https:

                                        Nimを知ってほしい - Qiita
                                      • PHPDocを使ったPHPのジェネリクス - 超PHPerになろう

                                        この記事はPHPStan開発者のOndřej Mirtesによって2019年12月2日に書かれた記事を翻訳したものです。記事の末尾には訳者(@tadsan)の観点によるPhan, Psalm, PhpStormとの互換性についての情報も記述しています。 medium.com 2年前、私(Ondřej Mirtes)はユニオン型と交差型についての衝撃的な記事を書きました。PHPコミュニティがこれらの概念に馴染むのを手助けし、PhpStormでの交差型サポートにつながりました。 ユニオン型と交差型の違いは開発者が認識すべき静的解析に役立つ重要な概念なので、私はその記事を書きました。今回は同様に、PHPStan 0.12で導入されたジェネリクスについて、それが何であるかを説明したいと思います。 無限のシグネチャ 関数宣言するとき、我々は関数に付属する単一のシグネチャを書いていました。ほかの選択肢

                                          PHPDocを使ったPHPのジェネリクス - 超PHPerになろう
                                        • 【PHP8.1】PHPで交差型が使えるようになる - Qiita

                                          交差型は何かって一言で言うと型のANDです。 PHP8.0で型のORことUNION型が導入されましたが、これに続いてPHP8.1で交差型が導入されることになりました。 これでPHPでも型パズルマウント取れるようになりますね。 ということで以下はPure intersection typesの紹介です。 PHP RFC: Pure intersection types Introduction 交差型とは、型がひとつの制約ではなく、複数の制約を同時に満たすことを必要とする型です。 交差型は、現在のところ言語ネイティブには対応していません。 かわりにphpdocアノテーションを使用したり、型付きプロパティを濫用したりしています。 class Test { private ?Traversable $traversable = null; private ?Countable $countabl

                                            【PHP8.1】PHPで交差型が使えるようになる - Qiita
                                          • 2023年のコンパイル時レイトレーシング - in neuro

                                            これは qiita.com の12/16の記事です。やばいもう16日が終わってしまう! はじめに 太古の昔、あるC++プログラマ*1がtemplateの再帰と特殊化を使ってコンパイル時に計算ができることを「発見」*2*3したその日から、C++とコンパイル時計算は分かちがたく結びついています。 言語機能を本来意図されていなかった方法で活用する曲芸的な技巧だったコンパイル時計算は、その強力さを買われコミュニティを席巻し、C++11での constexpr の導入によりある意味で公式に認められたものとなりました。 導入当初は return 文一つだけしか持てなかった constexpr 関数は、それでも三項演算子による条件分岐や再帰によってコンパイル時計算を大いに盛り上げました。 そしてC++14で条件分岐、ループ、変数の書き換えが、C++17ではラムダが、C++20では仮想関数と動的メモリ確保

                                              2023年のコンパイル時レイトレーシング - in neuro
                                            • JavaScriptのIterator / Generatorの整理

                                              目的と対象読者 IteratorとIterableとGeneratorとGenerator Functionの区別が曖昧な人 (記事前半) Generatorの制御フローを完全理解したい人 (記事後半) の理解を深めるための記事です。 まとめ IteratorとIterableの関係 Iteratorは狭義には呼び出し元の next 呼び出しに応じて要素を出力するインターフェースである。 IterableはIteratorを生成するインターフェースである。 IterableだからといってIteratorとは限らず、IteratorだからといってIterableとは限らない。しかし実際には多くのIteratorはIterableのインターフェースも実装している。 Iterableとコレクションは相互変換可能である。 Iterableは for-of ループで処理できる。 IteratorとG

                                                JavaScriptのIterator / Generatorの整理
                                              • GoとテストとSDKとGCP - KAYAC engineers' blog

                                                SREチーム(新卒)の市川恭佑です。これはKAYAC Advent Calendar 2022の9日目の記事です。 今年の弊社アドベントカレンダーは、筋肉やランニング、さらにはサウナなど、多様性に富んだ面白いエントリが出揃っています。 自分も好きなファッションについて書きたくなってしまったのですが、ここはグッと気持ちを抑えて、仕事で触った技術について書きます。 ※ この記事のタイトルは、酒とゲームとインフラとGCPというイベントのオマージュです。 仕事の近況報告 まず、最近どんな仕事をしているのかについて報告させてください。恐らく誰も興味がないと思いますが、年末のアドベントカレンダー企画ということもあるので...... Amazon Web Services(AWS)を用いた自社サービス 今年の4月に新卒入社してから、技術ブログを2本執筆しました。下記がそのリンクです。 techblog.

                                                  GoとテストとSDKとGCP - KAYAC engineers' blog
                                                • LambdaとDynamoDBでIoTバックエンド開発

                                                  2019年7月30日、Serverless Community(JP)が主催するイベント「Serverless Meetup Tokyo #12」が開催されました。世界各地で運営されているServerless Architectureやその周辺技術について情報を共有する本コミュニティ。今回は、株式会社Speeeのオフィスにて、3人のエンジニアが知見を共有しました。プレゼンテーション「LambdaとDynamoDBでつくるIoTバックエンド」に登壇したのは、 株式会社MMMの岡本忠浩氏。 LambdaとDynamoDBでIoTバックエンド開発 岡本忠浩氏:よろしくお願いします。「LambdaとDynamoDBでIoTバックエンド開発」というタイトルなんですけど、ちょっとスライドを作るのがギリギリになってしまって。至らないところがあるかもしれないんですが、お願いします。 自分はMMMとい

                                                    LambdaとDynamoDBでIoTバックエンド開発
                                                  • ゼロから作るDeep Learning ❸

                                                    大ヒットを続ける人気シリーズの第3弾。今回は「DeZero」というディープラーニングのフレームワークをゼロから作ります。DeZeroは本書オリジナルのフレームワークです。最小限のコードで、フレームワークのモダンな機能を実現します。本書では、この小さな――それでいて十分にパワフルな――フレームワークを、全部で60のステップで完成させます。それによって、PyTorch、TensorFlow、Chainerなどの現代のフレームワークに通じる知識を深めます。キャッチフレーズは――作るからこそ、見えるモノ。 関連ファイル サンプルコード 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷

                                                      ゼロから作るDeep Learning ❸
                                                    • Rust 1.46を早めに深掘り - OPTiM TECH BLOG

                                                      こんにちは、R&Dチームの齋藤(@aznhe21)です。 さて、本日、日本時間8/28(金)、Rust 1.46がリリースされました。 この記事ではRust 1.46での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・編集・追記をしています。 8/28は日本テレビが民法で初めてテレビ放映をした日 ピックアップ 定数文脈で一部の制御構文が使えるようになった パニックメッセージに関数呼び出し元の情報を出せるようになった 変更点リスト 言語 コンパイラ ライブラリ 安定化されたAPI Option::zip サンプル vec::Drain::as_slice サンプル Cargo 互換性メモ 関連リンク さいごに ライセンス表記 ピックアップ 個人的に注目する変更点を「ピックアップ」としてまとめました。 全ての変更点を網羅したリストは変更点リストをご覧ください。

                                                        Rust 1.46を早めに深掘り - OPTiM TECH BLOG
                                                      • Go1.23で導入予定のイテレータを完全理解する✌️

                                                        イテレータについて完全理解するぞ!!!! 皆さん、Go1.23で導入予定のイテレータすごい楽しみですよね? 筆者はすごい楽しみです。Go1.18でジェネリクスが導入されて書き方の幅が広がったように、今回のイテレータもGoの書き方の幅を広げる機能になるのではと予想しております! https://github.com/golang/go/issues/61405 を見ると分かるように「add range over int, range over func」の機能はGo1.23のマイルストーンに積まれています。 「range over int」の機能についてはGo1.22で既に実装されています[1] 。「range over func」は来たるGo1.23に実装予定だと思われます。このブログでは、導入予定の型/関数とその使い方を深ぼっていきたいと思います! このブログの中では「range ove

                                                          Go1.23で導入予定のイテレータを完全理解する✌️
                                                        • Rust、こんなときはこう書こう - Qiita

                                                          こんにちは、Rust2 Advent Calendar 2020の1日目を担当させていただくyasuo-ozuです。 今回は特にまとまったネタを思いつかなかったのでtips集としてお送りします。有名なものばかりで恐縮ですが、何かありましたらご指摘いただければ幸いです。 Enum型の要素を賢く使う イテレータを Option でマップしたいとき、通常では以下のようにすると思います。 let v = vec![1usize, 2, 3]; let v = v.into_iter().map(|v| Some(v)).collect::<Vec<_>>();

                                                            Rust、こんなときはこう書こう - Qiita
                                                          • CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”

                                                            関連キーワード アプリケーション開発 | プログラマー | プログラミング 独立性の高い小規模サービス「マイクロサービス」の開発において、プログラミング言語「Rust」は一定の地位を築いている。Rustにはどのような強みがあるのか。 CやC++じゃなく「Rust」を選ぶ理由はこれだ 併せて読みたいお薦め記事 連載:GoとRustを比較する 第1回:CでもC++でもなくプログラミング言語「Go」を使いたくなる“あの良さ”とは? 第2回:「Go」に期待し過ぎたプログラマーが落胆する“完璧じゃない部分” GoとRustの魅力 プログラミング言語「Go」の魅力とは? 「Goで“脱COBOL”」の成功者が語る 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか? 「C」や「C++」といったプログラミング言語では、開発者は手動でメモリを管理する必要があるが、Rustはその必要はない。これはプ

                                                              CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”
                                                            • Array.fromは実は有能ではないか? - Qiita

                                                              Array.fromは配列風オブジェクトや反復可能オブジェクトから配列を作る標準組み込み関数です。 主な使い道1 イテレータからの変換 javascriptでは、mapやreduceと言った便利な高階関数がArrayにしか標準実装されていない割に、 MapやSetと言った組み込みオブジェクトから要素を順番に取り出そうとすると大体イテレータや列挙可能オブジェクト経由です。 (それ自体は良い抽象化だと思うんですが、whileとかfor ofになるのが辛い) イテレータを配列に変換したい場合がしばしばあります。

                                                                Array.fromは実は有能ではないか? - Qiita
                                                              • Effective Python 第2版

                                                                def coprime_alternate(a, b): is_coprime = True for i in range(2, min(a, b) + 1): if a % i == 0 and b % i == 0: is_coprime = False break return is_coprime assert coprime_alternate(4, 9) assert not coprime_alternate(3, 6) 推薦の言葉 第2版日本語版へ寄せて まえがき 1章 Pythonic思考 項目1 使用するPythonのバージョンを知っておく 項目2 PEP 8スタイルガイドに従う 項目3 bytesとstrの違いを知っておく 項目4 Cスタイルフォーマット文字列とstr.formatは使わずf 文字列で埋め込む 項目5 複雑な式の代わりにヘルパー関数を書く 項目6 イン

                                                                  Effective Python 第2版
                                                                • Pythonのlistをもっと便利に +α 【大規模ソフトウェアを手探る】

                                                                  これは何? この記事は、東京大学工学部電子情報工学科/電気電子工学科の後期実験「大規模ソフトウェアを手探る」のレポートとして作成されました。この実験では、各班がOSSを1つ選び、開発技法を学びながら新たな機能追加やバグ修正などを試みます。私たちの班(@irungo_ic, @yutyan_ut, @ncrpy)はCPython を選びました。 CPythonとは プログラミング言語であるPythonの、C言語による実装です。つまり、C言語で書かれたPythonのインタプリタです。 CPythonを選んだ理由 班員全員にCとPythonの経験があり、言語処理系などの基盤的なソフトウェアに興味があるメンバーが集まったためです。特にCPythonは公式ドキュメントが非常に充実していること、Buildの方法がそれほど大変ではないことなども選択の大きな理由になりました。 追加した機能 私たちの班は次

                                                                    Pythonのlistをもっと便利に +α 【大規模ソフトウェアを手探る】
                                                                  • Rustの便利クレート - Qiita

                                                                    RustにはCargoという優れたパッケージマネージャーがあるので細かい多数の依存パッケージが問題になることはあまりありません。というより同一のアプリケーションでもパッケージを細かく分割することが推奨されています。ちょっとしたボイラープレートを取り除くような小さなライブラリも大量にあります。これらは積極的に使うべきです。 問題があるとすれば悪意のあるようなパッケージの存在ですが、これらに対処するcargo-auditやcargo-crevというツールもあります。 Rustの依存関係の信頼性を検証する (crev) - Qiita cargo crev でコードレビューをしてみたらバグを見付けた話など - 何とは言わない天然水飲みたさ 本記事では 誰かがTwitterやブログで紹介するか誰かが使っているのを見る、あるいは何かのtrendingに載っているのを見るなどしない限り出会わない 日本

                                                                      Rustの便利クレート - Qiita
                                                                    • JavaScriptのイテレータが持つメソッドをそろそろ知っておきたい人が読む記事 - Qiita

                                                                      イテレータは今となっては多くのプログラミング言語に存在する概念で、繰り返し処理やループ、ストリームといった対象を抽象化してくれるものです。JavaScriptにはES2015でイテレータが追加されており、JavaScriptを触っている方にとっては既に馴染み深いものとなっています。 とはいえ、JavaScriptのイテレータにはひとつ問題点がありました。それは「イテレータを直接変換・操作できるメソッドが存在しない」という点です。従来イテレータが持つメソッドはイテレータから一つ値を取り出すnextメソッドのみであり1、それ以上の機能は何も提供されていませんでした。これにより、Rustなどのイテレータが強い言語に比べてJavaScriptのイテレータは有用性が大幅に低いものとなっていました。 この記事では、この問題を多少解消するプロポーザル「Iterator Helpers」を紹介します。これ

                                                                        JavaScriptのイテレータが持つメソッドをそろそろ知っておきたい人が読む記事 - Qiita
                                                                      • はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場

                                                                        前回は BERT についてその概要と使い方を紹介しました。今回は自然言語処理ライブラリである spaCy と spaCy をフロントエンドとする日本語NLPライブラリの GiNZA について紹介します。 1. 始めに 本記事では欧米で有名な自然言語処理ライブラリである spaCy とリクルートと国立国語研究所の共同研究成果である日本語NLPライブラリ GiNZA について紹介します。記事の前半では、spaCy と GiNZA の概要と日本語を処理する際の基本的な機能/操作について説明します。後半では、spaCy で提供される文章分類機能について、前回までに紹介した手法も含めて精度を比較してみます。 2. spaCy と GiNZA の概要 spaCy は Explosion AI 社の開発する Python/Cython で実装されたオープンソースの自然言語処理ライブラリで MIT ライセ

                                                                          はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場
                                                                        • 【宣伝】『プロを目指す人のためのTypeScript入門』4月22日発売! - uhyo/blog

                                                                          皆さんこんにちは。先日、私が書いたTypeScriptの入門書『プロを目指す人のためのTypeScript入門』が発表されました。この本は4月22日発売で、すでにネット書店などでは予約受付中です。また、電子版も発売の予定があります。この記事ではこの本を宣伝します。 同出版社の『プロを目指す人のためのRuby入門』がチェリー本と呼ばれているのに合わせて、この本はブルーベリー本やベリー本と呼ばれているのを見かけました。そのような愛称がつくと嬉しいですね。 書影どんな本なの?タイトルにもある通り、TypeScriptの入門書です。 具体的な内容については、技術評論社のWebサイトで目次が公開されていますので、それを見ればおおよそ把握することができるでしょう。扱う範囲としては以下の通りです。 TypeScriptという言語そのものに注目し、周辺のエコシステム(フロントエンド開発、サーバーサイド開発

                                                                            【宣伝】『プロを目指す人のためのTypeScript入門』4月22日発売! - uhyo/blog
                                                                          • OpenAI APIであらゆるジャンルのクイズを無限に作る(Function Calling、JSON Mode) - Qiita

                                                                            OpenAI APIであらゆるジャンルのクイズを無限に作る(Function Calling、JSON Mode)PythonOpenAIChatGPT OpenAIのChat Completion APIを使って、あらゆるジャンルのクイズを無限に作るクイズAPI1を作ってみました。利用するためには、OpenAIのAPIトークンが必要です。 PythonのStreamlitで作ったデモアプリの中で使っています。 クイズのデータ形式 ジャンルを指定すると、Chat Completion APIを使って、次のようなJSON形式の4択クイズデータを生成します。次の例はジャンルにPythonを指定した結果です。 { "questions": [ { "question": "Pythonの特徴でないものはどれ?", "options": ["動的な型付けを採用している", "クラスベースのオブジェ

                                                                              OpenAI APIであらゆるジャンルのクイズを無限に作る(Function Calling、JSON Mode) - Qiita
                                                                            • Rust 1.60を早めに深掘り - OPTiM TECH BLOG

                                                                              こんにちは、R&Dチームの齋藤(@aznhe21)です。 新オフィスは広くて快適です。 さて、本日4/8(金)にRust 1.60がリリースされました。 この記事ではRust 1.60での変更点を詳しく紹介します。 4/8は釈迦の誕生を祝う花まつりの日 ピックアップ コンパイル時間を計測できるようになった 機能(features)で名前空間付き・弱依存がサポートされた コード網羅率を計測できるようになった [u8]を文字列としてエスケープできるようになった 安定化されたAPIのドキュメント Arc::new_cyclic パニック サンプル Rc::new_cyclic パニック サンプル slice::EscapeAscii <[u8]>::escape_ascii サンプル u8::escape_ascii サンプル Vec::spare_capacity_mut サンプル Maybe

                                                                                Rust 1.60を早めに深掘り - OPTiM TECH BLOG
                                                                              • Kinesis Data Streams + Lambdaが詰まった時の対処法(RecoChoku Tech Night 5社合同 AWS re:Invent 2019 参加報告会 登壇資料) - でこてっくろぐ ねお

                                                                                このエントリは RecoChoku Tech Night 5社合同 AWS re:Invent 2019 参加報告会 - connpass での発表内容、及びはてなエンジニア Advent Calendar 2019の20日目のブログ(若干フライングで投稿しています!)です。 AWS re:Inventのセッションの一つである SVS323-R1 - REPEAT 1 Mastering AWS Lambda streaming event sources を元ネタに、re:Invent 2019直前に出たKinesis Data Streamsの新機能の解説をします。 基本的な用語説明 Kinesis + Lambdaの活用事例 Kinesis + Lambdaのスループットが思ったように出ない時、及びその対処方法 シャードを増やすのは万能なのか?他の手はないのか?新機能のご紹介 シャー

                                                                                  Kinesis Data Streams + Lambdaが詰まった時の対処法(RecoChoku Tech Night 5社合同 AWS re:Invent 2019 参加報告会 登壇資料) - でこてっくろぐ ねお
                                                                                • オプショナルチェーン (?.) - JavaScript | MDN

                                                                                  JavaScript チュートリアル: 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロージャ 上級編 継承とプロトタイ

                                                                                    オプショナルチェーン (?.) - JavaScript | MDN