並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 359 件 / 359件

新着順 人気順

イテレータの検索結果321 - 359 件 / 359件

  • 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
    • matplotlib - memoring

      memoring コンピュータを研究に使うための私的メモ。Python、Fortran、Ubuntu、etc... トップページページ一覧メンバー掲示板編集 matplotlib 最終更新: miyacdoor 2014年03月07日(金) 11:35:22履歴 Tweet 基本 インポート プロット 図を閉じる アクティブなオブジェクトの取得 カレントaxisを変更する。 GUIでの操作 インタラクティブモード 図の大きさ・配置・色 キャンバスのサイズ・解像度を設定する。 図の余白 背景を透明にする。 色の巡回パターンを指定する。 マルチプロット 複数の図を描く サイズの違う図を並べる AxesGrid toolkit マルチプロットをタイル状に配置する 凡例 凡例を表示 オプション 凡例の位置を自由に決める 凡例のフォントサイズを変える 凡例の表示順序を逆にする。 判例を複数列にしたと

        matplotlib - memoring
      • ハンズオン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
            • オブジェクトでの作業 - JavaScript | MDN

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

                オブジェクトでの作業 - JavaScript | MDN
              • 現状においてC#のベースを完全に理解できる本のすゝめ - Qiita

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最初に 本記事は以下の本(スラスラわかるC#)にて得た知見のメモと、全体を通して何が得られたのかレビューする内容となっております。 本の購入を検討中の方はもちろんC#をこれから学びたい・復習したい方の参考になればと思います。 またUnity 2019.1以降は「CSHARP_7_3_OR_NEWER」っていうシンボルを使ってC#7.3が使えるのでお試しあれ。 1章 C#プログラミングを始めよう 所感 第1章ということで、全くの初心者からでもイメージしやすいように、プログラムとは何かを説明したり、内部での処理構造を図解されていました。そこ

                  現状においてC#のベースを完全に理解できる本のすゝめ - Qiita
                • Async design with Unity3D

                  3. ゲーム ループ ● ゲームでは、どこか大元でループが回ってる while (isAlive) { // 固定 FPS なら、所定の時間が来るまで Sleep gameTime = … // ゲーム時間を進める foreach (var obj in gameObjects) { obj.Update (gameTime); } } 1フレームに1回よばれる処理 4. 重たい処理 ● フレームレートよりも時間がかかる処理をし ちゃダメ ダメな例 string Load(string path) { // 30ミリ秒くらいかかるものとする var data = ファイルからバイナリロード(path); // これも30ミリ秒くらいかかるものとする return デシリアライズ(data); // 30 FPSだと、このメソッドは33ミリ秒以内に終えないと処理落ち } 2回に分けたい 5.

                    Async design with Unity3D
                  • Python の map, filter, reduce とリスト内包表記

                    1. リストを操作する関数で重要なのはどれ? リスト内包表記は慣れたら使いやすい Python のリスト内包表記に出会って 4 ヶ月が経った。 「Python のリスト内包表記」を読みなおしてみると、 … 同じく数値のリストから、特定の条件に合う要素を抽出する。 print [x for x in [1,2,3,4,5] if x > 3] これまた読みにくい。 (@_@;) と書いていたけれど、今では「シンプルで読みやすく、また書きやすい」と思える。慣れとは恐ろしい。 ^^; (リスト内包表記がネストしてたりすると、すぐに理解出来ないけれど。) Ruby の Enumerable モジュールにはたくさんのメソッドが定義されている Java しか知らなかった頃、Ruby の 配列に定義されているメソッドを見て、「便利なメソッドがたくさんあるなぁ」と思った。Ruby の配列は、Enumera

                    • Hadoopに入門してみた - セットアップからHadoop Streaming まで - - download_takeshi’s diary

                      大規模データを処理する必要が出て来たので、Hadoopを導入してみることになりました。 以下、導入メモです。 セットアップ 以下のような構成で試してみます。環境はCentOSです。 マスター(host001) ━┳ スレーブ(host002) ┣ スレーブ(host003) ┣ スレーブ(host004) ┗ スレーブ(host005) まずは各マシンにJavaをインストール。JDK1.6を落として来てrpmでインストールするか、yum install java-1.6.0*などとたたけばOKです。(rpmでインストールする場合は http://java.sun.com/javase/ja/6/download.html から jdk-6u18-linux-i586-rpm.binをダウンロードして、実行権限を与えてルートで実行すればインストールできます。) 続いてマスターノードにHado

                        Hadoopに入門してみた - セットアップからHadoop Streaming まで - - download_takeshi’s diary
                      • JavaScript 第7版

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

                          JavaScript 第7版
                        • アマグラマーが初めてのAjaxのプログラムを作成するまでの道のり全容 - あと味

                          ここ数日、会社の勉強会でjQueryをすることになって、そのデモとしてAjaxを使ったプログラムを作っていました。まともにAjaxさわったのは初めて。ノウハウが必要そうです。 jQueryの勉強会の内容は、後日整理してアップしますので、お楽しみに。 で、プログラムを作るまでの道のりを備忘録もかねて投稿しようと思います。ぶっちゃけソースレベルは低いです。まだまだ改善すべき点は山ほどありますが、作ったプログラムはたぶん修正しないので、不完全ながら公開します。 作ったプログラム scriptタグを埋め込めば、会社の制作事例を再生するブログパーツのようなもの <script id="js" type="text/javascript" src="http://higashizm.sakura.ne.jp/parts/js/loading.js"></script> これをHTMLのbody内に埋め

                            アマグラマーが初めてのAjaxのプログラムを作成するまでの道のり全容 - あと味
                          • Boost C++ライブラリ - Wikipedia

                            コミュニティとしてのBoostはC++標準化委員会の委員により設立されており、現在でもその多くが構成員として留まっている。このような経緯もあり、BoostコミュニティはC++の標準化において大きな影響力を有している。実際に標準化委員会が発表した「TR1」の2/3以上がBoostライブラリを基にしている。Random, Regex, ThreadなどはいずれもC++11規格の標準ライブラリとして正式に導入・標準化されている。その後もOptionalやAnyなどがC++17規格で導入されており、影響を与え続けている。このことから、Boostは考案された新機能を標準化させる前の試験運用の場であるとも言える。 Boostで公開されるライブラリはコミュニティの公開レビューによって精選されている。Boostを使用して作成したプログラムは、商用、非商用を問わず無償のBoost Software Lice

                            • 言語としての一貫性を重視したPython 3の進化

                              言語としての一貫性を重視したPython 3の進化:よりPythonicなPythonを目指して(後編)(1/2 ページ) Python 3.0では、Python 2で書かれたスクリプトが動かなくなるような実装が行われた。なぜ、後方互換性を崩してまで大きな仕様変更を行ったのか。それは、PythonがよりPythonらしくあるためだ。 前編「Python 3が後方互換性を捨てても求めたもの」では、後方互換性を犠牲にしてでも、よりPythonらしくあるために仕様を変更したことに触れながら、いくつかの機能変更を見てきました。 それは、「誰もが正しいと考える、たった1つの方法をできる限り採用する(There should be one-and preferably only one-obvious way to do it)」というPythonの設計思想を、より高次元で実現するために必要だったから

                                言語としての一貫性を重視したPython 3の進化
                              • Python 2からPython 3への移行 - YAMAGUCHI::weblog

                                はじめに こんにちは、Python界のNintendo 3DSです。結婚式2次会で当たりました。さてPython 3.2がリリースされて、Python 3.3のリリーススケジュールが発表され、いよいよPython Language Moratoriumも終了が近づいてきました。 PEP 3003 -- Python Language Moratorium 「Python 3.1が出てから最低2年間は言語仕様やビルトインは変更しませんよ」というPEP。Python 3.3からは再び更新あり。 Python 3.1 Release Python 3.3 finalは2012年8月18日リリース予定 C/APIではもうモラトリアムは破られているということなので、ぼちぼちPython 3への移行を考えていたらいくつか記事があったのでご紹介します。 参考 zzzeek : zzzeek's Guid

                                  Python 2からPython 3への移行 - YAMAGUCHI::weblog
                                • プログラミングRust

                                  p398、17.3.6の下のコードブロック 【誤】 fn get_name() -> String { std::env::var("USER") std::env::var("USER") // Windows uses "USERNAME" Windowsでは"USERNAME" .unwrap_or("whoever you are".to_string()) } 【正】 fn get_name() -> String { std::env::var("USER") // Windows uses "USERNAME" Windowsでは"USERNAME" .unwrap_or("whoever you are".to_string()) } 訳者まえがき まえがき 1章 なぜRustなのか? 1.1 型安全性 2章 Rustツアー 2.1 Rustのダウンロードとインストール 2

                                    プログラミングRust
                                  • Python: matplotlib で動的にグラフを生成する - CUBE SUGAR CONTAINER

                                    今回は matplotlib を使って動的にグラフを生成する方法について。 ここでいう動的というのは、データを逐次的に作って、それを随時グラフに反映していくという意味を指す。 例えば機械学習のモデルを学習させるときに、その過程 (損失の減り方とか) を眺める用途で便利だと思う。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ python -V Python 3.6.5 $ pip list --format=columns | egrep -i "(matplotlib|pillow)" matplotlib 2.2.2 Pillow 5.2.0 もくじ もくじ 下準備 静的にグラフを生成する 動的にグラフを生成する グラフを延々と描画し続ける Jupyte

                                      Python: matplotlib で動的にグラフを生成する - CUBE SUGAR CONTAINER
                                    • Pythonでリストをflattenする方法まとめ - Soleil cou coupe

                                      参考 1段ネストしたリストをflattenする方法 Making a flat list out of list of lists in Python - Stack Overflow 2段以上ネストしたリストをflattenする方法 Flatten (an irregular) list of lists in Python - Stack Overflow Right Foot In: More on python flatten 色々方法があるみたいなので書留め。 1段ネストしたリストをflattenするとは つまり、 l = [[1,2,3],[4,5,6], [7], [8,9]] を [1,2,3,4,5,6,7,8,9] にするということ。 reduceを使った方法 reduceを使ってリストを畳み込むことができる。 reduce(lambda x,y: x+y,l) 組込み

                                        Pythonでリストをflattenする方法まとめ - Soleil cou coupe
                                      • Python入門

                                        第1回 Pythonってどんな言語なの?(2023/09/11) Pythonとは シンプルで覚えることが少ない構文 1行で多くの処理を記述可能 豊富な標準ライブラリと外部ライブラリ Pythonの外部ライブラリを使えば、単回帰分析を行うコードも数行に Pythonを学ぶための環境 [Jupyter Notebook]リンクを使ったPython環境 第2回 Hello Python:一番簡単なプログラムを作ってみよう(2023/09/11) 一番簡単なHello Worldプログラム ここまでのまとめ:関数と文字列 もう少し難しいHello Worldプログラム 1行目:変数、代入演算子、input関数 2行目:文字列の結合 3行目:実行の流れ(制御フロー) ここまでのまとめ:変数、演算子 より複雑なHello Worldプログラム 関数定義 ここまでのまとめ:関数定義 第3回 数値と算術

                                          Python入門
                                        • SimpleXMLとXMLReaderのまとめ(PHP勉強会で話してきたコード) - 肉とビールとパンケーキ by @sotarok

                                          で。 第34回PHP勉強会資料 - 肉とご飯と甘いもの @ sotarok をUPしてこれでいいや、と満足していたら、即座にid:maru_ccさんからツッコミが入ってしまったので、 仕方ないので(ぉ、コードもUPします。 チューニング、というか、大規模なXMLファイルを扱うところ、もうちょっと色々検証してデータ出したいのですが、なんていうか気力がないので(ぉ、とりあえず先日はなした内容だけでも、と思ってUP。 SimpleXMLのインスタンス生成 SimpleXMLのインスタンスの生成方法は2種類×2種類あります。 文字列から、インスタンスを生成 文字列から生成する場合、一番楽なのは、以下のように、simplexml_load_string関数を使います。例えば、以下のようにします。 <?php // $xml_string に、XML文字列が入っているものとする $xml_string

                                            SimpleXMLとXMLReaderのまとめ(PHP勉強会で話してきたコード) - 肉とビールとパンケーキ by @sotarok
                                          • JavaScriptにおけるvar/let/constの使い分け

                                            JavaScriptの3つある変数宣言、varとletとconstは、よく混乱を生みます。どれも変数を宣言することに変わりはないので、違いがわかりにくいのです。このことが初学者を混乱させている場面をたびたび目にしますし、プログラミングに慣れ親しんだ人でも役割を意識しないまま書いていることがあります。 そこでこの記事では、3つの変数宣言の役割とその使い分けについて、それぞれ簡単に紹介してみます。 3種類の変数宣言とその使い分け var – 変数を宣言する varは、JavaScriptにおいて変数を宣言する上で、最も基本的な方法になります。varで宣言された変数は関数スコープとなり、宣言のスコープ先頭への巻き上げ(Hoisting)が行われます。(※変数のスコープおよび巻き上げについてはここでは解説しません。) var x = 10; x = 20; もともと、JavaScriptの変数宣言

                                              JavaScriptにおけるvar/let/constの使い分け
                                            • RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社

                                              最近Railsがガンガン出力するproduction.logを解析してどのアクションがリクエスト多いのか、DBがボトルネックになってるアクションはないか、などを調べているんですが、production.logがどんどん肥大化して、解析ツールの開発イテレーションを回す際の効率が悪くなってきました。 また似たようなツールをやたらめったらコピペで作ってきたため、開発効率も悪くなってきたので、ここでAPIを整理しつつ、あわよくばログをなめる部分を高速化できないものかと考えました。 シンプルに正規表現をつかって変化する箇所を切り出していたのですが、これではかなり重いのは自明ですし、がんばって文字列をパースするパーサを作ってもrubyではあまりスピードは出なそう、でもrubyで書きたいし.... ということで、一度パースしたデータを読込みに効率よさそうな形式に変換することで、次以降の解析を高速化しよう

                                                RailsのログファイルをMessagePackで超高速解析!|TechRacho by BPS株式会社
                                              • ハンズオン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
                                                • 闇Pythonista入門(Pythonワンライナーのテクニック集) - cocuh's note

                                                  世界には1行でプログラムを書くワンライナーという技巧的プログラミングの世界があります。 ワンライナーと言われる言語の多くはPerlやRubyなのですが、委員長キャラのPythonでもワンライナーができます。 PEP8とZen of Pythonで綺麗になっているPythonicな世界に Pythonでも1行で書いたよ!楽しい!! ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ などと技巧プログラミングをする闇Pythonista(私)がテクニックなどもろもろをまとめたものがこの記事になってます。 まだPython力を鍛えている途中のわたしなのでなにか指摘などありましたらコメントをいただければです。 対象読者 Pythonをある程度かける人 Pythonの細かい挙動に興味のある人 白Pythonに飽きてしまった人 テクニック1:代入文を式にする Pythonでの代入は基本改行が必要です。

                                                    闇Pythonista入門(Pythonワンライナーのテクニック集) - cocuh's note
                                                  • FindBugsパターン説明

                                                    FindBugs とは、プログラム中に存在するバグを検出するツールです。 プログラミングで問題となり得るバグパターンを検知し、ユーザにそれを知らせます。 以下、FindBugs が定義するバグパターンの一覧と簡単なサンプルコードを示します。 対象バージョンは 1.2.1 です。 Limy Eclipse Plugin を使えば、Findbugsによるコードチェックを簡単に行えます! Bad practice このカテゴリのバグパターンは、「バッド・プラクティス」。 良くないコード記述法を指します。 AM: Creates an empty jar file entry 空のjarファイルを作成しています。 putNextEntry() メソッド呼出の後、すぐに closeEntry() を呼び出しています。 jar圧縮するコンテンツは putNextEntry() メソッドを呼び出した後で

                                                    • Reactチュートリアル: Intro To React【日本語翻訳】

                                                      2016年10月にReactの公式ドキュメントが刷新されました。それに伴いチュートリアルの内容も新しいものとなりました。当ブログでは以前のチュートリアルも日本語に翻訳していましたので、今回も翻訳しました。自分のReactの知識をフル活用して、それなりにわかりやすく訳したつもりです。ぜひ参考にしてください。 当記事は以下のReactの公式チュートリアルを日本語に翻訳したものです。 Tutorial: Intro To Reactまずこのチュートリアルを進める上で、以下のCodePenのコードを使用します。フォークしてから始めてください。 Tic Tac Toe – CodePen以下、チュートリアルの日本語訳となります。 What We’re Building – 何を作るのかToday, we’re going to build an interactive tic-tac-toe gam

                                                        Reactチュートリアル: Intro To React【日本語翻訳】
                                                      • Image::Magick を使って大量画像のサムネイル画像を一括自動生成

                                                        お仕事で素材集 CD-ROM 内の画像ファイル全2万点を全てリサイズして欲しいという依頼が来た。自社のコンテンツに使うためのリサイズ作業です。初めは OPTPiX webDesigner のバッチ処理で何も考えず 50 x 40 px にリサイズ。縦横比が違う画像が一杯なので何とも無惨な画像が数時間後にできあがった・・・orz 仕方がないので、PhotoShop のバッチ機能でトリミング〜リサイズ処理をやってみた。どうやら素材集の jpeg の圧縮パラメータが違うようでリサイズ後の保存時にダイアログが開いて圧縮パラメータをどうするかいちいち聞いてくる。OK ボタンを押すだけなのだが、全然バッチになってない・・・orz 仕方がないのでリターンキーを押下状態にしてセロハンテープを貼り付けて帰宅時に放置。今日の朝に完成しているはずだったけど、しっかりと PC がフリーズしてました・・・orz し

                                                        • Pythonのイテレータとジェネレータ - Qiita

                                                          Pythonのイテレータ(iterator)とジェネレータ(generator)についてまとめてみます。 (追記2018.12.25: Python3の文法に全面的に置き換えました) イテレータ: 要素を反復して取り出すことのできるインタフェース ジェネレータ: イテレータの一種であり、1要素を取り出そうとする度に処理を行い、要素をジェネレートするタイプのもの。Pythonではyield文を使った実装を指すことが多いと思われる Python組み込みのコレクション(list, tuple, set, dictなど)はどれもイテレーション可能ですが、組み込みのコレクションを使った繰り返し処理ではあらかじめコレクションに値を入れておく必要があるため、以下のようなケースではイテレータやジェネレータを自分で実装したいというケースがあると思います。 無限に繰り返すイテレーション 要素すべてをあらかじめ

                                                            Pythonのイテレータとジェネレータ - Qiita
                                                          • 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
                                                            • RubyのString/Regexpクラスによる強力な文字列操作/正規表現

                                                              連載目次 前回の「RubyのRangeクラスと範囲オブジェクト、範囲演算子、イテレーターの使い方」では、数などの範囲を表現するためのRangeクラスと、ArrayクラスやHashクラス、Rangeクラスに関わりの深い概念である「イテレーター」について解説しました。 今回も、引き続きRubyの組み込みクラスの解説を行います。ここでは、特に文字列を表現するためのStringクラスと、正規表現を扱うためのRegexpクラスについて学びましょう。 Stringクラスにも有用なメソッドがたくさんありますし、正規表現は文字列と密接に関わっており、文字列を扱う上で非常に強力な武器となります。ただし強力であると同時に、自分以外の人が書いた正規表現の意味を理解するのは困難です。用法用量を守って正しく正規表現を使いこなしましょう。 Stringクラスのメソッドに文字列操作を、よく使うものを中心に紹介 Stri

                                                                RubyのString/Regexpクラスによる強力な文字列操作/正規表現
                                                              • Rustで少しずつリバーシを作ってみた

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

                                                                  Rustで少しずつリバーシを作ってみた
                                                                • Python2のstrは死んだ - atsuoishimoto's diary

                                                                  Python3の概略をざっと聞くと、Python3ではPython2のユニコード型が文字列型になり、文字列型はバイト文字列型になった、というイメージを持ってしまう人も多いだろう。Python2の s="spamspamspam" は、Python3の s=b"spamspamspam" と同じだ、と。 しかし、Python3に"バイト文字列"なんて存在しない。あるのは "bytes"だ。複数形を示す "s"に注意しよう。bytesはバイトのコンテナであり、バイトとは整数値だ。バイトは文字ですらないのだ。 そう、だからもう認めよう。Python2のstrは死んだ。Python3にはもう存在しない。strは消え去った。お亡くなりになった。お隠れになった。成仏した。主の御許に召された。バージョン履歴に残るゴミクズとなった。その生涯は幕を閉じ、アンコールに応じることもないのである。 strとbyt

                                                                    Python2のstrは死んだ - atsuoishimoto's diary
                                                                  • 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
                                                                    • JavaScriptでゲームシナリオを快適に実装する(デモ有) - Qiita

                                                                      以下のような人向けの、実践的なサンプルやデモを含む記事です。 ゲームのシナリオデータをJavaScriptできれいに書き下したい デモ ゲームの敵・NPC等の動きをJavaScriptできれいに書き下したい デモ Flash や AfterEffects のタイムライン編集でやるようなアニメーションを JavaScript で実装したい デモ1 デモ2 Web UIのチュートリアルとして「実際に操作している様子」を画面上で見せる機能を実装したい デモ async-await の同期版みたいなものが欲しい ジェネレータの有用性を理解したい 「普段はJavaScriptをフロントエンド開発に使用している」という読者を想定して書いていますが、例えば async-await についてよく知らないという方は、それに関する記述を読み飛ばしていただいて構いません。 事の発端 今年の新年会で同僚から「エイ

                                                                        JavaScriptでゲームシナリオを快適に実装する(デモ有) - Qiita
                                                                      • Baseunits Library - 都元ダイスケ IT-PRESS

                                                                        さて、Java Advent Calendar -ja 2010 : ATND 10日目。昨日は、id:yuroyoro でした。二日連続で真っ黒な魔術が紹介されたので、ここは真っ白で実用的な奴をひとつ。 最近Domain Driven Design(DDD)っていう設計手法が、自分の周辺一部で話題になっている。当然、賛否両論なんだけども*1、個人的には好きな考え方でして。ま、詳細は色々な方がブログに書いているので割愛します。興味あれば本読んでみましょう。洋書*2だけどw Domain-Driven Design: Tackling Complexity in the Heart of Software 作者: Eric Evans出版社/メーカー: Addison-Wesley Professional発売日: 2003/08/22メディア: ハードカバー購入: 4人 クリック: 113

                                                                          Baseunits Library - 都元ダイスケ IT-PRESS
                                                                        • どうしてそんなに Love Ruby ?

                                                                          いったい Ruby のどこがいいのか? どのくらいいいのか? つーか本当にいいのか? まずはそのへんから。 なぜ Ruby か ――― 最重要事項 言語の好き嫌いは人によってさまざまだ。最初に覚えた言語が一番い いっていう保守的…いや、わるかった、信念の強いひともいる。ある いは、スピードが速いのがいいっていうひともいるし、'write only' にできるのがいいっていうひともいる。さらには「新しいからいい」 という節操のない…じゃなくて、好奇心の強いひともいる。 が、しかし、しかしだ。Ruby がすごい理由はどれもあてはまらない。 Ruby が Ruby たる所以は「書くのが楽しい」ところなのである。 これはめちゃくちゃ重要なことだからもう一度書こう。 Ruby は書くのが楽しいプログラム言語なのだ! どういうところが楽しいか なにが楽しいってそりゃいろいろあるけれども、まずインタプリ

                                                                          • 【Day-2】numpyの勉強に『100 numpy exercise』を全部やってみる(初級・中級編) - プロクラシスト

                                                                            データ分析ガチ勉強アドベントカレンダー2日目。 数式を扱うことが多くなるので、numpyの復習をしたいと思う。使ったのは100 numpy exercise github.com numpyを用いるさまざまな問題が用意されていて、大変勉強になる。 今回は自分の実力を試すために、自分で解きつつ、よく使ったもの/新しく学んだことを列挙していく。 また、問題の和訳と難易度も掲載しているので、自分の実力を試したい人はどうぞ。 自分が書いたコードともこちらに載せた github.com 2日目は、初級・中級を掲載する。上級は明日挑戦して掲載予定。 ★☆☆ : 初級 ★★☆ : 中級 ★★★ : 上級 問題 結果 numpy配列の基本 配列を作る 形を変える endpointの有無 hstack, vstack, concatenate スカラー値を足すとどうなる? 勉強になった問題(一部抜粋) 24

                                                                              【Day-2】numpyの勉強に『100 numpy exercise』を全部やってみる(初級・中級編) - プロクラシスト
                                                                            • 重い処理を軽くできるJavaScriptライブラリ作ってみた

                                                                              追記: この記事のものは古くメンテナンスされていません。 CPU負荷をかけずにループ処理するJavaScriptライブラリは「CPU負荷を抑えて重い処理を軽くするJavaScriptライブラリ「chillout.js」 | 圧縮電子どうのこうの」を参照ください。 lazyIter.js lazyIter.js は CPU 負荷をかけずにループ処理が可能な JavaScript ライブラリです。 重いループ処理などを軽くすることができます。 ループ内で処理の負荷に応じて遅延させ、結果的に重い処理は軽くなり 元々軽い処理は、ほぼ従来の速度のまま実行できます。 処理の負荷だけでなく、時間のかかるループ処理は 「応答のないスクリプト」警告がでてしまいます。 そのような警告なしで実行できるのも特徴の一つです。 どうに違いがあるのかは CPU 負荷テストページ で実際に試してみてください Pot.js

                                                                              • LINEの多様なサービスを支える機械学習のプラットフォームと開発事例

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

                                                                                  LINEの多様なサービスを支える機械学習のプラットフォームと開発事例