タグ

プログラミングとWikipediaに関するtyosuke2011のブックマーク (28)

  • モナド - Wikipedia

    モナド (英:monad) モナド (哲学) - ライプニッツが著書『モナドロジー』(『単子論』とも)において提唱した哲学上の概念。 モナド (超準解析) - 数学の超準解析において、ある与えられた超実数に対して無限に近い全ての超実数の集合。 モナド (圏論) - 圏論における特定の性質を満たす圏代数<T ; μ , η>のこと。 モナド (プログラミング) - プログラミング言語の意味付けにおける完備な意味領域をモジュール性を持たせた形で分割するための枠組み。 モナド (レコードレーベル) - テイチクのかつてのレコードレーベル。 任天堂より発売されたWii用ゲームソフト『ゼノブレイド』(開発:モノリスソフト)の仮称時のタイトル(Monado: Beginning of the World)、および同ゲームに登場する重要アイテム(武器)。 このページは曖昧さ回避のためのページです。一つの

  • Brainfuck - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Brainfuck" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年10月) Brainfuck(ブレインファック)はプログラミング言語のひとつ。なお名称に含まれるfuckが卑語であるため、Brainf*ck または Brainf**kなどと表記されることがある。 概要[編集] 開発者Urban Müllerがコンパイラがなるべく小さくなる言語として考案した。 実際、Müllerが開発したコンパイラのサイズはわずか123バイト、インタプリタは98バイトであった。 Brainfuckプログラムは非常に可読性・記述性が低いため実用性

  • 進化的プログラミング - Wikipedia

    進化的プログラミング(しんかてきプログラミング、Evolutionary Programming)は、4つの主要な進化的アルゴリズム方法論の1つである。 概要[編集] 人工知能の生成を意図した学習過程として、シミュレーションされた進化を使った Lawrence J. Fogel が1960年に最初に使った用語である。Fogel は予測機として有限状態機械を使い、それを発展させた。 その後、彼の息子の David B. Fogelにより実数関数の最適化問題を探索する手法に拡張され、進化的戦略と類似した方法に発展した。 進化的プログラミングの中心となるのは突然変異である。親ベクトルに対してランダムな変化を加えて子ベクトルを生成し、それらを評価して、ランダムに個体を選んで適用度を比較する。これによって次の世代を選び、解が収束するまでこれを繰り返していく。 現在、進化的プログラミングは他の3つの方

  • 遺伝的プログラミング - Wikipedia

    遺伝的プログラミング(いでんてきプログラミング、英: Genetic Programming, GP)は、メタヒューリスティックなアルゴリズムである遺伝的アルゴリズムを拡張したもので、進化的アルゴリズムの四つの主要な方法論の内の一つでもある。 概要[編集] 遺伝的プログラミングは1990年にジョン・コザ(John Koza)によって提案された。他の進化的アルゴリズムの主要な方法論が同時期に提案され独立して研究が進められていたのに対し、遺伝的プログラミングは最初から遺伝的アルゴリズムの拡張として提案されており、他の三つの方法とは大きく立場を異にする。具体的な内容としては、遺伝的アルゴリズムにおける遺伝子型の表現が主に配列であるのに対し、遺伝的プログラミングでは木構造を用いる。このため、遺伝的アルゴリズムでは表現できなかった数式やプログラムのコードなど、構造を持ったデータを表現することができる

    遺伝的プログラミング - Wikipedia
  • 名前空間 - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2022年1月) 独自研究が含まれているおそれがあります。(2023年6月) 出典検索?: "名前空間" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 名前空間(なまえくうかん、英: namespace / name-space)は、名前の集合を分割することで衝突の可能性を低減しつつ参照を容易にする概念である。 この集合は、全事象の元の全ての組み合わせ可能なものからなる集合全体および物理的な名称を指すことが可能である。つまり英字・数字・記号などを組みあわせて作られる名前全てを含む集合である。名前に結び付けられる実体(型や変数や関数)は、名前が

  • Rust (プログラミング言語) - Wikipedia

    Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計されたマルチパラダイムのプログラミング言語である。C言語、C++に代わるシステムプログラミング言語を目指しており[2]、構文的にはC++に似ているが[3]、「ボローチェッカー」(borrow checker) で参照の有効性を検証することによってメモリ安全性を保証できる。Rustはガベージコレクションなしでのメモリ安全性を達成しており、必要な場面で参照カウントを使うこともできる[4][5] 。 Rustプロジェクトはオープンソースのコミュニティベース開発で進行しており[6]、言語仕様(検討段階含む)、ソースコード、ドキュメントはオープンソースライセンスで公開されている[7]。2006年の開発初期は、Mozillaの従業員のグレイドン・ホアレ(Graydon Hoare)[8]の個人プロジェクトだったが、2009年にMozi

    Rust (プログラミング言語) - Wikipedia
    tyosuke2011
    tyosuke2011 2023/07/04
    C++を理解してないのにRustに手を出すのはよくない
  • Elixir (プログラミング言語) - Wikipedia

    Elixir (エリクサー) は並行処理の機能や関数型といった特徴を持つ、Erlangの仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語である。ElixirはErlangで実装されているため、分散システム、耐障害性、ソフトリアルタイムシステム等の機能を使用することができるが、拡張機能として、マクロを使ったメタプログラミング、そしてポリモーフィズムなどのプログラミング・パラダイムもプロトコルを介して実装されている。[2] 歴史[編集] 高い拡張性があり、Erlangの仮想環境上で動作するシステムを目標に、José Valimによって開発された。 [3] 特徴[編集] Erlangの仮想環境 (BEAM) 上で動作する Erlangの関数を呼び出せるため、Erlangのシステムにシームレスに統合できる LISPのマクロと抽象構文木によるメタプログラミング Clojureのよ

    Elixir (プログラミング言語) - Wikipedia
  • 従来の HTML との文法の差違 - HTML5 - Wikipedia

    HTML Living Standard[編集] HTML Living Standardは、WHATWGが策定しているHTMLの規格である。W3Cの勧告するHTML5およびそれ以降(HTML 5.1など)は、HTML Living Standardを基にしている。 ただし、2019年5月28日に発表されたW3CとWHATWGの合意[14]以前においては、「W3C側で変更がなされており、両者の仕様には差異が生じている[15][16]」という状況が続いていた。WHATWGはウェブブラウザの開発元により結成されており、この頃においてはHTML Living Standardの方がよく参照されていた[17][18]。 2019年5月28日、W3CとWHATWGは、「HTML Living StandardをHTMLとDOMの唯一の標準とし、W3Cは今後HTMLとDOMに関する標準の策定を行わない

    従来の HTML との文法の差違 - HTML5 - Wikipedia
  • SolrにWikipediaのデータを入れて遊ぶ

    概要 全文検索エンジンのSolrを使って、Wikipedia(日語版)の記事を検索する機能をさらっと作ってみる。面倒なことはすっ飛ばして、できるだけ少ない手数を選択。あと、ソースコードはJava。 注意事項として、Solrはけっこうメモリう。特にoptimize時とか、大掛かりなソート時とか。 メモリが少ないマシンでは使うと不自由するので避けた方が良いかもしれない。とりあえず手元の4G積んだマシンでは快適に動いている。 @CretedDate 2011/09/04 @Env Solr3.5.0 / lucene-gosen1.2.1 @UpdateDate 2012/02/21 Solr3.5.0に変更したりクエリの誤りを直したり Solrの導入 まずSolrをダウンロードして解凍する。 ここからダウンロード http://lucene.apache.org/solr/#getstar

  • ツェラーの公式 - Wikipedia

    ※3月1日 ~ ( m - 1 )月末日迄の日数と、[ 306 ( m + 1 ) / 10 ] - 122 の値は完全に一致している。 従って、1年1月1日 ~ y 年 m 月 d 日の日数は、上記全てを合算した、 31 + 28 + 365 ( y - 1 ) + [ y / 4 ] - [ y / 100 ] + [ y / 400 ] + [ 306 ( m + 1 ) / 10 ] - 122 + d ・・・  【※】/ Fairfield の公式 となる。 曜日は7日間で循環しているので、上記【※】式の 7 の剰余を求めることで、曜日が判明する。即ち、 ・・・  【I】 である。 このとき、h のとり得る値は 0, 1, 2, 3, 4, 5, 6 で、順に日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日を表す (現行のグレゴリオ暦は、1582年10月15日に、この日を金

  • ユークリッドの互除法 - Wikipedia

    252と105のためのユークリッドの互除法のアニメーション。 クロスバーは、最大公約数(GCD)である21の倍数を表す。 それぞれのステップにおいて、1つの番号がゼロになるまで、より少ない数はより大きな数から引かれる。 残りの数は、GCD。 ユークリッドの互除法(ユークリッドのごじょほう、英: Euclidean Algorithm)は、2 つの自然数の最大公約数を求める手法の一つである。 2 つの自然数 a, b (a ≧ b) について、a の b による剰余を r とすると、 a と b との最大公約数は b と r との最大公約数に等しいという性質が成り立つ。この性質を利用して、 b を r で割った剰余、 除数 r をその剰余で割った剰余、と剰余を求める計算を逐次繰り返すと、剰余が 0 になった時の除数が a と b との最大公約数となる。 明示的に記述された最古のアルゴリズムと

    ユークリッドの互除法 - Wikipedia
  • C言語 - Wikipedia

    C言語(シーげんご、英: C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++Java、C#など、「C系」と呼ばれる派生言語の始祖でもある[注釈 1]。 ANSI、ISO、またJISにより言語仕様が標準規格化されている。 特徴[編集] Cには他のプログラミング言語と比較して、特筆すべきいくつかの特徴がある。 利点[編集] 構造化プログ

    C言語 - Wikipedia
  • アセンブリ言語 - Wikipedia

    モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language、アセンブリ)はビット列命令に対応した文字列命令を利用する低水準プログラミング言語の総称である[1]。 アセンブラ(英: Assembler)またはアセンブラ言語(英: Assembler Language)とも呼ばれる[注 1][2]。 概要[編集] プロセッサは機械語プログラムを直接読み取り実行する。しかし人間にとってビット列は直観的に理解しづらいため、機械語コーディングは容易でない。これを解決するために、ビット列に対応する文字列命令(ニーモニック)を利用するプログラミング言語の総称がアセンブリ言語である[1]。 アセンブリ言語を用いることで、機械語相当の低水準なコードをより直観的に記述できる。高度なアセンブリ言語ではアセンブラに対する命令(疑似命令)やマ

    アセンブリ言語 - Wikipedia
  • NaN - Wikipedia

    NaN(Not a Number、非数、ナン)は、コンピュータにおいて、主に浮動小数点演算の結果として、不正なオペランドを与えられたために生じた結果を表す値またはシンボルである。NaNの体系的仕様は、無限大の表現などと共に1985年の IEEE 754 浮動小数点規格で標準が与えられている。 NaNには quiet NaN と signaling NaN の2種類がある。quiet NaN は不正な操作や不正な値で生じる誤りを伝播させるのに使用され、signaling NaN は数値計算と記号計算(英語版)の混合や基的な浮動小数点演算への他の拡張といった高度な機能のサポートに使える。例えば結果が実数の範囲内でないゼロ除算において、ゼロ以外のゼロ除算は無限大だが、ゼロのゼロ除算は NaN である。負数の平方根は虚数となるため、浮動小数点数としては表現できず、NaN で表現される。他に、正負

  • ド・モルガンの法則 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ド・モルガンの法則" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年6月) ド・モルガンの法則のベン図による表現。図1、図2のそれぞれの場合において、等式の両辺の集合は青い領域で図示される。 ド・モルガンの法則(ド・モルガンのほうそく、英: De Morgan's laws)は、ブール論理や集合の代数学において、論理和と論理積と否定(集合のことばでは、和集合と共通部分と差集合)の間に成り立つ規則性である。名前は数学者オーガスタス・ド・モルガン(Augustus de Morgan, 1806–1871)にちなむ。 この規則性(論

    ド・モルガンの法則 - Wikipedia
  • ミニマックス法 - Wikipedia

    この項目では、ゲーム理論が発祥の戦略について説明しています。最良近似関数を得る手法については「en:Minimax approximation algorithm」をご覧ください。 この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ミニマックス法" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2009年10月) ミニマックス法(ミニマックスほう、英: minimax)またはミニマックス探索とは、想定される最大の損害が最小になるように決断を行う戦略のこと。将棋、チェス、リバーシなどといった二人零和有限確定完全情報ゲームをコンピュータに思考させるためのアルゴリズムとしても用いられるが、元々

  • アスペクト指向プログラミング - Wikipedia

    アスペクト指向プログラミング(Aspect Oriented Programming、AOP)は、横断的関心(英語版)を実装する手法によって、プログラムのモジュール性を高めることを目的にしたプログラミングパラダイムである。横断的関心とは、関心の分離によるモジュールの複数以上にまたがっている共通機能を意味している。AOPはこの横断的関心を、既存コードに設けた間接点(joint point)を通しての振る舞い助言(advice)の追加によって、コード変更を伴なわずに実装できるようにしている。任意の間接点および振る舞い助言の定義をまとめたモジュールがアスペクト(英語版)と呼ばれ、これが横断的関心の表現体になる。例としては、全ての関数呼出しにログ出力を伴わせたい時に、全関数冒頭にjoint pointを設けてログ出力コードをadviceにしたアスペクトをプログラム内に定義することで、自動的に各関数

    アスペクト指向プログラミング - Wikipedia
  • Ruby on Rails - Wikipedia

    Ruby on Rails(ルビーオンレイルズ)は、オープンソースのWebアプリケーションフレームワークである。単にRailsあるいはRoRと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。 実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。 哲学[編集] Railsの基理念は「同じことを繰り返さない」(DRY:Don't Repeat Yourself)と「設定より規約」(CoC:Convention over Configuration)である。 「同じことを繰り返さない」というのは、「定義などの作業

    Ruby on Rails - Wikipedia
  • ポリモーフィズム - Wikipedia

    ポリモーフィズム(英: polymorphism)とは、それぞれ異なる型に一元アクセスできる共通接点の提供[1]、またはそれぞれ異なる型の多重定義を一括表現できる共通記号の提供[2]を目的にした、型理論またはプログラミング言語理論(英語版)の概念および実装である。この用語は、有機組織および生物の種は様々な形態と段階を持つという生物学の概念からの借用語である[3]。多態性、多相性と邦訳されることが多い。 ポリモーフィズムは、通常以下の三種に分けられる。 アドホック多相 (ad hoc polymorphism) 恣意的な型の集合に一つの共通接点を提供する。関数オーバーロード、Mix-inのいち実装、型クラスなど。 パラメトリック多相 (parametric polymorphism) 詳細化されていない型要素を内包する抽象的な型に記号表現を提供する。ジェネリクスや関数型言語の型構築子など。

  • Common Lisp - Wikipedia

    Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつでもある。Common Lispの略称はCL(ごくまれにclispとも。なおCLISPという実装が実在するので混同回避のためあまり用いられない)。規格はANSIによる ANSI INCITS 226-1994 (S2018)。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。 Lispの基的な特徴の他、いくつかのプログラミングパラダイムのLispへの取り込みについて標準を提供しているという、マルチパラダイムプログラミング言語という面が

    Common Lisp - Wikipedia