タグ

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

  • memcpyをC#で - schima.hatenablog.com

    自分がC# (.NET Framework) を使っていて一番の不満かもしれないことの一つに、memcpy (CopyMemory) が無いことが挙げられます。普通はCopyMemoryをDllImportすれば解決ですが、Linux等への移植性まで考えるとWin32APIを使うわけにはいきません。以下では、DllImportを使わない代替案をいくつか考えてみます。 Marshal.Copy 一番オーソドックスかと思われる方法です。System.Runtime.InteropServices.Marshal.Copyを使い、一度マネージ配列を経由させてコピーします。メモリを余計にうのが気になりますが、今はあまり気にしなくてもいい時代かもしれません。 static void CopyMemory(IntPtr dst, IntPtr src, int size) { byte[] temp

    memcpyをC#で - schima.hatenablog.com
    juner
    juner 2024/04/08
    今なら Unsafe.CopyBlock() でいけるやつ
  • Pythonと参照渡しの完全ガイド!12の手順で理解を深める

    ※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。 (送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。) はじめに皆さん、Pythonでの参照渡しについて理解したいと思っていませんか? その使い方や注意点、カスタマイズ方法を知りたいですよね。 この記事はそんな皆さんのために、Pythonでの参照渡しの具体的な使い方から、その対処法、さらには応用例まで、豊富なサンプルコードとともに詳しく解説します。 ●Pythonとは?Pythonは、読みやすさが特徴的な高水準プログラミング言語の一つです。 汎用性が高く、Webアプリケーションからデータ解析、AI開発まで幅広く活用

    Pythonと参照渡しの完全ガイド!12の手順で理解を深める
    juner
    juner 2024/04/08
    Python が参照型しか無いからってすべて参照渡しと勘違いしている
  • 【C#】StringBuilderとDefaultInterpolatedStringHandlerの処理速度・メモリ確保量を比べてみる - はなちるのマイノート

    はじめに 今回はStringBuilderとDefaultInterpolatedStringHandlerの処理速度・メモリ確保量を比べてみたいと思います。 learn.microsoft.com learn.microsoft.com 大抵のStringBuilderの利用シーン、new StringBuilderの代わりにnew DefaultInterpolatedStringHandler(0, 0)を使ったほうが良いと思うのだけど、new DefaultInterpolatedStringHandler(0, 0)という呼びづらさが微妙にそれを躊躇わせる。— neuecc (@neuecc) October 17, 2023 はじめに 概要 もうちょい詳しく 実験 結果 概要 実はDefaultInterpolatedStringHandlerをStringBuilderのよう

    【C#】StringBuilderとDefaultInterpolatedStringHandlerの処理速度・メモリ確保量を比べてみる - はなちるのマイノート
    juner
    juner 2024/03/29
    つよい
  • TypeScript Event.target, Event.currentTarget の型がむずい! - かもメモ

    TypeScript で addEventListener のコールバック関数で Event.target, Event.currentTarget を使おうとしたら結構めんどかったのでメモ Event.target と Event.currentTarget の違い これはそもそも JavaScript の違いですが、Event.target はイベントが発生した要素を返すので必ずしもイベントリスナーを付けた対象になるとは限りません。 The read-only target property of the Event interface is a reference to the object onto which the event was dispatched. It is different from Event.currentTarget when the event hand

    TypeScript Event.target, Event.currentTarget の型がむずい! - かもメモ
    juner
    juner 2024/03/15
  • 値渡しと参照渡し(プログラミングの概念):技術屋のためのドキュメント相談所:オルタナティブ・ブログ

    専門的な情報を、立場の違う人に「分かるように説明する」のは難しいものです。このブログは「技術屋が説明書や提案書を分かりやすく書く」ために役に立つ情報をお届けします。 技術屋のためのドキュメント相談所・所長の開米です。 実は最近、Java/Androidプログラミング初心者のサポートを(業務ではなく)個人的にしています。そこで、「参照渡しって何ですか?」と聞かれたのですが、これ、なかなかわかりにくい概念なんですね。 そこで、よし、格的に説明しよう!! ・・・・というわけで解説動画を作ってしまいました。 この話はきちんと説明しようとするといろいろな事情で結構大変で、適当にお茶を濁した説明で終わっていることが多いのです。 「いろいろな事情」の1つは、「参照渡し」という用語が状況によって違う意味で使われていることです。そのへんの事情も含めて解説しているので、プログラミング初心者に質問されたときに

    値渡しと参照渡し(プログラミングの概念):技術屋のためのドキュメント相談所:オルタナティブ・ブログ
    juner
    juner 2024/03/13
    javaのStringの挙動についてって書いておきながら参照渡しとか書いてるので参照渡しができるjavaの可能性を残してて答えに困る問題
  • 【Python】参照渡しと値渡しの違い

    変数に新たなオブジェクト自体が代入される場合、以前の参照先でなく新たなオブジェクトが作られた場所(新しく確保された領域)を参照します。つまり、オブジェクトの内容は変更できまずが、変数が保持してる参照の値は変更できません。 変更不可な型の例 サンプルコードで変更不可な型(Immutable)の例を見てみましょう。 def my_func(x): print(x, id(x)) # ② 1 140703210804896 x = x * 100 print(x, id(x)) # ③ 100 140703210808064 y = 1 print(y, id(y)) # ①1 140703210804896 my_func(y) print(y, id(y)) # ④1 140703210804896 ①変数y用の領域を確保 ②変数xは変数yと同じ領域を参照 ③変数x用に新しい領域を確保 ④変

    【Python】参照渡しと値渡しの違い
    juner
    juner 2024/03/13
    参照渡しと称してインスタンスを渡すことを説明している。参照渡しでいう参照は変数を指している為、本来は実引数の変数に仮引数の変数への代入が同期されることを指す
  • Python 参照渡し回避の基礎 練習問題で理解 | Pythonの学習帳

    参照渡しでは、関数に引数を渡すときに、その値の参照を渡します。ただし、参照渡しを使用すると、関数内で引数の値を変更すると、呼び出し元の変数の値も変更されるため、注意が必要です。意図しない変更を発生させないように、関数内で引数の値を変更する際には、十分に注意する必要があります。参照渡しの特性を理解して、問題を回避する方法を解説します。 参照渡しとは?Pythonにおける仕組みと特徴 回避の解説の前に参照渡しの仕組みと特徴について少しお話します。 参照を渡しとは、Python において引数や変数を渡す仕組みの一つです。この仕組みでは、変数やオブジェクトのメモリ上のアドレス(参照)が渡されます。 リストや辞書などのオブジェクトを関数に渡すときによく使用されます。これは、リストや辞書などのオブジェクトの値ではなく、メモリ上のアドレスを格納しているため、参照渡しを行うことで、関数内でオブジェクトの値

    juner
    juner 2024/03/13
    インスタンスを引数として渡すことを参照渡しと誤って呼んでいる記事。参照渡しでいう参照は変数のことなのでこれは誤り。
  • 文字列結合&でコンパイルエラーになる理由|VBA技術解説

    公開日:2019-09-19 最終更新日:2019-09-19 文字列結合&でコンパイルエラーになる理由 マクロVBAでは、&(アンパサンド)記号で文字列結合を行う事は頻繁に行われますよね。 VBEで&を記述するとき、一度くらいは赤字のコンパイルエラーになったことがあるのではないでしょうか。

    文字列結合&でコンパイルエラーになる理由|VBA技術解説
    juner
    juner 2024/03/12
    リテラルの仕様問題!!
  • 【JavaScriptの基本】プリミティブ型とラッパーオブジェクト – ワードプレステーマTCD

    JavaScriptのデータ型は、プリミティブ型とオブジェクト型に分けられます。 プリミティブ型の文字列や数値はオブジェクトではありませんが、ラッパーオブジェクトという仕組みによって、オブジェクトのように扱うことができます。 今回は、プリミティブ型とラッパーオブジェクトについて解説していきます。 プリミティブ型 プリミティブ型は、次の7種類あります。 数値(Number) 文字列(String) 長整数(BigInt) 論理値(Boolean) null undefined シンボル(Symbol) 次のコードでは、文字列リテラルを使って文字列を定義しています。

    【JavaScriptの基本】プリミティブ型とラッパーオブジェクト – ワードプレステーマTCD
    juner
    juner 2024/03/12
    ラッパーオブジェクトのうち BigInt Symbol は共に new 演算子を使ってインスタンス作成ができないのにそれを考慮してない記事。ラッパーオブジェクトは Object(value) で作成できるのでやるならそっちです。
  • サードパーティ―クッキー、いつの間にか焼かれる立場になっていた。クッキーだけに。 な… 何を言っているのか… わからねーと思うが…… - Cybozu Inside Out | サイボウズエンジニアのブログ

    ご覧いただきありがとうございます。 涼しくなってきましたが、皆様いかがお過ごしでしょうか? 広告が関係ないシステムはサードパーティクッキーへの影響はないと思っていたので寝耳に水だったのですが、 社内システムにて、サードパーティクッキー規制影響するケースが判明しました。 システムへの影響が大きいことが分かったので、現象および影響についてまとめます。 みなさまの対応状況や誤った記述の指摘など、コメントやSNSコメントなどで教えていただけますと大変参考になります。 サードパーティークッキー概説や規制の経緯はインターネット上に詳しく書かれたものがあるのでそちらを参照してください。 格化するサードパーティ・クッキー規制 Firefoxではサードパーティクッキー規制がデフォルトでロールアウトされています。 Safariは以前よりサードパーティクッキーを規制していました。Chrome, Edgeでも規

    サードパーティ―クッキー、いつの間にか焼かれる立場になっていた。クッキーだけに。 な… 何を言っているのか… わからねーと思うが…… - Cybozu Inside Out | サイボウズエンジニアのブログ
    juner
    juner 2024/03/11
  • 【Ruby入門】findメソッドの使い方まとめ【ハッシュ 参照渡し】 | 侍エンジニアブログ

    こんにちは!Webコーダー・プログラマーの貝原(@touhicomu)です。 今日は、Rubyのハッシュ(hash)のfindメソッドについて書きたいと思います。 Rubyをプログラミングしていると、「hashをkeyや値で検索したい!」という時ってありますよね。 そういった時にhashのfindメソッドを使用します。 今回はそんなfindメソッドについて、 【基礎】ハッシュのfindとは 【基礎】ハッシュのキーで検索する 【基礎】ハッシュの値で検索する 【発展】ハッシュのfind_allメソッドで検索する 【発展】ハッシュを、正規表現(regex)検索する ハッシュのfindメソッドで検索する ハッシュのfindメソッドとは hashのfindメソッドは、指定した要素を検索して取得することができるブロックつきのメソッドです。 ブロックを渡すと、ブロック変数にhashの要素のkeyと値が渡

    【Ruby入門】findメソッドの使い方まとめ【ハッシュ 参照渡し】 | 侍エンジニアブログ
    juner
    juner 2024/03/06
    ハッシュ 参照渡し って書いてありながらその説明は無し……?消えたか?
  • 【C#】unsafeを用いずにReadOnlySpan<char>からSpan<char>に変換をして中身を好き勝手にいじる - はなちるのマイノート

    はじめに 今回はunsafeを用いずにReadOnlySpan<Span>からSpan<char>に変換する方法について紹介をしたいと思います。 ReadOnlySpan<char> str = "hello, world"; var span = MemoryMarshal.CreateSpan(ref MemoryMarshal.GetReference(str), str.Length); // unsafe使わずともこれで簡単にいじれてしまうやん... span.Reverse(); // dlrow ,olleh Console.WriteLine(str.ToString()); Console.WriteLine(span.ToString()); はじめに 概要 MemoryMarshal.CreateSpan MemoryMarshal.GetReference やり方

    【C#】unsafeを用いずにReadOnlySpan<char>からSpan<char>に変換をして中身を好き勝手にいじる - はなちるのマイノート
    juner
    juner 2024/03/05
    unsafe なしで String いじる方法あったのか……
  • TypeScriptの参照渡しを完全攻略!10選の詳細サンプルコードで理解

    ※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。 (送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。) はじめにTypeScriptJavaScriptのスーパーセットであり、型安全性を持っているプログラミング言語です。 この記事では、TypeScriptの「参照渡し」の概念に焦点を当てて解説します。 参照渡しは、プログラミングの世界で重要な概念の一つであり、特にTypeScriptを使用する際に知っておくべき重要な点がいくつかあります。 このガイドでは、TypeScriptの参照渡しの使い方から注意点、カスタマイズ方法まで、10選の詳細なサンプルコードと共に

    TypeScriptの参照渡しを完全攻略!10選の詳細サンプルコードで理解
    juner
    juner 2024/02/28
    そもそも Typescript に 参照渡しは存在しないのだが、 オブジェクトを渡すことで参照渡しになるという説明をしている記事 これは値渡しですね。
  • TypeScriptの参照渡しを完全攻略!10選の詳細サンプルコードで理解

    ※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。 (送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。) はじめにTypeScriptJavaScriptのスーパーセットであり、型安全性を持っているプログラミング言語です。 この記事では、TypeScriptの「参照渡し」の概念に焦点を当てて解説します。 参照渡しは、プログラミングの世界で重要な概念の一つであり、特にTypeScriptを使用する際に知っておくべき重要な点がいくつかあります。 このガイドでは、TypeScriptの参照渡しの使い方から注意点、カスタマイズ方法まで、10選の詳細なサンプルコードと共に

    TypeScriptの参照渡しを完全攻略!10選の詳細サンプルコードで理解
    juner
    juner 2024/02/28
    参照渡しが存在しない TypeScript にて オブジェクト型を引数に渡すことを参照渡しと勘違いしている記事
  • 【C#】構造体(struct)を完全に理解する - Annulus Games

    今回の記事はC#における構造体(struct)について。 複合的なデータを扱う際、多くの場面ではクラス(class)が用いられるかと思います。しかし、パフォーマンスが重要な場面や、GCによる影響が大きいUnityなどでは、状況に応じてクラスではなく構造体を使用した方が良いこともあります。 近年はC#においてもパフォーマンスが重視されるようになり、構造体が用いられる機会も多くなっています。またUnityのDOTSにおいても、C# Job SystemやBurst Compilerに最適化されたコードを書くために構造体を多用することになります。 ここでは構造体に関する基礎的な知識から、クラスと構造体のメモリ管理について、そして実際に構造体を用いる際の注意や活用方法についても解説していきたいと思います。 ただ今回の記事、調子に乗って色々な内容を詰め込んだ結果、めちゃくちゃに長くなってます。そのた

    juner
    juner 2024/02/27
    参照型は参照型の値渡しと説明。参照渡しについては値型のみ説明。
  • 【C#】引数の値渡し、参照渡し(ref, out)

    メソッドに値を引数で渡す場合、値渡しと参照渡しというものがあります。 メソッド内で処理した結果を処理後に必要な場合には参照渡しにする必要があるのですが、まずはコード例から。 static void Main(string[] args) { int a1; int a2; int a3; a1 = 1; // 値を代入しておく必要がある Method1(a1); // 処理後:a = 1 a2 = 1; // 値を代入しておく必要がある Method2(ref a2); // 処理後:a = 11 //a3 = 1; // 値を代入しておく必要がない(意味がない) Method3(out a3); // 処理後:a = 10 } // 値渡し public static void Method1(int a) { a += 10; // メソッド内では a = 11 となる } // 参照

    【C#】引数の値渡し、参照渡し(ref, out)
    juner
    juner 2024/02/27
    値型だけだが正しい参照渡しの説明
  • C#の値渡しと参照渡し – // もちぶろ

    C#のコードを書いていると、C/C++を書いているときと違って値渡しと参照渡しの意識が曖昧になるときがある。 これではいかん。ちょっと整理しておこう。 メソッドの引数に渡すものの種類によって値渡しと参照渡しは決まるが、具体的にはどんな風なのか、まとめてみる。 もくじ int、stringなどのプリミティブ型クラス構造体配列パラメータ修飾子inパラメータ修飾子outパラメータ修飾子refまとめ int、stringなどのプリミティブ型 次のように、変数nをメソッドに渡し、メソッド内でn++した場合にどうなるか見てみよう。 int n = 0; Console.WriteLine(n); // メソッド内でn++する。 MyMethod(n); Console.WriteLine(n); コンソール出力は次のようになる。 0 0 メソッド実行前後で値が変わっていないので値渡しになっていることが

    juner
    juner 2024/02/27
    参照型を渡すことを参照渡しと勘違いしている記事。値型を参照渡しする為の ref だと思っている節がある。
  • クラスと構造体を代入された後の挙動について - より良いエンジニアを目指して

    juner
    juner 2024/02/27
    参照型は参照渡しだと勘違いしている記事(この場合代入なのでそもそも参照渡しではないし、言ってることは共有渡しみたいなところがある。
  • リファレンス渡し・参照渡しとは?プログラミングの基本概念をわかりやすく解説 | THE SIMPLE

    ## リファレンス渡しとは? プログラミングにおける「リファレンス渡し」とは、変数を参照する際に、その変数が持つメモリ上のアドレスを引数として渡す方法のことを指します。つまり、渡された変数への変更が元の変数にも反映されることが特徴です。 例えば、以下のようなコードを考えてみましょう。 “`python def add_one(num): num += 1 x = 1 add_one(x) print(x) “` この場合、関数add_one内での変数numの変更は、元の変数xには反映されません。つまり、出力結果は「1」となります。 しかし、リファレンス渡しを使った場合は、変数のアドレスが渡されるため、上記の問題を回避することができます。 ## 参照渡しとは? プログラミングにおける「参照渡し」とは、オブジェクトへの参照を引数として渡す方法のことを指します。つまり、渡されたオブジェクトに対す

    リファレンス渡し・参照渡しとは?プログラミングの基本概念をわかりやすく解説 | THE SIMPLE
    juner
    juner 2024/02/27
    リファレンス渡し と参照渡しで 説明がごちゃごちゃになってる上に参照渡しの説明が誤ってる。しかも参考サイトを IPA に丸投げしてる。
  • いろいろな引数渡しの方式 — 値呼び・参照呼び・名前呼び・必要呼び

    3.11  いろいろな引数渡しの方式 — 値呼び・参照呼び・名前呼び・必要呼び 参照呼出し 遅延評価と call-by-need, call-by-name 前節までの言語では,値呼び出しに基づいて関数呼び出しの際の引数渡しを実 現してきた.節では,FORTRAN, Pascal などに見られる 参照呼出し(call-by-reference)と,遅延評価(lazy evaluation)を使った, Algol60 に見られる 名前呼出し(call-by-name),Haskell などに見 られる,必要呼出し(call-by-need)といった引数渡しの方法をみてい く. 3.11.1  参照呼出し 前節で説明したように,値呼出しの下では,関数のパラメータに対する代入は 関数呼出し側に影響をおよぼすことはない.つまり,関数呼出しの前後で,あ る変数の内容が変わることがなく,呼出し側・関

    juner
    juner 2024/02/27
    参照呼出し が 参照渡しの 概念説明にあたる。