タグ

junerのブックマーク (34,709)

  • Javaプログラミング初心者のための理解:参照渡しとインスタンスの使い方

    Javaプログラミングの初学者にとって、参照渡しやインスタンスの使い方は少し混乱を招くことがあります。特に、オブジェクトを別のオブジェクトに渡す場合や、インスタンス変数の再代入時にどのような挙動が起こるのかを理解することが重要です。この問題に関して、Javaのオブジェクト指向をしっかりと理解するために、いくつかの基的な概念を解説します。 問題の背景:問題5-12の概要 質問者が取り組んでいる問題は、Javaプログラム内でオブジェクトのインスタンスを操作する方法に関するものです。質問のコードでは、Foo1クラスとFoo2クラスを使って、オブジェクトの操作が行われています。問題の核心は、Foo2インスタンスにFoo1のインスタンスを設定した後、その参照に基づいてメソッドを呼び出すという点です。 「f2 = new Foo1();」はなぜおかしいのか? 質問者が疑問に思っているコードの一部は、

    Javaプログラミング初心者のための理解:参照渡しとインスタンスの使い方
    juner
    juner 2025/06/06
    Java でインスタンスを渡すことを参照渡しと呼んでいる記事。Java では変数は必ずコピーされて変数は渡せないので誤り。
  • C# ではじめる OpenTelemetry。 - ねののお庭。

    この記事は Qiita C# Advent Calendar 2023 23 日目の記事です。 登壇版 OpenTelemetry について プロジェクトの主要なコンポーネント API 及び SDK という言葉について 仕様のステータス 各言語のサポート状況 OpenTelemetry Collector OpenTelemetry Collector を使わない場合。 OpenTelemetry Collector を使う場合。 Collector の実態とステータス お手軽な動かし方 OpenTelemetry の NuGet パッケージ ほぼ必須なパッケージ 便利なパッケージ C#/ASP.NET Core での使い方 Example SignalR + OpenTelemetry おまけ まとめ 登壇版 .NET ラボ 2023/12/16 で登壇した際の資料です。 スライドはこち

    C# ではじめる OpenTelemetry。 - ねののお庭。
    juner
    juner 2025/05/26
  • neue cc - ゼロアロケーションLINQライブラリ「ZLinq」のリリースとアーキテクチャ解説

    ゼロアロケーションLINQライブラリ「ZLinq」のリリースとアーキテクチャ解説 2025-05-05 ZLinq v1を先月リリースしました!structとgenericsベースで構築することによりゼロアロケーションを達成しています。またLINQ to Span, LINQ to SIMD, LINQ to Tree(FileSystem, JSON, GameObject, etc.)といった拡張要素と、任意の型のDrop-in replacement Source Generator。そして.NET Standard 2.0, Unity, Godotなどの多くのプラットフォームサポートまで含めた大型のライブラリとなっています!現在GitHub Starsも2000を超えました。 https://github.com/Cysharp/ZLinq structベースのLINQそのものは

    juner
    juner 2025/05/16
  • Pythonのポインタを完全解説!初心者が知るべきメモリ管理と参照の仕組み - Pythonプログラミングの世界

    1. はじめにPythonは、シンプルかつ強力なプログラミング言語として広く利用されています。初心者からプロフェッショナルまで、幅広い開発者に支持される理由の一つは、その直感的な文法と豊富なライブラリにあります。しかし、Pythonの内部動作やメモリ管理の仕組みについて学ぶ際、特に「ポインタ」という概念に困惑する人が少なくありません。 「Pythonにはポインタが存在しない」と言われることがありますが、実際にはポインタ的な動作を理解することが重要です。Pythonでは、C言語のような明示的なポインタはありませんが、変数はオブジェクトへの「参照」として機能します。この「参照」が、Pythonにおけるメモリ管理やオブジェクト操作の基となります。 この記事では、Pythonにおけるポインタ的な考え方や、その実現方法を詳しく解説します。特に以下の点に焦点を当てます: Pythonの変数がどのよう

    Pythonのポインタを完全解説!初心者が知るべきメモリ管理と参照の仕組み - Pythonプログラミングの世界
    juner
    juner 2025/05/08
    「参照渡し: 変数が参照するオブジェクトへのポインタを渡す方法。」オブジェクトへのポインタを渡すのは値渡しでは……?(参照渡しは変数自体を渡すニュアンスな為
  • 『GIMP3.0 Pythonのお勉強 No8(リストのコピー)』

    プログラムを書くときに良く勘違いすることがあります。 代入した場合、それが参照渡し(Pass by Reference)なのか値渡しPass by Value)の違いです。 参照渡しの場合、コピーされた値を変更したものと思っていても、元の値までも変更してしまいます。  変数の場合A=2B=4A=3print("A="+str(A),"B="+str(B))A=3 B=4となります。 値渡しが行われています。 def modify_number(n): n += 1 print(n)x = 10modify_number(x)print(x)この場合は11と10が出力されます。 やはり値渡しが行われています。 Listの場合変数の場合は値渡しが行われていましたが、Listの場合はどうでしょうか。 numbers = [1, 2, 3]nucopy = numbersnucopy[2] = 9

    『GIMP3.0 Pythonのお勉強 No8(リストのコピー)』
    juner
    juner 2025/05/08
    インスタンスが共有される動作を参照渡しと誤って説明している記事。 それは ミュータブル/イミュータブルの話であって 参照渡し/値渡し の話ではないです。
  • Pythonの参照渡しとは?イミュータブルとミュータブルの違いとその活用法 - Pythonプログラミングの世界

    1. 値渡しと参照渡しの違いPythonにおいて、関数に引数を渡す方法には「値渡し」と「参照渡し」があります。 値渡し:関数に引数として値のコピーを渡す方法で、関数内で引数を変更しても、元の変数には影響を与えません。参照渡し:変数の参照(アドレス)を関数に渡す方法で、関数内での変更が元の変数にも反映されます。Pythonでは、オブジェクトの性質に応じてこの挙動が異なります。Pythonの「参照渡し」は、特にミュータブルなデータ型に適用され、コードの動作に大きな影響を与えるため、正しく理解することが重要です。 2. Pythonにおけるオブジェクトの特性Pythonでは、すべてのデータがオブジェクトとして扱われ、オブジェクトの特性により、イミュータブル(変更不可)かミュータブル(変更可能)のどちらかに分類されます。この特性により、関数に引数として渡されたときの動作が異なります。 イミュータブ

    Pythonの参照渡しとは?イミュータブルとミュータブルの違いとその活用法 - Pythonプログラミングの世界
    juner
    juner 2025/05/08
    Pythonに参照渡しが無いのに参照渡しという記事。参照渡しでいうところの 「変数の参照」ではなくて「値の参照」を渡している為参照渡しにはなりえないのに注意が必要です。
  • 【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

    世の中には多くの C# に関する誤解が蔓延っています。 偏見にも満ちています。 そして技術的に正しい批判ではなく、根的に技術的に誤った批判ばかりで正直悲しい。 技術的に正しい形の批判なら「お、そうだな。そしてそれの解決策はですねぇ...(ニヤニヤ)」となるのですが...。 そして C# 界隈から一歩出ると、「え、C# で作ってるの!?なんで??」とか言われる事が非常に多い始末。 C# 大好きマンとしては非常に嘆かわしい。 嘆かわしい限りなので、ここでなぜ C# を私が好むか、そして何故ソフトウェアの開発に向いているかを語りたいと思います。そして誤解が解けたら嬉しい。ついでに C# を書きたいと思ってくれたら嬉しい。 想定読者 前書きという名の予防線 事前知識: C# と .NET C# はパフォーマンスの高い言語 C# はビルドも高速 C# はオープンソースかつクロスプラットフォーム 言

    【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。
    juner
    juner 2025/05/07
    すきすきだいすき
  • 閲覧履歴があってもリンクの色が変わらないケースについて | blog.jxck.io

    Intro 4 月末にリリースされる Chrome 136 からは、一部のケースで「閲覧履歴があってもリンクの色が変わらない」状態が発生する。 もしこの挙動に依存して閲覧をしているユーザがいれば、多少不便に感じるかもしれない。 しかし、これは長年問題視されてきた、ユーザのプライバシー保護のための更新だ。 ユーザ側でも、「サイトが壊れたのでは?」と思う人もいるだろうため、前半は技術用語を少なめに解説し、エンジニア向けの解説は後半で行う。 従来の挙動 例えば、Wikipedia では、リンクをクリックして閲覧先を確認すると、閲覧済みのリンクの色が変わる。 これは、ブラウザに保存された閲覧履歴に該当するリンクの色を、訪問済みとして変えるブラウザの機能だ。 多くのリンクがある場合、確認済みかどうかがわかるために、便利に使われることもあるだろう。 (最近では、閲覧済みでもリンクの色を変えないように実

    閲覧履歴があってもリンクの色が変わらないケースについて | blog.jxck.io
    juner
    juner 2025/05/01
    プライバシー対策としてはとても良き対応
  • Pythonの値渡しと参照渡しの基礎 – 初心者のための独学基礎プログラミング

    Pythonにおける「値渡し」と「参照渡し」は、関数に引数を渡す際のデータの取り扱い方に関連する重要な概念です。これらの概念を理解することで、関数がデータをどのように操作するかを予測しやすくなり、意図しない動作を避けることができます。この記事では、Pythonの値渡しと参照渡しについて詳しく解説します。 値渡しと参照渡しとは?値渡し(Pass by Value): 値渡しでは、関数に引数を渡す際にその値のコピーが作成されます。関数内で引数を変更しても、元の変数には影響を与えません。参照渡し(Pass by Reference): 参照渡しでは、関数に渡される引数は元のオブジェクトへの参照です。関数内で引数を変更すると、元のオブジェクトにも変更が反映されます。Pythonにおけるデータの渡し方Pythonでは、関数に引数を渡す際、基的には「参照渡し」が行われます。ただし、データの型によって

    Pythonの値渡しと参照渡しの基礎 – 初心者のための独学基礎プログラミング
    juner
    juner 2025/04/21
    インスタンスを渡すことを参照渡しと誤って説明している記事
  • 【Unity】構造体って何?クラスとの違い・よくあるトラブル解説 - 渋谷ほととぎす通信

    その通り!構造体はint型やfloat型と同じ「値」なのです。わかりやすくするためにコードで確認していきましょう。 public struct HogeStruct { public int foo; } 構造体は「struct」キーワードを使って宣言します。 上記の場合 「int型の変数fooを宣言したHogeStruct構造体」 ということになります。 構造体の生成方法構造体はクラスと同じくnewキーワードで生成します。 // newキーワードで生成 HogeStruct hoge = new HogeStruct(); // 変数に値を代入 hoge.foo = 123; Debug.Log(hoge.foo); // 出力:123 クラスと同様、インスタンスを生成し、変数に値を代入することができます。 ここまで見る限り、構造体もクラスも同じもって思いますよね。しかしここからが構造体

    juner
    juner 2025/04/17
    構造体を値渡し / クラスを参照渡し と誤って説明している記事
  • オブジェクト - ペアリスキリング

    オブジェクト¶ 1. format関数の謎¶ Python では、これまで学んできた def を使って関数を定義し、呼び出すことができます。例えば、以下のようなオリジナルの関数を定義できます。 def greet(name): return f"こんにちは、{name}さん!" print(greet("太郎")) # こんにちは、太郎さん!

    juner
    juner 2025/04/17
    インスタンスを使いまわすことを参照渡しと呼んでいる誤った記事
  • JavaScript用語「ディープコピー」を全部教えます

    juner
    juner 2025/04/17
    参照渡しと称して インスタンスを渡すことを示している誤った記事
  • Pythonのポインタを完全解説!初心者が知るべきメモリ管理と参照の仕組み

    1. はじめにPythonは、シンプルかつ強力なプログラミング言語として広く利用されています。初心者からプロフェッショナルまで、幅広い開発者に支持される理由の一つは、その直感的な文法と豊富なライブラリにあります。しかし、Pythonの内部動作やメモリ管理の仕組みについて学ぶ際、特に「ポインタ」という概念に困惑する人が少なくありません。 「Pythonにはポインタが存在しない」と言われることがありますが、実際にはポインタ的な動作を理解することが重要です。Pythonでは、C言語のような明示的なポインタはありませんが、変数はオブジェクトへの「参照」として機能します。この「参照」が、Pythonにおけるメモリ管理やオブジェクト操作の基となります。 この記事では、Pythonにおけるポインタ的な考え方や、その実現方法を詳しく解説します。特に以下の点に焦点を当てます: Pythonの変数がどのよう

    Pythonのポインタを完全解説!初心者が知るべきメモリ管理と参照の仕組み
    juner
    juner 2025/04/17
    参照型のミュータブルを参照渡し、イミュータブルを値渡しと紹介する誤った記事
  • Python♪「参照渡し」「浅いコピー」「深いコピー」まずは理屈抜きで覚えよう。

    「参照渡し」「浅いコピー」「深いコピー」がどんな結果になるかを、まずは理屈抜きで覚えましょう。数値型、タプル型、文字列、リスト、ディクショナリ、セットがどんな風になるのかを具体的に細かく説明した記事は、なかなか見つけられませんでしたので、この記事で説明します。 さて、「参照渡し」「浅いコピー」「深いコピー」は、きちんと理解していなければ怖いです。コード01, 出力01はよく目にする例題です。a = [1]とlistを代入し、b = aで、bも[1]となります。でも、aの内容を変えると、bの内容も変わってしまうのです。aとbは連動しています。 #コード01 a = [1] b = a print('a, b = ', a, b) a[0] = 2 print('a, b = ', a, b) #出力01 a, b = [1] [1] a, b = [2] [2] 一方、listではなく数値型

    Python♪「参照渡し」「浅いコピー」「深いコピー」まずは理屈抜きで覚えよう。
    juner
    juner 2025/04/16
    インスタンスを渡すこと(値渡し)を参照渡しと言っている例
  • C# List(リスト)のコピー - Qiita

    // Listのコピーのテスト public class Test : MonoBehaviour { // List作成、List Aには0,1,2を入れている List<int> listA = new List<int> {0,1,2}; List<int> listB = new List<int>(); List<int> listC = new List<int>(); private void Start() { listB = listA; // 参照渡しでコピー listC = new List<int>(listA); // 値渡しでコピー // 初期値を表示 ListCheck(listA, "listA"); // 0,1,2 ListCheck(listB, "listB"); // 0,1,2 ListCheck(listC, "listC"); // 0,1,

    C# List(リスト)のコピー - Qiita
    juner
    juner 2025/04/16
    参照渡しのある言語で 参照渡しを誤って使う例。ディープコピーとシャローコピーともごっちゃにしている感じがする
  • ディープコピーとシャローコピー - tumblr

    いままでディープコピーとシャローコピーを逆に覚えていた。ので、覚書。最近流行りのポインタ関連のお話。 値の渡し方のパターン 簡単に端折ると、関数の引数として変数を与える場合、 値の値渡し(プリミティブ型変数の値をそのまま渡す) 値の参照渡し(プリミティブ型変数の参照を渡す) 参照の値渡し(参照型変数のもつ値を値として渡す) 参照の参照渡し(参照型変数自体の参照を渡す) の4パターンを考えることができて、プログラム言語用語における『参照渡し(call-by-reference)』はパターン2とパターン4を指すのだけれど、パターン3を『参照渡し(call-by-reference)』と呼んでしまっている人が存在する、というお話。JavaScriptの配列に関しては、このパターン3に該当します。 http://rarihoma.hatenablog.com/entry/2012/01/09/23

    ディープコピーとシャローコピー - tumblr
    juner
    juner 2025/04/16
    ディープコピー/シャローコピー と 値渡し/ 参照の値渡し は別の概念です。誤り。
  • 最小の例で理解する「ディープコピー」「シャローコピー」 - Qiita

    ディープコピー・シャローコピー… しばしば混乱の原因になる言葉です。 ここでは、各コピー方法の違いが端的に現れる最小の例を使って、各コピー方法でプログラムの動きがどう違ってくるかを見ていきたいと思います。 断り書き 断り書きです。別に気にならないという方は「なにやるの?」の章まで読み飛ばしてください。 「共有渡し」という言葉を使います 「pass-by-sharing」「call-by-sharing」「共有渡し」「参照の値渡し」などと呼ばれているやり方の呼び方を、この記事内では「共有渡し」で統一します。 なお、筆者がこの用語を推奨しているわけではありません。複数言語の仕様を比較する便宜上、この記事内で用いる名前をつけているだけです。 代入の場合にも「○○渡し」という言葉を使うことにします この記事内では、「参照渡し」「共有渡し」という言葉を「変数代入の際の方式」を表す際にも使います。 通

    最小の例で理解する「ディープコピー」「シャローコピー」 - Qiita
    juner
    juner 2025/04/16
    参照の値渡しを参照渡しと勘違いしている例
  • Lhaplusで文字化けする原因と対処法!Windows10・11事例別に解決手順を解説 | ロロント株式会社

    juner
    juner 2025/04/11
    Lhaplus に UTF-8 で解凍する設定を探しにここまで来たが、この書かれてる内容が見つからなかった件について。
  • TypeScript で querySelector メソッドを使うときに型引数を指定する - Hatena Developer Blog

    こんにちは、エンジニア職の id:nanto_vi です。(この記事は、はてなエンジニア Advent Calendar 2020 の 12 日目の記事です。昨日は id:cohalz さんによる「Webサービスのモニタリングについてのチェックリスト」でした。) 結論 TypeScript で querySelector、querySelectorAll メソッドを呼び出すときは、型引数を指定しましょう (メソッド名の直後の < > で囲んだ部分です)。 const foo = document.querySelector<HTMLElement>('.foo'); if (foo) { foo.style.display = ''; } const bars = document.querySelectorAll<HTMLInputElement>('input[name="bar"]'

    TypeScript で querySelector メソッドを使うときに型引数を指定する - Hatena Developer Blog
    juner
    juner 2025/04/09
  • "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita

    C++、C#、PHP等には"call by reference"という機能があります。ですが、この"call by reference"ではない動作を「参照渡し」と言っている記事をまとめました。対象には表記揺れにすぎない「参照呼び」や「参照呼び出し」も含めています。 他にもある、とか、実は否定しているとかあればコメントや修正依頼をください。ただし、追記や脚注など目立たない形で「実はそうは言わない」などと補足があったり、コメント等でそのような指摘があっても、全ての読者がそこまで細かく見るとは限らないため、除外しません。つまり、厳密には違うとか、機能ではなく動作のことを言っているとか色々言い訳を付けていても、表面だけ読んでいると「『参照渡し』と言っても良い」と読み手が感じられそうであれば、対象としています。 "call by reference"な動作とは? 定義や詳しい動作の解説はここではし

    "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita
    juner
    juner 2025/04/03
    結局のところ、 変数の参照を渡すことができていないのに参照渡しと呼んでしまうのが悪い感。(オブジェクトの参照は値渡しなので。