タグ

Programmingとglossaryに関するpipeheadのブックマーク (186)

  • 文字列補間 - Wikipedia

    プログラミングにおいて、文字列補間(もじれつほかん、string interpolation)とは、文字列リテラル内に埋め込まれたプレースホルダーを実行時に評価し、そのプレースホルダーを対応する値に置き換える処理である。変数補間 (へんすうほかん、variable interpolation)、変数置換(へんすうちかん、variable substitution)、変数展開(へんすうてんかい、variable expansion)ともいう。この処理は、単純なテンプレートエンジンであり[1]、正式な用語で言えば準引用(英語版)の一形態である。文字列補間は、文字列連結よりも簡単でより直観的に文字列のフォーマットを規定できる[2]。 文字列補間は、データの文字列表現を多用する多くのプログラミング言語(C言語、PerlPHPPythonRuby、Groovy、ScalaSwiftなど、およ

    pipehead
    pipehead 2016/04/04
    string interpolation, 変数補間 (variable interpolation), 変数置換 (variable substitution), 変数展開 (variable expansion)
  • リフレクションとは - IT用語辞典

    概要 リフレクション(reflection)とは、反射、反照、反響、内省、熟考、思想、徴候、映像、非難などの意味を持つ英単語IT分野では、コンピュータプログラムが実行時に自身の内部構造の参照や書き換えを行う技術などをこのように呼ぶ。 プログラミングにおけるリフレクション プログラミングの分野で、プログラムの実行時にプログラムの構造や構成要素(クラス、メソッド、関数など)についての情報を取得したり、プログラムの動作を動的に変更したりすることをリフレクションという。 例えば、実行時にあるオブジェクトのクラス名を文字列データとして取得して動作に反映させたり、文字列変数に格納されたメソッド名を用いてオブジェクトのメソッドを呼び出したりする機能のことを指す。 言語や処理系によってはコンパイル時にプログラムの構造を反映した処理を行うことができる場合もある。その場合、コンパイル時のリフレクションを「静

    リフレクションとは - IT用語辞典
  • 汎化とは - IT用語辞典

    概要 汎化(generalization)とは、様々な異なる対象に共通する性質や、共通して適用できる法則などを見出すこと。一般化、普遍化ともいう。対義語は、特化(specialization)あるいは特殊化。 オブジェクト指向プログラミングの分野では、様々なクラスやオブジェクトに共通する性質をまとめ、それらの共通の親クラス(スーパークラス)として定義することを汎化ということがある。共通機能を一つのクラスにまとめることで、同じ機能を何度も重複して開発することを避けられる。 機械学習における汎化 パターン認識や機械学習の分野では、既知のパターンから特定の分類に共通する性質や法則性、規則性などを抽出して、未知のパターンの認識や分類に応用できる形にまとめることを汎化ということがある。 機械学習ではシステムに大量の学習データ(訓練データ)を与えて分類や予測を行うモデルを構築するが、最終目的は学習した

    汎化とは - IT用語辞典
    pipehead
    pipehead 2015/05/08
    > 汎化とは、様々な異なる対象に共通する性質や、共通して適用できる法則などを見出すこと。一般化、普遍化ともいう。対義語は特化(specialization)あるいは特殊化。
  • 連結リストとは - IT用語辞典

    概要 連結リスト(linked list)とは、基的なデータ構造の一つで、複数のデータを格納することができ、各データが一つ前あるいは後(もしくはその両方)のデータへの参照情報(リンク、ポインタ)を持っている構造のこと。 同種の要素を複数格納できる「コンテナ」(container)あるいは「コレクション」(collection)と呼ばれるデータ構造の一種である。各要素はデータ自体の他に自分の隣の要素を指し示す所在情報(リンク)を持っている。これをたどることで、各要素に順番にアクセスすることができる。 前あるいは後ろの要素は一つだけ持つことができ、途中で枝分かれはしない。先頭から末尾まで数珠繋ぎに要素を連結したものを「線形リスト」(linear linked list)、すべての要素が円環状に連結されていて先頭や末尾が存在しないものを「循環リスト」(circular linked list)

    連結リストとは - IT用語辞典
  • 何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ

    何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita
    pipehead
    pipehead 2014/07/21
    デメテルの法則, ヴィルトの法則, ブルックスの法則, コンウェイの法則, ホフスタッターの法則, 驚き最小の原則, ボーイスカウトの規則, YAGNI, DRY, KISS, SOLID
  • タプルとは|tuple - 意味/解説/説明/定義 : IT用語辞典

    概要 タプル(tuple)とは、順序付けられた複数の要素で構成される組。もとは数学の概念だが、プログラミング言語などの中には同様の構造を持つタプルという名称のデータ型が用意されている。 タプル型の仕様は言語によって異なるが、複数の異なる型のデータやオブジェクトなどを格納でき、配列のように各要素に通し番号(添字)が割り振られ、これによって要素を識別するようなデータ構造を表すことが多い。 異なる型のデータの列を単一のデータのようにまとめて扱うことができるため、関数が呼び出し元に複数の戻り値を返したい場合や、複数の変数に値の組を一度にまとめて代入したい場合などに便利である。

    タプルとは|tuple - 意味/解説/説明/定義 : IT用語辞典
  • スタックトレースとは - IT用語辞典

    概要 スタックトレース(stack backtrace)とは、実行中のコンピュータプログラムにエラーが発生した際に、直前に実行していた関数やメソッドなどの履歴を表示すること。 プログラムを構成する関数やメソッド、サブルーチンなどの呼び出し(コール)や実行終了(リターン)などの制御はメモリ上のコールスタックと呼ばれる領域で行われており、関数内で別の関数が呼び出される度にスタックの末尾に実行途上の関数についての情報が追加されていく。 スタックトレースはプログラムが異常終了した際などに、その瞬間のスタックの内容を写しとったものである。最後尾には停止時に実行されていた関数が記載され、その関数の呼び出し元の関数、呼び出し元をさらに呼び出した関数…という具合に実行途上の関数を順に遡っていくことができる。 スタックトレースは開発者がプログラムを修正するデバッグ過程で用いられ、コード上のどのような実行経路

    スタックトレースとは - IT用語辞典
  • エントリポイントとは - IT用語辞典

    概要 エントリポイント(entry point)とは、コンピュータプログラムを実行する際に、一番最初に実行することになっている箇所のこと。プログラミング言語の仕様やオペレーティングシステム(OS)の実行ファイルの形式などで定められている。 実行ファイルのエントリポイント 特定の機種やOS上で直に起動することができる実行可能ファイルのエントリポイントはファイル先頭からのバイト数などの形でファイル先頭の管理領域(ヘッダ)などに記録されていることが多い。OSがメモリにプログラムを配置する際にこれを読み取って、その位置から実行を開始する。 ソースコードのエントリポイント プログラミング言語で記述されたソースコードにおけるエントリポイントは言語仕様や言語処理系(コンパイラやインタプリタなど)ごとに規定されている。 例えば、C言語の標準的な処理系では「main」という名称の関数(の先頭)がそのプログラ

    エントリポイントとは - IT用語辞典
  • DRY原則とは - IT用語辞典

    概要 DRY原則(Don't Repeat Yourself)とは、ソフトウェアの構成や構築手法についての原則の一つで、同じ意味や機能を持つ情報を複数の場所に重複して置くことをなるべく避けるべきとする考え方。 1999年に出版されたアンディー・ハント(Andy Hunt)氏とデイビッド・トーマス(David Thomas)氏の共著 “The Pragmatic Programmer” (邦題は「達人プログラマー」)の中で提唱された原則の一つである。 システムやソフトウェアを構成する設定や設計に関する情報について述べたもので、複数の場所に同じ情報が置かれていると変更時に整合性が取れなくなる危険性が高まるため、一箇所で管理して必ずそこから参照するようにすべきとする原則である。 転じて、プログラムコード中で同じ(ような)動作をするコードを何度も書かずに、関数などにまとめて呼び出して利用すべきとす

    DRY原則とは - IT用語辞典
  • リングバッファとは - IT用語辞典

    リングバッファ 【ring buffer】 循環バッファ / 環状バッファ / circular buffer / サーキュラーバッファ / 円環状バッファ 概要 リングバッファ(ring buffer)とは、一時的にデータを貯めておくバッファ領域のうち、終端と先端が論理的に連結され、循環的に利用されるようになっているもの。 先頭から順番に読み込みあるいは書き込みしていくと、末尾の次の要素が先頭となり、再び先頭から順番にアクセスするように制御される。末尾の一つ前も先頭となる。最も古い内容を最新の内容で上書きし、常に一定の過去までのデータを蓄えるような用途に用いられる。 コンピュータの記憶装置にリングバッファを確保する場合、物理的に循環構造のものを用意することはできないため、位置を指し示す値(インデックス)を要素数で割った余剰を取るなどして、バッファ領域の終端の次が先頭になる(逆に、先頭の直

    リングバッファとは - IT用語辞典
  • クリティカルセクションとは - IT用語辞典

    概要 クリティカルセクション(critical section)とは、複数のプログラムが並行して実行されているとき、共有資源に同時にアクセスすることで不具合が生じる危険があるプログラム上の箇所のこと。また、そのような箇所を指定して同時に実行しないようにする制御を指すこともある。 マルチタスクやマルチスレッドによりコンピュータ上で同時に複数のプログラム(の流れ)が実行されているとき、ある特定のメモリ領域やデータベース、ストレージ、周辺機器などの共有資源を対象に同時に処理を行うと、互いに相手の処理に干渉されて記録内容が破壊されたり、処理内容に矛盾が生じることがある。 プログラム上でそのような事態が生じうる箇所のことをクリティカルセクションという。クリティカルセクションは同時に実行されることがないよう、ロック機構などを用いて排他制御を行い、一度に一つのスレッドやプロセスしか資源にアクセスできない

    クリティカルセクションとは - IT用語辞典
  • 静的リンクとは - IT用語辞典

    静的リンク 【static link】 スタティックリンク / 静的リンキング / static linking / スタティックリンキング 開発時に必要なプログラムをすべて連結し、それ単体で実行可能な形式のプログラムファイルを作成する。静的リンクにより利用するよう想定・設計されたライブラリファイルを「静的リンクライブラリ」(static link libary)という。 これに対し、必要なライブラリなどを実行時に連結する方式は「動的リンク」(dynamic link)「ダイナミックリンク」という。実行環境側に置かれている共有ライブラリや動的リンクライブラリ(DLL:Dynamic Link Library)を利用する。 静的リンクは実行環境側で必要なライブラリを配置・導入する必要がなく、リンク処理を事前に済ませた状態で配布するため実行時の性能劣化が小さいが、プログラム間で重複するコードや

    静的リンクとは - IT用語辞典
  • 動的リンクとは - IT用語辞典

    動的リンク 【dynamic link】 ダイナミックリンク / 動的リンキング / dynamic linking / ダイナミックリンキング 開発時にはライブラリなどの呼び出し側コードのみを実行ファイルに含め、実行時に呼び出される側のコード体を含むライブラリなどを連結する。動的リンクにより利用するよう想定・設計されたライブラリファイルを「共有ライブラリ」(shared library)「動的リンクライブラリ」(DLL:Dynamic Link Libary)などという。 一方、開発時に必要なプログラムをすべて連結し、それ単体で実行可能な形式のプログラムファイルを作成する方式は「静的リンク」(static link)「スタティックリンク」という。開発ツールなどに含まれる静的リンクライブラリ(static link libary)を利用する。 様々なプログラムが共通して利用するような基

    動的リンクとは - IT用語辞典
  • アンダーフローとは - IT用語辞典

    概要 アンダーフロー(underflow)とは、コンピュータで実数の計算をした結果、絶対値が小さすぎて正確に表現・計算できなくなってしまうこと。 コンピュータでは実数を浮動小数点数という形式で表すが、一つの値を表すためのデータ長が決まっており、表現できる値の範囲も限られている。計算結果の絶対値が表現可能な最小の値より小さくなってしまうことをアンダーフローという。 例えば、一つの値を32ビットのデータで表す単精度浮動小数点数(float型)では、表現できる値の範囲は十進表記で約1.2×10-38~約3.4×1038であるため、指数部が10-39を下回る場合には正しく値を表現できなくなる。 実際にアンダーフローが生じた際の動作はプログラミング言語や処理系によっても異なるが、仮数部を規定(通常は仮数の先頭が1になるよう正規化される)よりも小さくすることで表現できる範囲では、指数部を下限値にしたま

    アンダーフローとは - IT用語辞典
  • ヌルポインタ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ヌルポインタ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2021年4月) ヌルポインタ(英: null pointer 英語: [nʌl pɔɪntə(ɹ)])とは、何のオブジェクトも指していないことを表す特別なポインタの値である。 プログラムではヌルポインタを、不定長のリストの終端を表したり、何らかの動作の結果が失敗であることを表したりするのに使用する。後者の用法は、nullable型やオプション型の Nothing 値(None 値)を使用することもできる。 ヌルポインタの値や型がいかなるものかという詳細は言語によって異なる

    pipehead
    pipehead 2013/04/03
    /* null pointer */ > 言語仕様上の意味としては普通「アドレス0(あるいは他のアドレス)を指し示すポインタ」ではなく、どこも指し示さないものとされる。ヌルポインタを未初期化のポインタと混同してはならない。
  • ニュートン法とは - IT用語辞典

    概要 ニュートン法(Newton’s method)とは、方程式の解を数値計算により近似的に求める手法の一つ。解を求めようとする範囲において微分可能かつ単調増加で下に凸であり、一次導関数が導出できる場合に適用できる。 方程式f(x)=0に対して関数y=f(x)を考え、まず適当なxを取ってf(x)に対する接線を求める。接線がx軸の交点におけるxの値は最初のxよりも解に近いため、このxについて再び接線を求めると、そのx軸との交点はさらに解に近づく。この操作を何度も繰り返し行なっていくと、xの値は解に収束していくため、適当な回数で操作を打ち切ることにより、回数に応じた精度の解の近似値を得ることができる。 非線形方程式を数値的に求める手法として古くから広く知られており、二分法より収束が早く、少ない計算回数で効率よく近似解の精度を高められる。1669年に万有引力の法則などで知られるアイザック・ニュー

    ニュートン法とは - IT用語辞典
  • クラス図とは 〔 UMLクラス図 〕 【 class diagram 】 - 意味/解説/説明/定義 : IT用語辞典

    概要 クラス図(class diagram)とは、ソフトウェア設計などに用いられるUMLで規定された図(ダイアグラム)の一つで、システムを構成するクラスの構成や、クラス間の関係を表現する図。システム全体の静的な構造を明らかにするために作成される。 UML(Unified Modeling Language)はオブジェクト指向のソフトウェア開発において、データ構造や処理の流れなどソフトウェアに関連する様々な設計や仕様を図示するための記法を定めた標準規格である。クラス図はシステムの構造を図示する構造図の一つで、クラスの構成やクラス間の関係を表現することができる。 オブジェクト指向プログラミングでは互いに関連するデータと操作手順を「クラス」という単位で一体的に定義する。クラス図ではクラスを矩形で示し、クラス間の関係を線で表す。クラスを外部から操作する方法だけを定義した「インターフェース」(int

    クラス図とは 〔 UMLクラス図 〕 【 class diagram 】 - 意味/解説/説明/定義 : IT用語辞典
  • Model View ViewModel - Wikipedia

    Model-View-ViewModel概念図。直線は直接的なAssociationを表し、破線は(例えば)Observer パターンを経た間接的なAssociationを表す。 Model-View-ViewModel (MVVM、モデル・ビュー・ビューモデル) はUIを持つソフトウェアに適用されるソフトウェアアーキテクチャの一種である[1]。 MVVMはソフトウェアをModel・View・ViewModelの3要素に分割する。プレゼンテーションとドメインを分離し(V-VM / M)また宣言的Viewを分離し状態とマッピングを別にもつ(V / VM)ことでソフトウェアの保守性・開発生産性を向上させる。 Model-View-ViewModelパターンはModel-View-Controller (MVC) パターンの派生であり、特にPresentation Model[2] パターンを直

    Model View ViewModel - Wikipedia
  • シーケンス図とは 【 sequence diagram 】 - 意味/解説/説明/定義 : IT用語辞典

    概要 シーケンス図(sequence diagram)とは、ソフトウェアの設計などに用いられるUML(Unified Modeling Language)で規定された図(ダイアグラム)の一つで、要素間の相互作用を時系列で表したもの。相互作用図(interaction diagram)の一種で、図の上から下に向かって時間の流れが表される。 シーケンス図の上方には、図中に登場するオブジェクトなどの構成要素を横に並べて表示する。それぞれの要素からは下に向かって「ライフライン」(lifeline)と呼ばれる破線が引かれ、その要素が有効である期間を示す。要素が消滅・退場する時点は×印で示し、そこでライフラインが途切れる。 要素が何かを実行している最中であることを示すにはライフライン上に縦長の長方形を描く。これを「実行仕様」(execution specification)という。箱の上端がその動作の

    シーケンス図とは 【 sequence diagram 】 - 意味/解説/説明/定義 : IT用語辞典
  • オブジェクトのコンポジション

    ●オブジェクトコンポジション オブジェクトコンポジションとは、とあるクラスが別のクラスのオブジェクトを取り込んで、その取り込んだオブジェクトに処理を任せる(委譲)すること。このオブジェクトコンポジションが必要となるケースをみていきたいと思います。 ●「継承」の問題 別のクラスの機能(メソッド)を必要とする場合、その機能を利用するクラスが、機能を保持するクラスを継承してサブクラスとなる方法があります。ただし、以下のような問題があります。 1.スーパークラス以外に別のクラスの機能を使いたくても、一度に一個のクラスしか継承できない。 2.スーパークラス以外のクラスにある機能を使うように変更したくても、すぐに対応できない。 3.スーパークラスのメソッドのうち、必要のないメソッドまで継承してしまう。 ●解決策 上記の問題に対して以下の方法が使えます。 「必要となる機能を持つクラスのオブジェクトをイン

    オブジェクトのコンポジション