並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 183件

新着順 人気順

サブルーチンの検索結果1 - 40 件 / 183件

  • 「料理はアルゴリズムと気づいた」…そうすると「調理中も洗い物はどんどんやれ」が「終わったリソースは早く解放してメモリを空けろ」となり、実践的かつ納得感。

    hyousuke @hyousuke デバッグと呼んでみてようやっと、料理はアルゴリズムであり、並列性、サブルーチン化、ライブラリの利用、局所最適と全体最適などのプログラミングのテクが役に立つ分野だと気づき始めてきた 2024-06-11 18:43:52

      「料理はアルゴリズムと気づいた」…そうすると「調理中も洗い物はどんどんやれ」が「終わったリソースは早く解放してメモリを空けろ」となり、実践的かつ納得感。
    • 家族(プログラマ)が筆不精で返信が遅いことが多いので「とりあえず返り値をくれ」と伝えたらわりとスムーズになった

      リンク IT用語辞典 e-Words 戻り値とは - IT用語辞典 戻り値【返り値 / リターン値】とは、プログラム中で呼び出された関数やメソッド、サブルーチンなどが処理を終了する際に、呼び出し元に対して渡す値。これに対し、呼び出し元から関数などに対してパラメータとして渡す値のことは「引数」(ひきすう、argument)という。 3 users リンク IT用語辞典 e-Words Nullとは - IT用語辞典 Null【ヌル】とは、プログラミング言語やデータベースのデータ表現の一種で、何のデータも含まれない状態のこと。言語仕様や文字コードに規定されたヌル文字などを指すこともある。変数やフィールドなどが作られてから一度も値が記録されたことがない、「データが存在しない」特殊な状態を表す。 3 users 47

        家族(プログラマ)が筆不精で返信が遅いことが多いので「とりあえず返り値をくれ」と伝えたらわりとスムーズになった
      • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

        はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ方式 プログラムの基本的な実行方式は大きく分けて2つあります。 コンパイラ方式 コンパイラって何? コンパイラは、プログラム全体を読み込んで、それをコンピュータが理解できる形(機械語)に一度に変換するプログラムです。 どういう時に使うの? コンパイラは、プロ

          メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
        • 「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓

          プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。1回目は、「アイデアだけでは十分ではない」について。 Ruby開発のきっかけ まつもとゆきひろ氏:じゃあ、始めます。Rubyを作り始めた記録が残っているんですが、その当時勤めていた会社の先輩にあたる人が、本を書くという話になったんですね。 その時に、彼は『プログラミング言語を作りながら学ぶオブジェクト指向』という本を書くと言ってきたんですね。編集の人と話をしていく中で「どういう企

            「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓
          • テスト技法「同値分割」を信頼していいのかわからなくなった - 若くない何かの悩み

            これまで同値分割を信頼できる手法だと信じてきました。最近になってどうして同値分割が信頼できる方法なのかその理由を私が説明できないことに気づきました。この原因は2つあります: 同値分割の分割の基準が不明確であること 後述するいくつかの仮定を満たさない場合、ある同値パーティションの代表値の出力が正しければその同値パーティションの他の値の出力も正しいといえる根拠に乏しいこと この2つから、不明確な基準の同値分割はその信頼性の説明ができないこと、同値テストは後述するいくつかの仮定が満たされたときのみ有効な手段でありいずれかの仮定が満たされない場合はさして信頼できないことが導かれます。 この記事ではこの結論に至るまでの過程について詳しく説明していきます。なお誤りのご指摘は大歓迎です。ぜひ皆さんで議論しましょう。 同値分割とは 後述する複数の文献の同値分割の説明に共通しているのは以下の2点です: 入力

              テスト技法「同値分割」を信頼していいのかわからなくなった - 若くない何かの悩み
            • Amazon SESとAmazon Bedrockで問い合わせメールの一次対応を自動化する | DevelopersIO

              「メールでのやり取りなんてレガシーだよね」? いえいえ、生成AIを使えばまだまだ可能性が見えてきます。 みなさん、こんにちは! 福岡オフィスの青柳です。 みなさん、生成AIを使って業務改善してますか? (挨拶) 今回は、「改善したい業務」の上位にランクインしているであろう (俺調べ) 「問い合わせメール対応」を、生成AIを使って自動化・効率化してみたいと思います。 やりたいこと 「問い合わせメール」の対応窓口が抱える課題 利用者から問い合わせを受けた際、なるべく早く「あなたの問い合わせを認識していますよ」という点を利用者に知らせてあげると、利用者は安心しますし、問い合わせ窓口に対する信頼感も向上すると思います。 そのため、問い合わせ窓口では「できるだけ早く一次応答を返す」ことを目標にしている場合も多いかと思います。 しかし、多忙なサポート担当者にとっては様々な対応に追われて、どうしても一次

                Amazon SESとAmazon Bedrockで問い合わせメールの一次対応を自動化する | DevelopersIO
              • ゲームギアで弾幕STGを創ってみた - Qiita

                はじめに 以前、VGS-Zeroというラズパイで動作する自作ゲーム機を紹介させていただきました。 今回、上記の記事でも触れているVGS-Zeroのローンチタイトル「Battle Marine」(下記)をゲームギアに移植してみました。 本書はBattle Marineをゲームギアへ移植した経緯や技術的に苦労した点などを纏めたものとなります。 なお、今回ゲームギア(実機)で動作できるソフトとしてBattle Marineを開発しましたが、セガの公式なライセンス商品ではなく、飽くまでも ゲームギアと互換性のある同人ソフト となります。 何故ゲームギア? Battle Marine のゲームジャンルは「弾幕STG」です。 もしかすると、この点については議論の余地があるかもしれませんが、少なくとも私は弾幕STGとして創ったつもりです。 「Z80のゲーム機」としてはチート級のスペックのVDPを搭載して

                  ゲームギアで弾幕STGを創ってみた - Qiita
                • Scala 3のマクロTips 100連発 - 貳佰伍拾陸夜日記

                  この記事はScala Advent Calendar 2023の12日目だ! Scala 3のマクロを書く上で役に立つ, メタれたTipsたちを紹介するぜ! 勢いに任せて書いていくからサンプルコードがちゃんと動かなかったらごめんな. 一応, Scala 3.3.1を想定しているぞ. マクロ 1. メソッドをマクロとして定義する 2. マクロの本体を実装する 3. マクロ実装の記法の意味を知る 4. マクロで生成されるコードの内容を確認する 5. 引数の式を評価せずに使う 6. 返り値の型をマクロの実行結果によって決める 7. マクロの返り値の型を制限する 8. マクロの返り値の型を書かない 9. マクロで計算された型をテストする 10. マクロで計算された型をScalaTestでテストする 式 11. 定数式の値を得る 12. 定数式でなければコンパイルエラーにする 13. 定数値の式を作

                    Scala 3のマクロTips 100連発 - 貳佰伍拾陸夜日記
                  • ドメイン コントローラーの構築時に言われないと気付かないこと

                    本記事はマイクロソフト社員によって公開されております。 こんにちは。Windows Commercial Support Directory Services チームです。 ドメイン コントローラーは多くの組織で利用されておりますので、今までドメイン コントローラーの設計や運用に関わったことがなかったものの、急に担当することになってしまったという方も多いのではないでしょうか。 今回は、そのような方向けに、これからドメイン コントローラーを新規で構築する際に、言われないと中々気付きにくいことについて、紹介させていただきます。 後から予期しないトラブルに直面することを避けるためにも、構築時から問題の起きにくい構成を目指していきましょう! 非推奨の話※ 以下の構成は推奨しておりませんが、この構成においてサポートをお断りすることはございません。 ただし、最終的に構成変更以外の対処が難しい場合もござ

                    • 現在地からオブジェクト指向プログラミングを捉えなおす、リ・オリエンテーション【OCC2024基調講演レポート】

                      AI時代の開発にオブジェクト指向は必要か、現代の開発における「オブジェクト指向プログラミング」とは何か──。3月24日に開催されたObject-Oriented Conference 2024で「オブジェクト指向のリ・オリエンテーション〜歴史を振り返り、AI時代に向きなおる〜」と題して羽生田 栄一氏が基調講演を行った。 「オブジェクト」とは? Alan Kayより、3つのメッセージ 講演冒頭、羽生田氏は「リ・オリエンテーション」と題した本セッションの意図を、以下のように説明した。 株式会社 豆蔵 取締役 羽生田栄一氏 「一つは『オブジェクト指向ってこんなもんだよ』というオリエンテーションをするということ。もう一つは、そうは言っても『AI時代にオブジェクト指向いらないんじゃないの』という声もあるので、単純にオブジェクト指向にどういう方向性があり得るのか『向き直る』という意味をかけています」

                        現在地からオブジェクト指向プログラミングを捉えなおす、リ・オリエンテーション【OCC2024基調講演レポート】
                      • マルチエージェント経路計画の紹介

                        グラフ上の複数エージェントに対し, 互いに衝突のない経路を計算する問題は マルチエージェント経路計画 (Multi-Agent Path Finding; MAPF) と呼ばれる. MAPF はロボット群による倉庫内での荷物搬送など, 多数の魅力的な応用があり, 2010年代前半から人工知能・ロボティクス分野で盛んに研究が行われている. 本記事は日本語のチュートリアルを提供する. お断り: 正確な話をすることが目的ではないので, 多少の不備には目を瞑ってほしい. 問題定義# まずは, どのような問題が対象か, はっきりさせておこう. 文献によってバリエーションがあるのだが, 基本的なフォームは次の通り. MAPF 問題はグラフ $G=(V, E)$, エージェントのチーム $A= \lbrace 1, 2, \ldots, n\rbrace $, 各エージェント $i \in A$ に対し

                        • 島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから

                          島根県でプログラミング言語「Ruby」に関するイベントを集中的に実施するキャンペーン「Ruby Week」が開催された。そのうちRubyWorld Conferenceを中心に、Rubyの今とこれからを解説する。 島根県で、プログラミング言語「Ruby」の自由さや楽しさ、コミュニティへの貢献という価値観を表現するキャンペーンとして「Ruby Week」が開催された。これまでも開催していた「Ruby biz Grand prix」「RubyWorld Conference」「Ruby Prize」の3イベントを1週間にまとめるとともに、数多くの取り組みを実施。エンジニアやビジネス関係者が数多く島根を訪れる期間となった。 Ruby Weekの中心である3イベントのうち、最も歴史が深いRubyWorld Conferenceは、今回で15回目の開催。国内最大級のビジネスカンファレンスとして、Ru

                            島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから
                          • メインフレームの世界の面白さ。初めてのプログラミングは紙?!【Rubyistめぐり vol.4 ima1zumiさん 前編】 - STORES Product Blog

                            Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第4回はima1zumiさんをゲストに迎えて、お話を聞きました。こちらは前編です。 hey.connpass.com メイプルストーリーでタイピング力を鍛える 藤村:Rubyist HotlinksってコンテンツがRubyist Magainzeにあって、僕はそれを読んで「プログラマっていうのはこういう人たちなんだな」と、やや偏りのあるガイドを基に成長したところがあり、すごい好きだったんですけど、 また復活しないかなと思っているところでふと思いついてやり始めたのがRubyistめぐりです。なんと4回目ということで無事続いてて嬉しいなと思っています。 今回はima1zumiさんにお越しいただきました。Rubyコミュニティの方はご存知の通り、大活躍されているんですが、今日はどんなふうにima1zumi

                              メインフレームの世界の面白さ。初めてのプログラミングは紙?!【Rubyistめぐり vol.4 ima1zumiさん 前編】 - STORES Product Blog
                            • Perl5.38の変更点 - Mobile Factory Tech Blog

                              こんにちは、エンジニアの id:mp0liiu です。 今年も7/2にPerlの最新安定バージョンである5.38がリリースされたので新機能や変更点についてまとめます。 5.38 はかなり変更点が多いですが、ニッチな機能に対する変更も多いので影響の大きそうな箇所だけ知りたい方は最初の方だけ読んで頂くといいと思います。 重要な変更点 class構文の追加 実験的機能としてですが、ついに Perl にclass構文が追加されました。 次のような構文になります。 use v5.38; use experimental 'class'; class Point; field $x :param = 0; field $y :param = 0; method move($dx = 0, $dy = 0) { $x = $dx; $y = $dy; } method print { say "x: $

                                Perl5.38の変更点 - Mobile Factory Tech Blog
                              • 新人研修とケンタ君 - 叡智の三猿

                                わたしが社会人になったのは1990年です。バブル絶頂期のこの時代、日本の会社はいまよりずっと余裕がありました。 大企業は、スキルの無い、新入社員の研修をしっかり行い、育成して戦力として活用する姿勢がにじみ出ていました。 なかには「10年ただ飯論」を展開する会社もありました。 わたしが入社した会社はそこまでの余裕はありませんでしたが、それでも入社後、半年は研修の受講がメインの仕事でした。 古い記憶なので、曖昧ですが、新入社員研修はこんなカリキュラムで行われました。ちなみに拠点実習までは、新卒全員を対象にした研修、拠点実習以降は仮配属先での研修となります。わたしは社内の情報システム部門に配属されたので、拠点実習はその部門で行われる仕事に関わる研修となります。 4月 入社式 オリエンテーション 社会人マナー教育 愛社精神の教育 発表 学生時代の専攻発表 役員による研修 経営・事業の戦略 マーケテ

                                  新人研修とケンタ君 - 叡智の三猿
                                • Ruby: "uselessシンタックスシュガー"シリーズ「引数のforwarding」(翻訳)|TechRacho by BPS株式会社

                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: “Useless Ruby sugar”: Argument forwarding 原文公開日: 2023/11/24 原著者: zverok 日本語タイトルは内容に即したものにしました。段落編成を若干変更し、訳文の一部に強調を加えています。 forwarding(転送)は本記事では英ママとしました。anonymousは「無名」としました。 参考: プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ 本記事は、最近のRubyで出現した"無用な"(さもなければ物議を醸す)構文要素を扱うシリーズ記事の一環です。本シリーズの目的は、そうした機能を擁護することでも批判することでもなく、その機能が導入された理由、設計、そして新構文を使うコードに与える影響を分析するための一種の「思考のフレームワーク」を皆さんと共有すること

                                    Ruby: "uselessシンタックスシュガー"シリーズ「引数のforwarding」(翻訳)|TechRacho by BPS株式会社
                                  • 第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp

                                    Perl Hackers Hub 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは「最近Perlに追加された実験的機能」です。 もとになるモジュールが存在している新機能 最近Perlに追加された新機能の中には、開発サイクルを速く回すためにCPANモジュールとしてプロトタイピングを行ったうえで、Perl本体に実験的な機能として移植し、正式な機能への昇格を待っているものがいくつかあります。本稿ではそのような実験的機能を紹介していきます。 なお、本稿のサンプルコードは基本的に執筆時の最新開発版であるPerl 5.37.11(2023年5月)で動作確認をしています。 try~catch文 ─⁠─正しいエラー処理 Perlで例外を

                                      第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp
                                    • PythonとFORTRANの連携: パフォーマンスと柔軟性の融合 - Python転職初心者向けエンジニアリングブログ

                                      PythonとFORTRANの連携: パフォーマンスと柔軟性の融合 こんにちは、皆さん。今回は、PythonとFORTRANを連携させ、お互いの利点を最大限に活かしてプログラミングを行う方法に焦点を当ててみたいと思います。FORTRANの高い数値計算性能とPythonの柔軟性を組み合わせ、効率的で高速なプログラミングを実現しましょう。 1. PythonからFORTRANサブルーチンを呼び出す まずは、PythonからFORTRANのサブルーチンを呼び出す例を見てみましょう。FORTRANのコードをコンパイルして共有ライブラリを生成し、Pythonからそれを呼び出します。 FORTRANのサブルーチン(add.f90) ! FORTRANのコード(add.f90) SUBROUTINE ADDITION(A, B, RESULT) REAL, INTENT(IN) :: A, B REAL

                                        PythonとFORTRANの連携: パフォーマンスと柔軟性の融合 - Python転職初心者向けエンジニアリングブログ
                                      • Cardputerでプログラミング! - レトロパソコンであそぼう!

                                        前から少しだけ気になっていたCardputerを手に入れた! 少しだけ…という書き方がアレだけど、私の印象は「この小さな液晶と小さなキーボードで何かやる気が起きるんだろうか?」だったからだ。 でも、いざ買えるチャンスが訪れたら迷うこと無く手に入れてしまった(^^;; SNSでの盛り上がりも後押ししたのかも知れないが、あとづけの理由としては某原稿の締切が近かったけどネタが無かったという事情もあるw #本当は某原稿のためにギガンテスを動かしたはずなんだけど…orz 実際に手に入れてから、ようやくスペックを調べ始めた。 本体右上にM5StampS3がペタンと載っているのと、画面サイズが240x135ドット。 あれ?この解像度はM5StickC Plusと同じだ!うむむ、過去にM5Stickを触った時には、効果的な使い方が出来た覚えがない…。 pocketgriffon.hatenablog.co

                                          Cardputerでプログラミング! - レトロパソコンであそぼう!
                                        • AcrobatProで埋め込まれたフォントの構造を確認する – Automation Skill

                                          まいどおなじみTenです。つい先日まで自治会の会長さんというやつをやっていたのですけど、ドキュメントの整備や広報の配布作業とかで手を取られてあっぷあっぷでした。ドキュメント整備からも開放されたのでそろそろエクステンション作りたいなって思っています。まずはIllustrator向けのカラーフォントエディタを作りたいと思います。 まあ、それはおいておいて、先日はAcrobatのPDF内部構造の参照機能を見ていただいたんですけど、Acrobatさんには他にも面白い機能がありますので、今回はそちらをご紹介する次第です。 まず、例によってPDFの内部構造を覗き見してみます。 このようにフォントが埋め込まれていて色々と情報が見えるのがおわかりいただけるかと思います。ここで見えているCFFというのはCompact Font Formatの略称で、Postscript系フォントの中核をになうテーブルとなり

                                            AcrobatProで埋め込まれたフォントの構造を確認する – Automation Skill
                                          • Coroutines for Go のメモ

                                            Coroutines for Go のメモ Coroutines for Go を読んでのメモ コルーチンとはなんぞや? 普通の関数コール(サブルーチン)を解説している。 サブルーチンとの比較でコルーチンを語るため。 以下は関数Fが関数Gを読んだという前提。 サブルーチンは、Gが全部終わってからFに戻り、Fの続きを実行するモデル、である。 1つのスタックのトップにある1つの関数のみが実行状態となる。 コルーチンでは、FとGが異なるスタックになるが、実行状態になるのはサブルーチンと同じく1つの関数である。 Gはすぐには実行状態にならず、Fにより明示的にresumeする必要がある。 GはいつでもFに譲る(yield)ことができ、Gはスタックを維持したまま一時停止する 再度FがGをresumeすることでGは実行を再開する。 Gが最後まで到達した後に、Fがresumeしたらそれは失敗になる必要があ

                                              Coroutines for Go のメモ
                                            • プログラムの著作物性と複製の黙示的承諾の有無 大阪地判令6.1.29(令元ワ10940) - IT・システム判例メモ

                                              相当程度の分量があるプログラムのソースコードには創作性があるとして、著作物性を認めたが、複製・改変することの承諾があったとして、著作権侵害を否定した事例。 事案の概要 Y(土木・建築工事の設計、施工並びに監理業)のプログラマとして勤務していたX(個人)は、Yを退職した後も、Yからプログラムの開発を委託され、納品をしていた。本件訴訟では、本件プログラム1から6の6つのプログラムにつき、Yが無断で複製等をしたとして、著作権(複製権)又は著作者人格権(同一性保持権及び氏名表示権)の侵害について、合計で約1億2000万円の損害賠償を請求した。 ここで取り上げる争点 (1)プログラムの著作物性 (2)複製または改変に対するXの承諾の有無 裁判所の判断 争点(1)著作物性について Yは、本件プログラムは、規約・解放に該当する部分があることや(著作権法10条3項)、ソースコードの記述は、単純な作業を行う

                                                プログラムの著作物性と複製の黙示的承諾の有無 大阪地判令6.1.29(令元ワ10940) - IT・システム判例メモ
                                              • ARグラス時代に向けた挑戦 Nianticのエンジニアリング部門トップが語るAR×位置情報ゲーム×3Dスキャンの未来

                                                ARグラス時代に向けた挑戦 Nianticのエンジニアリング部門トップが語るAR×位置情報ゲーム×3Dスキャンの未来 Nianticは、「ポケモンGO」で世界的な旋風を巻き起こしたARスタートアップだ。ポケモンGO以前から「Ingress」、そしてポケモンGO以降も「ピクミンブルーム」(2022)、「Peridot(ペリドット)」(2023)を展開し運営している。2023年10月にはカプコンと協力して「モンスターハンターNOW」をリリース。あっという間に全世界で1,000万ダウンロードを超えるビッグタイトルとなった。そんな同社は、これまで6d.ai、8th Wallなど数々のAR企業を買収。現在はLightshipというAR開発プラットフォームを展開している。 さらに、2021年、3Dスキャンアプリ「Scaniverse」を買収。2024年3月には「Scaniverse」に3Dスキャンの新

                                                  ARグラス時代に向けた挑戦 Nianticのエンジニアリング部門トップが語るAR×位置情報ゲーム×3Dスキャンの未来
                                                • 本文

                                                  はじめに PC88を語る上でコピー問題を外すことは出来ない。ここではコピーの歴史について書いてみたいと思う。 PC-8001の時代 パソコンソフトのコピーはいつから始まったのだろうか。PC-8001の時代は、市販のソフト自体がほとんどなく、もっぱら雑誌「I/O」や「アスキー」からプログラムを入力して遊んでいた。雑誌のプログラムはクオリティが高く、遊べるソフトが多かったのだ。このころは2Dドライブが30万(フロッピーディスクは1箱1万円以上)もしていた時代なので、ソフトの供給はもっぱらカセットテープであった。 このころは、そのようなソフトを入力したマニアたちがパソコンショップなどに集い、手持ちのソフトのコピー・交換会のようなものが頻繁に行われていた。マニアたちは自分の入力したソフトをカセットテープに録音し、それを持ち寄っていたのである。今のようなダブルデッキのカセットがなかったので、各自5~

                                                  • 物理ノートby永井

                                                    ノート 私がつらつらと理解したことを載せています。ノートは間違っている可能性はありますので注意してください。 同じところでひっかかってしまっている人の手助けになればと思っています。 Hartree-Fock近似に関するノート Hartree-Fock方程式までの導出。 第二量子化に関するノート(Fermionのみ) 第二量子化における二体の演算子の物理的イメージを理解しようとしたもの。 第二量子化におけるHartree-Fock近似に関するノート 第二量子化法を用いるとHartree-Fock近似が理解しやすい。 磁化Mと磁場Hについて 「超伝導体において理論的考察の中に磁化MとベクトルHを導入しても物理的意味はない」というランダウの言葉について。 古典的プラズマ振動について 近似が気になったので。 任意の曲線に沿った等速運動が可能であることの証明 等速運動というのは、直線運動と等速円運動

                                                    • mruby/c ソースツリー ウォーキングツアー - Qiita

                                                      しまねソフト研究開発センター(略称 ITOC)にいます、東です。 これは mrubyファミリー Advent Calendar 2023 の記事です。 私は、ITOCで軽量Ruby言語の1種類である、mruby/c を開発しています。mruby/c は、既存のC言語プロジェクトに楽にインポートできることを前提として、ソースツリーを設計しています。その辺りの設計意図も含め、ディレクトリ及び各ソースファイルの役割について説明します。 ソースツリー mruby/c は、github でソースコードベースで提供しています。 https://github.com/mrubyc/mrubyc 以下の説明は、mruby/c のバージョン(リリース) 3.2 を使います。 まずはディレクトリ doc ドキュメント。 mrblib rubyで書いたクラスライブラリ群 sample_c C言語からのVM利用サ

                                                        mruby/c ソースツリー ウォーキングツアー - Qiita
                                                      • VTL(Very Tiny Language)の作成

                                                        ">"は"≥"の意味で扱われます. これらの関係演算子は, 条件が成り立てば"1"を,成り立たなければ"0"を返します. 例えば,"A=B=C"というステートメントは,変数BとCの値が等しければ変数Aに1を,そうでなければAに0を代入することになります. VTLでは,演算子の間に優先順位は存在せず,左から順番に演算が行われます.演算の順序を変えたい場合は括弧"()"をつけます.例えば,"2+3*4"の結果は"20"となり,"2+(3*4)"の結果は"14"となります. 変数 変数には,"A"から"Z"のアルファベット1文字を使うことができます. 配列変数は,1次元のものを1種類だけ使うことができます.n (n≥0)番目の配列変数は":n)"と記述します.例えば":X+3)=Y"のように使います.配列は後述するシステム変数"&"以降のメモリ領域を使いますが,メモリの上限を超えたかどうかの配列

                                                        • 『コンピュータシステムの理論と実装』を読み終えました

                                                          『コンピュータシステムの理論と実装』を読み終えました。結論、読み終えるのに100時間かかりましたが、読んで本当に良かったので書籍の紹介と感想を記します。 書籍の紹介 ハードウェア(NAND回路)からアプリケーションまで、コンピューターに関する幅広いレイヤーのトピックが記載されています。原著は『The Elements of Computing Systems』で、アメリカの大学のコンピューターサイエンスの授業で扱われていて、内容に定評のある書籍です。 書籍の説明文は以下です。 コンピュータを理解するための最善の方法はゼロからコンピュータを作ることです。コンピュータの構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できます。本書では、これらコンピュータの構成要素をひとつずつ組み立てます。具体的には、NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計します。そ

                                                            『コンピュータシステムの理論と実装』を読み終えました
                                                          • 6809/Z80マシーンを発掘しました(3) マルチCPUの仕組み(1) ハード編 - 電音の歩み

                                                            マルチCPUシステムの工夫 実家をあさっていると、このシステム(たぶん)の回路図や資料も出てきました。 今見ても面白い点があるので、一度まとめて紹介します。 まず一番の売りは、「6809からZ80のサブルーチンをコール」したり、逆に「Z80から6809をコール」したり自由に(多重に)できることです。 これを使って、CP/MのBIOSを6809のコードで書いたりしています。 この機能は、ハードとソフトの連携で実現しているのですが、ハード側は、単にCPUを切り替えるだけの回路で大変シンプルです。 ■CPU切り替えのハード側の仕組(アービトレーション) このシステムは、68B09(2MHz)とZ80(4Hz)、ふたつのCPUのアドレスバスとデータバスを完全にパラ接続する完全密結合のマルチCPUシステムで、ダイナミックにふたつのCPUが切り替えられます。 切替には1bitの切替ポートが用意されてお

                                                              6809/Z80マシーンを発掘しました(3) マルチCPUの仕組み(1) ハード編 - 電音の歩み
                                                            • Goの並行処理入門 - Goroutine基礎編 - Yappli Tech Blog

                                                              はじめに こんにちは。昨年の11月にYappliへ入社したしがないサーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 自分はYappliに入社するまでGo言語を利用した経験が無く、言語仕様についての理解がまだ浅いと感じる部分があるなと思っています。 そのため、今回はGo言語の最大の特徴でもあるGoroutineについてまとめてみました。 本記事は、4本の連載記事の1本目となります。 Goの並行処理入門-Goroutine基礎編 ←今ここ Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 Goの並行処理入門-select編 対象読者 Go言語の基礎はわかっているが、Goroutineについてはあまり理解していない メモリ、プロセス、スレッド、並行処理、並列処理といったワードについて概要とその違いを理解している 連載記事を通して取り扱わないこと 本連載

                                                                Goの並行処理入門 - Goroutine基礎編 - Yappli Tech Blog
                                                              • Motorola MC6800

                                                                Motorola社は電話など通信機器の大メーカーとして有名ですが、携帯電話などの最終製品だけでなく、アメリカの企業としては珍しく半導体まで開発販売しています。Intel社が当時としては実用的で使いやすい8 bitマイクロプロセッサ8080Aを発表して数ヶ月後、Motorola社は第2の8 bitマイクロプロセッサ、MC6800を発表します。特徴的なのは、最初からMC6800に接続して使うことを前提にした周辺LSIを用意していたことで、マイクロプロセッサのファミリ展開をリードしていたといえるでしょう。IntelとMotorolaは、マイクロプロセッサの業界で広く使われるプロセッサの系譜を初期から作ってきましたが、当時の企業規模を比較すると、巨大企業のMotorolaとふけば飛ぶようなベンチャー企業のIntelという構図になります。 MC6800は6 umシリコンゲートn-MOSプロセスで約5

                                                                • Linux/Windows用ソフトウェア

                                                                  関連リンク PB-Prog - T.Matsuさんのページ. Windows Mobile版であるg800PPC(g800 for PocketPC)があります. POKE COM - ふうせん Fu-sen.さんのページ. 「エミュレータで動かす」に設定方法等の詳しい説明があります. CASIO Z-1/FX-890Pエミュレータ z1f9 CASIO Z-1/FX-890P Emulator "z1f9" ダウンロード 本体 z1f9 ソース[z1f9_20210529.tgz] z1f9 win32バイナリ[z1f9win32_20210529.zip] ツール Z-1/FX-890PのROMをRS-232で転送またはFDにコピーするプログラム[z1rom_20191124.zip] 概要 z1f9はCASIO Z-1/FX-890Pのエミュレータです. ROMイメージがない場合はB

                                                                  • malloc と併用可能なアロケータを作る

                                                                    大規模で、ユーザ入力などの外部要因により左右されるプログラムでは、動的なメモリ管理が必要になる場合が多い。特に GC が普及した今日では、多くのプログラムにおいて基本的な機能と言えるだろう。このメモリ管理の機構として、多くのプログラミング言語実装では libc の malloc / free がデファクト的に使われている。一般に、プログラムの動的なメモリの割り当てと解放を抽象化した機構はメモリアロケータ、または単にアロケータと呼ばれる。libc malloc はその標準的なものとして、システムアロケータと呼ばれたりする。特に、ほとんどの環境では libc のデファクト標準で glibc が使われることから、glibc malloc が事実上の標準システムアロケータであると言ってよいだろう。このため、libc malloc は数多くのライブラリやプログラミング言語ランタイムで使われている。

                                                                      malloc と併用可能なアロケータを作る
                                                                    • 【VBA】Edge自動操作(インストール不要)|地獄の油揚げ

                                                                      Excel VBAで、ブラウザ(Microsott Edge)を操作するコードのサンプルです。 追加インストールやダウンロード不要なので、何かとセキュリティポリシーが厳しい会社PC環境でも使えます。 全体像はこちら。(よく分からない人は読み飛ばしてOK) 【概要】 ・WebDriverインストール不要(Seleniumを使わない) ・Win APIを使用。(Windows 64bit版) ・自動操作の流れ ①操作対象画面をブラウザのIEモードで開く。 ②プロセス監視して、ブラウザが起動するまで処理待機。 ③ウィンドウキャプション名を監視して、ページが読み込まれるまで処理待機。 ④操作対象画面をDOM化(IHTMLDocument2オブジェクトを生成) ⑤操作対象画面を自動操作(DOM操作) 【動作確認済み環境】 ・Windows Server 2016 Standard (64bit)、E

                                                                        【VBA】Edge自動操作(インストール不要)|地獄の油揚げ
                                                                      • 違いを説明

                                                                        [ホーム] 紛らわしい類語 IT編一覧このページでは普段使用する用語で違いが分かりにくい用語をピックアップし、違いを比較表で説明することを目的としています。使っていて違いが分からなくなったらこのページを参考にしてください。 サービスとプロセスの違いとは administrator(ビルトイン) と administrators(グループ)の違い サーバOSとクライアントOSの違い | Windows copyとxcopyコマンドの違い Windows の特殊フォルダはLinuxではどこ スリープモードと休止状態とハイブリッドスリープの違いを表でまとめ rpm と yum の違い Windowsにおけるユーザ名(アカウント名)とフルネームの違い regedt32 と regedit の違いを詳しく 64ビット と 32ビット OSのどちらを買うべきか bat と cmd の違いを理解する シ

                                                                        • 知識の資本主義 知識や手順を再利用可能にしておくことは、複利的に価値を生み出す - 思索日記

                                                                          本を読んで得た知識、いつもやる仕事の手順やTipsを面倒くさがらずにまとめておき、再利用可能な状態にしておくことは、結果的に複利的な価値を生み出す。 理由を二つ挙げる。第一に、再利用可能なナレッジは、認知資源と時間を節約する。この再利用性は一時的なものではなく、株式の配当のように節約効果がずっと持続する。節約された認知資源と時間は、そのまま余裕として確保するのは勿論、さらなるナレッジを生むために再投資すれば、複利的にナレッジと認知資源と余剰な時間を生み出すことができる。 第二に、再利用なナレッジがたくさんたまると、ナレッジ同士がつながる確率が上昇することで、ナレッジの集合自体の価値が飛躍的に高まっていく。 これらの二つの作用(節約&再投資による複利の効果と、蓄積によるナレッジ全体の価値向上)により、大きな仕事を実現できる。というか、他人や過去の自分が考えてまとめてくれたナレッジを活用しなけ

                                                                            知識の資本主義 知識や手順を再利用可能にしておくことは、複利的に価値を生み出す - 思索日記
                                                                          • 料理はアルゴリズム - いろいろやってみるにっき

                                                                            なかなかいい視点。でも割と余裕があるキッチンだろうな。 togetter.com 主要ポストはこちら。 デバッグと呼んでみてようやっと、料理はアルゴリズムであり、並列性、サブルーチン化、ライブラリの利用、局所最適と全体最適などのプログラミングのテクが役に立つ分野だと気づき始めてきた — hyousuke (@hyousuke) 2024年6月11日 「料理はアルゴリズムと気づいた」という話をしたけど、コンロはCPU、流し台やカウンターはワークメモリ、冷蔵庫はストレージと考えられるな。 そうすると「調理中でも洗い物はどんどんやれ」が「終わったリソースは早く解放してメモリを空けろ」となり、実践的かつ納得感。 pic.twitter.com/S59jwNQW4U — hyousuke (@hyousuke) 2024年6月22日 キッチンはPCだった https://t.co/N6XnqcKem

                                                                              料理はアルゴリズム - いろいろやってみるにっき
                                                                            • VTLが動いた

                                                                              MITSのAltair680(とAltair680B)は256バイトのEPROM、1702のICソケットが4個あり、そのうちの1個にモニタが挿さっている。モニタを書いたのはポール・アレンとマーク・チェンバレン。マーク・チェンバレンの人となりは資料がなくて不明。ポール・アレンはビル・ゲイツと協力してBASICを完成させ、商談のためにMITSを訪問し、そのままMITSのソフトウェア担当ディレクタに収まっていた。その後、MITSが経営不振に陥ったことでビル・ゲイツとともにMicrosoftを創業したのだが、ああ、その話ではないのだった。 Altair680の3個のICソケットは総容量が768バイトしかなく、使い道がなくてしばらく空いたままになっていたが、1976年、コンピュータストアのゲイリー・シャノンとフランク・マッコイがぴったり768バイトのインタプリタ、VTLを完成させ、3個の1702に書

                                                                                VTLが動いた
                                                                              • e-Gadget - プログラム関数電卓 Casio Basic入門 -目次-

                                                                                プログラム電卓の濃い話: fx-5800P, fx-9750GIII, fx-CGシリーズ, fx-9860Gシリーズでの Casio Basic, Casio Python プログラミングが中心 ▋目 次 - 1.はじめに: [1] - 2.プログラミングとは: [1] - 3.fx-5800PのCasio Basicコマンド一覧: [2] - 4.Casio Basicを使ってみる - Chapter 0 - プログラム作成・実行のポイント: [2] - Chapter 1 - Getkey と Locate を使いこなす: [3] [4] [5] [6] [7] [8] - Chapter 2 - 動きのあるプログラムを作る: [9] [10][11][12][13][14] - Chapter 3 - 自由自在に入力する(入力ボックス): [15][16][17][18] - Ch

                                                                                • 汎用レジスタの使い方に関する疑問 : 竹下世界塔の計算機よもやま話

                                                                                  風呂で思いついた。現在のマイクロプロセッサは汎用レジスタを使って計算したりするが、その使い方で気になることがある。 汎用レジスタR1,R2,R3を使ったコードがある。このコードのR1とR2を完全に入れ替えたものを用意する。動作はまったく同じ。レジスタ3つだと順列nPrで3P3となり6通りの同じ動作をするコードが存在する。これをプロセッサが持つ汎用レジスタ全体から選択すると、汎用レジスタ16本で3360ものエイリアスが存在することになる。 同じ動作をするコードが多数存在するというのは何かが冗長だということになるまいか?この冗長性を解消できるような方法があれば、すっきりした実装が可能になるのかもしれない。 なおスタックアーキテクチャ(0レジスタアーキテクチャ)だと値はスタックに積まれては消費されるので、同じ動作をするコードというのはぐっと減る(一種類だけと言い切れないのは入れ替え可能な命令の順

                                                                                    汎用レジスタの使い方に関する疑問 : 竹下世界塔の計算機よもやま話