並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 171件

新着順 人気順

イテレータの検索結果1 - 40 件 / 171件

  • プログラミングの超基本的な考え方をド文系の人に説明した動画|shi3z

    哲学者の東浩紀さんと思想史と近代科学史(特にコンピュータ史)の本を一緒に書いてみようという企画が今年から立ち上がった。 すると東さんがある日の生放送で、「しかし俺も最低限プログラムくらいかける必要があるんじゃないか。しかし最低限のプログラムとは何か」と言っていたところ、シラスの桂さんが「エラトステネスの篩ふるいとかですかねえ」と言っていて、もうエラトステネスと聞いたら黙ってはいられない吾輩が怒涛の勢いで生放送したところ、東さんが一番乗りで入ってきてくれたのでその場でライブコーディングしながらプログラムの書き方を簡単に教えることにした。 https://shirasu.io/t/zelpm/c/shi3zlab/p/20240105163405 プログラミング言語習得のコツプログラミング言語は、言語であるため、マニュアルを頭からお尻まで読んで内容を暗記するよりも、「これってどうやんの?」「こ

      プログラミングの超基本的な考え方をド文系の人に説明した動画|shi3z
    • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

      1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能(AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋のAIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

        pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
      • jq 1.7をリリースしました - プログラムモグモグ

        jqがjqlang organizationに移譲され、数名の新たなメンテナーを入れた開発体制に移行してから三か月が経ちました。 私にとってこの三か月はとても濃厚で、これまでのOSS活動の中でも特に大変な期間でした。 itchyny.hatenablog.com github.com リポジトリの管理権限をいただいてからまずやったことは、既存のissueやPRの整理でした。 500ほどのissueとPRに目を通し、ラベルをつけて、解決済みのものを閉じて、直近で入れたいものを独断でリリースマイルストーンに入れていきました。 この整理がついた頃には他のメンテナの活動も活発になり、私の作ったマイルストーンのissueやPRを確認してくれました。 そして先日、ようやく1.7をリリースしました。 1.6から実に五年弱、一時は開発が完全に止まってしまいプロジェクトの存続を危ぶむ声も上がるような状況から

          jq 1.7をリリースしました - プログラムモグモグ
        • 一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog

          この記事は一休.com Advent Calendar 2023 25日目の記事です。 一休レストランでは、よりスムーズな予約体験の提供を目的とするシステムのリニューアルを進めています。その一環として、2023年10月から、レストラン個別ページの表示から予約までのスマートフォンビューにおいて、バックエンドのサーバをRustで書かれたものに置き換えました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) October 4, 2023 本番運用が始まって3か月近く経ちましたが、これまで安定して継続的な開発と運用ができています。これはRustだからと構えることなく、「ふつう」のバックエンド

            一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog
          • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)

            執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

              「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)
            • 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
              • 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
                • 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
                  • 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で導入予定のイテレータを完全理解する✌️
                    • 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
                      • Go1.22で登場するかも!?開発中の新機能イテレータを使ってみる!

                        導入 Go1.21が先日リリースされ、スライスとマップに関する汎用的な処理を扱う標準パッケージ (slicesとmaps) が導入されましたが、 直前になって入る予定の maps.Keys が削除されてしまいました。 これはイテレータが実装予定のため maps.Keys 等はイテレータの実装を待ってからの方が良いと判断されたためだと思われます。 Go1.22で実装予定のイテレータとはどういう機能なのか、イテレータにすることで何が嬉しいのかがよく分からなかったので調べてみました。 この記事で知れること Goでのイテレータの実装がどのようになるのか (2023/08/30現在の実装) イテレータのメリット 事前準備 gotip は開発中のGoのコードを扱うことができるCLIツールで、以下のコマンドでインストールすることができます 2つ目のコマンドの末尾の数字 (510541) はGoのチームが

                          Go1.22で登場するかも!?開発中の新機能イテレータを使ってみる!
                        • イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート

                          はじめに 株式会社ナレッジワークの上田(@tenntenn)です。 2024年5月25日(土)に台湾で行われたGopherDay Taiwan 2024というGoのカンファレンスにキーノート(基調講演)スピーカーとして招待頂き参加しました。 登壇中の様子 筆者は過去に海外カンファレンスであるGopherCon(アメリカ)やGopherCon India(インド)にプロポーザルを提出し、登壇した経験があります。しかし、基調講演を行うのは初めてで英語の登壇も数年ぶりでした。 基調講演のお誘いは、前職(株式会社メルペイ)の同僚であるtenling(てんりん)さんからで、2023年のアメリカで行われたGopherConでお話したことがきっかけでした。 他の登壇者との写真。左からマネーフォワードのluccafortさん、メルペイのtenlingさん、筆者、LINEのDevRelで筆者と同じGoogl

                            イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート
                          • Rustの練習帳

                            Rustは速度や安全性、並行性に優れたプログラミング言語で、ゲームエンジン、オペレーティングシステム、ブラウザなど、さまざまな分野で使われています。Rustは学習が難しい言語だと言われていますが、本書では小さなコマンドラインツールを多数書くことを通して、Rustの機能やテスト方法を素早く学ぶことができます。各章では、Rustの重要な概念を取り上げ、関連するコマンドラインツールを作成しながら学習を進めていきます。Rustの初心者から経験者まで、実際にプログラムを書きながらスキルを向上させたい人に最適な一冊です。 賞賛の声 訳者まえがき まえがき 1章 イントロダクション 1.1 Hello, world! 1.2 Rustプロジェクトのディレクトリ構成 1.3 Cargoを使ったプロジェクトの作成と実行 1.4 統合テストの書き方と実行方法 1.4.1 プロジェクトに依存関係を追加する 1.

                              Rustの練習帳
                            • #Unity ゲームプログラミングにおいて例外処理は必要か? - 土屋つかさの技術ブログは今か無しか

                              導入 TwitterのTLでヤスハラユウジさんのポッドキャストが流れてきたので聞いてみました。 voicy.jp 「ゲームプログラミングでは例外処理の実装は不要なのでは?」というお題で、興味深く拝聴しました。7分弱の音源なのでみなさんも是非お聞きください。 内容について直接の意見はありません。土屋もUnityでコード書いている時にtry-catchを書く事は無いと思います。秒間60フレームで処理してる時にメモリ確保に失敗して例外が送出された時、対応しようがあるとはちょっと想像できません(例外処理してもしなくてもアプリは落ちるんじゃないかと思います)。 ただ、「try-catchを書かない事」と「例外処理をしない事」は別の話です。try-catchは例外処理という機構の一部に過ぎず、我々ゲームプログラマも日常的に例外処理コードを書いているんだよという話を書いておこうと思います。 例外処理≒実

                                #Unity ゲームプログラミングにおいて例外処理は必要か? - 土屋つかさの技術ブログは今か無しか
                              • TS 5.6のiterator helpersサポート――BuiltinIteratorsのwhat & whyを知る - Qiita

                                先日、TypeScript 5.6 Betaが公開され、あわせてリリースノートも出ました。 この記事では、TS 5.6の新機能の中でもIterator helpersに注目します。特に、Iterator helpersのサポートに合わせて型定義に追加されたBuiltinIteratorsやBuiltinAsyncIteratorsについて解説します。 Iterator helpersとは Iterator helpersは、ECMAScriptのプロポーザルのひとつであり、この記事の公開時点ではStage 3という完成目前の状態にあります。TypeScriptではStage 3に到達したプロポーザルが実装されるので今回これが実装されることになりました。 ランタイムの実装としては、この記事公開時点ではGoogle Chrome 122, Node.js 22.0.0, Deno 1.42など

                                  TS 5.6のiterator helpersサポート――BuiltinIteratorsのwhat & whyを知る - Qiita
                                • ERB/dRubyを祝う25周年記念 - @m_seki の

                                  AIタイトルアシストなら大袈裟でも恥ずかしくない! n月刊ラムダノートVol.4, No.1の記事を読むぞ 「手を動かして学ぶストリーム処理入門」でKafkaの気持ちを理解したくなりました。 でもKafkaを使うのはめんどくさいので全部Rubyで書いてみようと思います。 実験用のデータ github.com githubに実験用のデータが置いてある。親切だ! ヘッダつきタブ区切りのテキストファイルに気象情報が書いてある。 本文を読み進めると、タブ区切りのまま使わないでJSON風のマップに変換してるようだ。 何度もデータ形式を変換する処理があるのが興味深い。 結局のところ元の情報の表現(カラムの順序)を知っている人が作るんだからタブ区切り(あるいはArray)のままでもいい気がする。 そこは本質じゃないので1ターン目にオブジェクトにしてHashに入れることにした。 require 'pp'

                                    ERB/dRubyを祝う25周年記念 - @m_seki の
                                  • neue cc - R3 - C#用のReactive Extensionsの新しい現代的再実装

                                    R3 - C#用のReactive Extensionsの新しい現代的再実装 2024-02-27 先日、新しいC#用のReactive Extensionsの実装としてR3を正式公開しました!R3はRx for .NETを第一世代、UniRxを第二世代とした場合の、第三世代のRxという意味で命名しています。Rxとしてのコア部分(ほぼdotnet/reactiveと同様)は.NET共通のライブラリとして提供し、各プラットフォーム特化のカスタムスケジューラーやオペレーターは別ライブラリに分けるという形により、全ての.NETプラットフォーム向けのコアライブラリと、各種フレームワーク Unity, Godot, Avalonia, WPF, WinForms, WinUI3, Stride, LogicLooper, MAUI, MonoGame 向けの拡張ライブラリを提供しています。 GitH

                                    • [改訂第5版]C++ポケットリファレンス

                                      この本の概要 C++プログラマー必携の『C++ポケットリファレンス』がリニューアル! 「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」という特徴はそのままに,C++23に対応しました。 信頼と安心の1冊です。 こんな方におすすめ C++を使用するプログラマ ゲーム開発者 本書のサンプル 本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。 はじめに 謝辞 本書の構成 本書の使い方 CHAPTER 1 C++とは C++の歴史と特徴 主な処理系 CHAPTER 2 基本文法 プログラムの例 識別子 演算子 コメント 型 cv修飾子 型の別名宣言 型の自動推論と取得 構造化束縛 キャスト 動的な生成と破棄 COLUMN new/deleteとメモリリーク サイズとアライメント COLUMN アライメントとは?

                                        [改訂第5版]C++ポケットリファレンス
                                      • Node.js 22がリリース | gihyo.jp

                                        OpenJS Foundationは2024年4月25日、Node.jsの新バージョン「Node.js 22」をリリースした。 Node.js 22 is now available! -Node.js Node.js 22 Available Now | OpenJS Foundation Node.js 22 is here 😎 Featuring: require()ing ESM graphs, WebSocket client, updates of the V8 JavaScript engine, and more. Big thank you to @_rafaelgss and @satanacchio for their work on this 🎉 pic.twitter.com/yXgR8fsMqt — Node.js (@nodejs) April 24, 2

                                          Node.js 22がリリース | gihyo.jp
                                        • RubyKaigi 2024のファインディブースで出したRuby Code Quiz解説 - Findy Tech Blog

                                          こんにちは、あるいはこんばんは。 @gessy0129です。 沖縄、行ってきました! 観光、しませんでした! とても楽しかったです! 今回、ファインディブースでは、Ruby歴×Ruby関連のカンファレンス参加回数は?というアンケートと日替わりでRuby Code Quizを実施しました! 全体的なブースの話はDevRelのまっきーがまとめているのでそちらをご覧ください! note.com 本記事では、エンジニアなら気になるであろうFindy Ruby Code Quizの解説をしていきたいと思います!では、早速見ていきましょう! 一日目 - Rubyバージョンの組み合わせ 問題 下記、実行結果のRubyバージョンの組み合わせを答えてください。 なお、ひとつのバージョンはひとつの選択肢にのみ回答できます。 Ruby versions: 3.3.0 or 3.2.0 or 3.1.0 or 3

                                            RubyKaigi 2024のファインディブースで出したRuby Code Quiz解説 - Findy Tech Blog
                                          • Pythonによる地理空間データ分析

                                            地理空間データ分析は、地図や道路などのオープンな情報を分析することで、渋滞予測やナビゲーションなどの有用な情報を得る強力な手段です。さらに、衛星に搭載された各種のセンサーによる画像や国勢調査の情報などを組み合わせることにより、森林破壊や人種差別問題などの社会的課題に対する知見を得る「ロケーションインテリジェンス」として活用することができます。本書は、地理空間データ分析に必要な基本的な知識―GIS、データの種類、空間統計学、可視化技術などを紹介し、公開データとJupyter Notebookで提供されているさまざまな社会課題に関するサンプルコードと解説、QGISなどのオープンなツールを利用して実践的に理解を深めることができる一冊です。 はじめに 1章 地理空間データ分析入門 1.1 データの民主化 1.2 データに関する質問 1.3 空間データサイエンスの概念 1.3.1 地図の投影法 1.

                                              Pythonによる地理空間データ分析
                                            • Go Conference 2024 登壇した #gocon - 私が歌川です

                                              Go Conference 2024に参加し、登壇してきました。 登壇しました Dive into gomockというタイトルで発表しました。2トラックのどちらかで40分トークかな? と思っていたら2部屋ぶち抜きでトークだったのでビビっていました。 発表資料はこちらです。 speakerdeck.com gomockの内部実装を見て、なぜライブラリの内部実装を見るのがよいことなのか、という話をしました。reflectパッケージが好きなので合間にreflectパッケージの話もしています。つまり主題が3つあるわけですね。 gomockの内部実装を見よう リフレクションを知ろう なぜライブラリの内部実装を見るのか知ろう 今回はgomockの実装を掘り下げることで、魔法のように見えるイディオムの裏にある処理を知ろう、という方向性でやりました。今回の発表でgomockの内部実装を全員が完全理解できた

                                                Go Conference 2024 登壇した #gocon - 私が歌川です
                                              • TrinoとIcebergでログ基盤の構築 | さくらのナレッジ

                                                はじめに 2023年10月5日(木)にTrino / Presto Conference Tokyo 2023 (Online)が開催されました。本記事はイベントにて発表した内容をご紹介します。 社内の監視サーバについて さくらインターネットでは現在社内の各チームでPrometheus, Elastic Stack, Lokiなどの監視基盤を個別に運用しています。この状態では運用負荷が大きいためSRE室でログ基盤を提供することにより、運用の手間を減らすことや運用レベルを底上げしてコスト削減ができるのではないかと検討しています。既存のOSSでの運用も行ってみたものの、マルチテナント提供・ライセンス体系の問題など課題があったことからTrinoとIcebergでの開発を始めました。 Icebergとは Icebergはビッグデータ・データレイクを構築するためのストレージフォーマットです。データの

                                                  TrinoとIcebergでログ基盤の構築 | さくらのナレッジ
                                                • Go 1.22で追加予定のrange over intと、GOEXPERIMENT入り予定のrange over funcを触ってみる - every Tech Blog

                                                  目次 はじめに range over int range over intとは range over intをGo Playgroundで触ってみる range over intを用いる利点 よくあるfor文が簡潔になる リーディングコストが軽減される range over func range over funcとは range over funcをGo Playgroundで触ってみる func(func()bool) func(func(V)bool) func(func(K, V)bool) range over funcを用いる利点 シンプルで標準的なイテレータを実装できる おわりに Appendix: range over funcを理解するコツ はじめに 株式会社エブリーでDELISH KITCHEN事業のバックエンドエンジニアをしている、GopherのYuki(@YukiB

                                                    Go 1.22で追加予定のrange over intと、GOEXPERIMENT入り予定のrange over funcを触ってみる - every Tech Blog
                                                  • Rust 2024 Editionがやってくる! - paild tech blog

                                                    お手伝いの@helloyukiです。今日はRust 2024エディションの話についてまとめておきたいと思います。ちなみに注意点ですが、Rust 2024エディションはまだリリースされていません。したがって、この記事の情報(2024年4月ごろ執筆開始)はリリース時点で変更されている可能性があります。 エディションとは Rustには「エディション」(あえて日本語にするなら「版」?)という概念があります。エディションは、後方互換性を保ちながらも、新しいキーワードの追加をはじめとする言語全体に影響を与えるような変更を加えるものです。3年に一度エディションは改定されることになっており、前回は2021年に改定がありました。これまでのエディションとしては、2015、2018、2021の3つが現状あります。 エディションの仕組みは2018年に導入されたものでした。2018年当時、Rustは非同期関連の言語

                                                      Rust 2024 Editionがやってくる! - paild tech blog
                                                    • RISC-V で自作OS - 借り初めのひみつきち

                                                      じだいは RISC-V です。 github.com RISC-V とは Windows でよく使われている x86 は 40 年以上前から基本的に互換性を持ったまま拡張を続けた結果、現代ではほとんど必要ない機能との互換性のためにかなり複雑な仕様になっています。 また、 Arm に比べると高価で発熱が多く構成の自由度が低いので Windows 以外の用途ではあまり使われません。 Windows 以外でメジャーな Arm は組み込みからサーバーまで幅広い用途に使われますが、ライセンスやロイヤリティの関係でベンダーの自由度が制限されていて離れるベンダーが増えてきています。 ある程度の性能が必要なコンピュータは今までは x86 か Arm の実質2択でしたが、最近はシンプルで自由な RISC-V が注目されています。 RISC-V の命令セット RISC-V の命令セットは、32bit 基本命令

                                                        RISC-V で自作OS - 借り初めのひみつきち
                                                      • イテレータによってGoはどう変わるのか

                                                        イテレータによって Goはどう変わるのか Go Conference 2024

                                                          イテレータによってGoはどう変わるのか
                                                        • Rustを学びつつ週末レイトレーシング(Ray Tracing in One Weekend)をやった記録

                                                          1. はじめに Rustの勉強がてら、今の自分でできるかぎりやってみることにした。 基本的にはこちらの邦訳を参考にし、適宜他の方のC++による実装や原文とそのリポジトリを参照することにする。 章の名前は最初に挙げた邦訳から借用する。 数学の理解度が足りないので、基本的にはコードを翻訳していくだけに留める。 なお、コード中では、基本的に整数はi32を、小数はf64を使うものとする(考えることが減るので)。 また、コードの変更の表示にdiffを用いているが、追加した・書き換えた行のみを記述するものとする。 ソースコードは以下まで。 もしこの記事をもとに書いてみようと思っている場合 今回、手元では章ごとにディレクトリを分けている。その際ディレクトリ名が変わることによってコードも一部が変化している。具体的には以下の2箇所が必ず変化する。 main.rsのuse 7章の記述 画像出力の際の画像名 4

                                                            Rustを学びつつ週末レイトレーシング(Ray Tracing in One Weekend)をやった記録
                                                          • 【Python】イテレータが何となく分かる様になる - Qiita

                                                            イテレータ イテレータとは? データの流れを表現するオブジェクト 要素を1つずつ取り出せるオブジェクト __iter__()メソッドから取り出されたオブジェクトがイテレータオブジェクト データがなくなると、StopIteration 例外を送出する イテレータオブジェクトを作ってみる fruits = ["apple", "orange", "grape"] iterator = iter(fruits) print(iterator) # <list_iterator object at 0x10fd7bf70>

                                                              【Python】イテレータが何となく分かる様になる - Qiita
                                                            • Flaxを使用したRecurrentGemma2Bグリフィンモデルのファインチューニングチュートリアル(Kaggle、GoogleColabノート付) - Sun wood AI labs.2

                                                              セットアップ まずは必要なライブラリをインストールし、環境を整えていきます。 !pip list --format=freeze > requirements.kaggle.txt !pip list pip listコマンドでインストール済みのライブラリを一覧表示し、requirements.kaggle.txtファイルに出力しています。これは現在の環境を再現するために必要な情報です。 次に、RecurrentGemmaライブラリをインストールします。このライブラリはグリフィンモデルを扱うために必要です。 !pip install git+https://github.com/google-deepmind/recurrentgemma.git これでRecurrentGemmaがインストールできました。続いて、必要なライブラリをインポートしていきます。 import pathlib f

                                                              • Go 1.23 で導入予定のイテレータでLINQ的な検索の実装を試した - tomato3713’s blog

                                                                最近は Go 1.23 で導入予定のイテレータを試して使い方を探っています。1 そのなかでイテレータを使ってLINQ的なことができないかを試したところ、良さそうな形になったので紹介します。 LINQは、C#やVisual Basic、F#などの.NET系の言語でサポートされている様々なデータソースに対するクエリ機能のことを指します。 LINQを使うと LINQ の概要 - .NET | Microsoft Learnの冒頭にある例のような単純なクエリ構文を使ってデータの変換や検索などが記述できます。 Go 1.23で導入予定のイテレータもLINQと同様に連続したデータに対して統一的で簡潔なインターフェイスを与える仕組みなので、イテレータを使うとLINQ的な実装がうまく記述できそうという見込みがありました。 試すために最小限のメソッドしか準備しておらず、実装途中ですがライブラリ形式に纏めてみ

                                                                  Go 1.23 で導入予定のイテレータでLINQ的な検索の実装を試した - tomato3713’s blog
                                                                • Java開発者を対象としたPythonコーディング研修─インターネット・アカデミー | IT Leaders

                                                                  IT Leaders トップ > テクノロジー一覧 > スキルアップ > 新製品・サービス > Java開発者を対象としたPythonコーディング研修─インターネット・アカデミー スキルアップ スキルアップ記事一覧へ [新製品・サービス] Java開発者を対象としたPythonコーディング研修─インターネット・アカデミー 2024年1月24日(水)日川 佳三(IT Leaders編集部) リスト Web専門の教育講座を運営するインターネット・アカデミーは2024年1月24日、研修コース「Pythonプロフェッショナル研修 for Javaエンジニア」の受付を開始した。Java言語の開発者が対象のPython言語のコーディング研修コースである。Java開発者が知るべきPythonの作法やつまづきやすいポイントの解説から、Pythonコーディング時の重要事項を習得する。研修時間は20時間(1日

                                                                    Java開発者を対象としたPythonコーディング研修─インターネット・アカデミー | IT Leaders
                                                                  • OxcのLinter、`oxlint`のコードを読む | Memory ice cubes

                                                                    Linter | The JavaScript Oxidation Compiler https://oxc-project.github.io/docs/guide/usage/linter.html コントリビュートした記念としても、記録を残しておこうかと。 Oxcとoxlint oxc-project/oxc: ⚓ A collection of JavaScript tools written in Rust. https://github.com/oxc-project/oxc Oxcって名前は、Rustで書かれたJS向けツールセット群の総称みたいなもの。 Linter Parser Resolver Formatter Transformer Minifier etc… みたく手広くカバーしてて、eslintの置き換え(完全互換ではないが50x-100x速い)を目指してるのが、

                                                                      OxcのLinter、`oxlint`のコードを読む | Memory ice cubes
                                                                    • 空の区間はすべて等しいか - Qiita

                                                                      経緯 社内で勉強会を開いていて、こんな話をしました。 $l \leq x \lt r$ のような片側の端点だけを含む区間を半開区間といい、$[l,r)$ のように表記します。 配列のスライス(連続する部分列)を表すときは、半開区間を使って「$l$ 番目から $r$ 番目まで($l$ 番目を含み、$r$ 番目を含まない)」とすると便利です。この方法のいいところは、 $l = r$ とすれば空の区間を表すことができ、それを要素と要素の間を表すのにも使えるという点です。たとえば $[0, 0)$ は最初の要素の直前、$[1, 1)$ は最初の要素と $2$ 番目の要素の間、$[N, N)$ は最後の要素の直後、といった具合です。1 ここまで説明したところで、聴衆の数学ガチ勢からツッコミが入りました。「それはおかしい、まるで $[1, 1)$ と $[3, 3)$ が異なるものだと言っているように

                                                                        空の区間はすべて等しいか - Qiita
                                                                      • Go 1.23リリース連載 range over funcとiterパッケージ | フューチャー技術ブログ

                                                                        はじめにこんにちは。CSIG 所属の棚井です。 Go 1.23 Release Notes の内容を紹介する「フューチャー技術ブログ Go 1.23 リリース連載」の記事です。 今回は2つの反復(Iterator、イテレーション)処理を取り上げます。 range over funciter パッケージRelease Note, Discussion, Proposal, Issuerange over func と iter パッケージ のリリース内容を確認していきます。 range over func がデフォルトで有効にGo1.22 では GOEXPERIMENT とされた range over func が、Go1.23 からはオプション指定なしで利用可能となりました。 Go 1.23 makes the (Go 1.22) “range-over-func” experiment

                                                                          Go 1.23リリース連載 range over funcとiterパッケージ | フューチャー技術ブログ
                                                                        • forループ: よくあるミスとエラー解消方法 - Python転職初心者向けエンジニアリングブログ

                                                                          forループ: よくあるミスとエラー解消方法 1. forループの概要 Pythonのforループは、リストやイテレータの要素を順番に処理するための構文です。これにより、繰り返し処理を簡潔に記述することができます。 2. forループの基本的な構文 for 要素 in イテラブルオブジェクト: 処理 3. よくあるミスとエラー解消方法 ミス1: イテラブルオブジェクトを正しく指定していない # ミス: イテラブルオブジェクトを正しく指定していない for i in 10: print(i) # TypeError: 'int' object is not iterable 解決方法: range()関数やリストなどの正しいイテラブルオブジェクトを指定します。 # 解決: 正しいイテラブルオブジェクトを指定する for i in range(10): print(i) # 正しい結果: 0か

                                                                            forループ: よくあるミスとエラー解消方法 - Python転職初心者向けエンジニアリングブログ
                                                                          • Samuel Williamsさん「Leveraging Falcon and Rails for Real-Time Interactivity」 ~RubyKaigi 2024 2日目キーノート | gihyo.jp

                                                                            RubyKaigi 2024 キーノートレポート Samuel Williamsさん「Leveraging Falcon and Rails for Real-Time Interactivity」 ~RubyKaigi 2024 2日目キーノート RubyKaigi 2024レポートの第二弾です。今回は2日目の、Samuel Williamsさんによる「Leveraging Falcon and Rails for Real-Time Interactivity」という基調講演です。本発表ではRubyの非同期IOや並行処理を前提としたリアルタイム処理、そしてタイトルにあるようにRailsとの連携が主な話題となります。 前提知識 Samuelさんは過去にRubyKaigi 2019とRubyKaigi 2023に登壇しました。 2019年のときは、TCP Serverにおける、よくあるfo

                                                                              Samuel Williamsさん「Leveraging Falcon and Rails for Real-Time Interactivity」 ~RubyKaigi 2024 2日目キーノート | gihyo.jp
                                                                            • 配列やオブジェクトより便利!ジェネレータとイテレータの基礎知識 - コハム

                                                                              Generators and Iterators in JavaScript 記事は上記記事を意訳したものです。 ※当ブログでの翻訳記事は元サイト様に許可を得て掲載しています。 イテレーションプロトコル JavaScriptには、イテレータプロトコルとイテレーブルプロトコルを定義するイテレーションプロトコルがあります。これらのプロトコルは、値のシーケンスを作成し、それらを反復処理するための標準的な方法を提供します。 イテレーブル - Symbol.iteratorメソッドを持つオブジェクトです。このメソッドは、オブジェクトの要素を反復処理するために使用できるイテレータオブジェクトを返します。これがイテレーブルプロトコルです。配列やマップなどの一部の組み込みオブジェクトはイテレーブルですが、通常のオブジェクトは違います。 イテレータ - nextメソッドを持つオブジェクトで、現在の反復の値と

                                                                                配列やオブジェクトより便利!ジェネレータとイテレータの基礎知識 - コハム
                                                                              • GoFの23パターンは、2023年の今でも有効でしょうか? | mond

                                                                                有効なものとそうではないものがある、というのが正直なところです。たとえば、言語処理系のようなものを作るなら未だにVisitorパターンは有用です(が、それの対になるInterpreterパターンは実用上使いづらすぎてあまり見かけませんが)。 Compositeは有効とか有効でないとか以前にオブジェクト指向言語でツリー構造作るなら「これ以外に良いやりかたあったっけ」みたいな奴なので当然に現役ですし、Observerも変種含めるなら今でも普通にあります。Strategyについては、メソッド一つで済むようなものは結局関数オブジェクトとして書けるわけで、そこに吸収されていった感があります。 今でも使われているけど、有効性(有害性)について議論が分かれるパターンもあって、その代表格はTemplate Method(その一種とも言えるFactory Methodも同じ)でしょう。実装継承の有害性が広く

                                                                                  GoFの23パターンは、2023年の今でも有効でしょうか? | mond
                                                                                • WxBeacon2 (OMRON 2JCIE-BL01) のデータを M5Stack で取得する

                                                                                  WxBeacon2 とは 株式会社ウェザーニューズ(以下 WNI )による 24 時間お天気番組ウェザーニュースLiVE とリンクしたアプリケーション ウェザーニュース では サンクスポイント 2000 pt以上取得するとウェザービーコン2(以下 WxBeacon2 ) をゲットできます。(別途有償購入も可能) ちなみに実体は OMRON 2JCIE-BL01 です。 ウェザービーコン2 BLE(Bluetooth Low Energy) library M5Stack では ESP32 BLE Arduino にて BLE 通信が可能です。しかしバイナリの占有サイズが大きすぎる等、残念ながら不評です。 そこで NimBLE-Arduino を使用することとします。 開発環境から適切な方法で NimBLE-Arduino をインストールしてください。 NimBLE-Arduino では送受

                                                                                    WxBeacon2 (OMRON 2JCIE-BL01) のデータを M5Stack で取得する