タグ

software-engineeringとprogrammingに関するnabinnoのブックマーク (22)

  • スコープ - Wikipedia

    スコープ・スコゥプ(SCOPE, Scope, scope 英語発音: [skoʊp] )とは[1]、可視・適用・対象の範囲を指す。 部分範囲を見る光学機器の名称。 望遠鏡(テレスコープ)、顕微鏡(マイクロスコープ)、潜望鏡(ペリスコープ)、銃の光学照準器などがある[2]。 オシロスコープ(電気信号・振動をスクリーン上に可視化する電気装置) ノムラスコープについては野村克也#解説者時代を参照。 範囲 (scope) - 工業規格の適用領域(適用範囲)の指定[3]。 スコープ (プログラミング) - 変数や関数などの名前(識別子)を参照できる範囲。 スコープ (プロジェクト管理) - プロジェクトマネジメントにおけるプロジェクトの範囲のこと。 範囲 (scope) - 記述統計学における要約統計量のひとつで、計量的な観測値の最大値と最小値の差。Rで表す。 巨視(macroscope)・微視(

  • Prolog - Wikipedia

    Prolog(プロログ)は論理プログラミング言語の一つであり、該当分野で最もよく知られている論理型言語の代表格である。主に人工知能研究や計算言語学との関連性を持つ。定理証明、エキスパートシステム、自動計画、自然言語処理とも繋がりが深い。形式論理である一階述語論理を基礎にして、事実群と規則群の表現および関係の観点に立った宣言型パラダイムに準拠しており、その関係に則った質問によって計算が開始されるという性質を持つ。 Prologは、1972年にマルセイユ大学のアラン・カルメラウアーとフィリップ・ラッセルによって開発された。フランス語の「programmation en logique」がその名の由来である[1]。Prologの誕生にはエディンバラ大学のロバート・コワルスキが考案したホーン節が大きく寄与している。カルメラウアーによる元祖版はマルセイユPrologと呼ばれている。その後、コワルスキ

  • Snippet (programming) - Wikipedia

    This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Snippet" programming – news · newspapers · books · scholar · JSTOR (September 2023) (Learn how and when to remove this message) Snippet is a programming term for a small region of re-usable source code,

    Snippet (programming) - Wikipedia
  • 今まで読んで良かった本 100冊 - プログラマでありたい

    今まで読んできて良かったなぁというをまとめてみました。せっかくなので100冊をまとめて一挙公開です。趣旨としては名著を紹介する訳ではなく、考え方の上で参考になったを紹介するという方針です。しかしロクに記録していないし記憶も定かではないので、当に良いと思ったものでも抜けているものも多数あると思います。また技術書については、専門外の人には意味が無いので省いています。 一般的にを勧めるうえで、100冊並べるというのは一番効率が悪い方法です。書評ブログとしては、1冊もしくは類似の2〜3冊くらいを紹介するのが一番効率が良いのです。でも、私は意地悪なので、を1冊紹介してくださいと言われると、10冊紹介するようにしています。暇な時に眺めてください。 歴史関係の 私がジャンルとして一番好きなのは、歴史関係のです。時間が許す限り延々と読んでいたいですが、そうも言っていられないのが現実です。面白

    今まで読んで良かった本 100冊 - プログラマでありたい
  • 「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場

    若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。 たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。 なぜか? それはメモリが貴重なリソースだったから。 1980年代のPCの搭載メモリは多くて数メガバイト。これに対し、長編小説の長さは1MB程度に達する*1。 当時、メモリはとても貴重な資源であり、テキストを処理するプログラムを開発するにあたっては、文字列をどのようにメモリ内に展開するかプログラマが細かくコーディングする必要があった。 だから、汎用的な「文字列型」というのは「夢」にすぎなかった。CあるいはPascalにおける文字列(CのASCIIZ文字列あるいはPasca

    「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場
  • Java SE 8 lambdaで変わるプログラミングスタイル - きしだのHatena

    JavaOne2013報告会福岡第二段で話したlambdaの資料に加筆して公開しました。 lambdaの詳細な構文は適当に調べてもらうとして、lambdaでどのようにプログラミングスタイルが変わるかということに重点おきました。 追記「用意されたFuncationalInterface」のリンクはここです。 Java8 Lambdaの文法拡張まとめ - きしだのはてな

    Java SE 8 lambdaで変わるプログラミングスタイル - きしだのHatena
  • Programming language - Wikipedia

    The source code for a computer program in C. The gray lines are comments that explain the program to humans. When compiled and run, it will give the output "Hello, world!". A programming language is a system of notation for writing computer programs.[1] Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usual

    Programming language - Wikipedia
  • ニコニコ動画(RC)‐ベンチャー指向プログラマ - 伊藤直也さん

    2007年9月7日,ITpro Challenge!での講演です。ほかの講演は「itprochallenge」タグで。2007年10月末までに順次アップの予定です。講演一覧は→mylist/2638291

    ニコニコ動画(RC)‐ベンチャー指向プログラマ - 伊藤直也さん
  • Hacker - Wikipedia

  • Software development - Wikipedia

    Software development is the process used to conceive, specify, design, program, document, test, and bug fix in order to create and maintain applications, frameworks, or other software components. Software development involves writing and maintaining the source code, but in a broader sense, it includes all processes from the conception of the desired software through the final manifestation, typica

    Software development - Wikipedia
  • Software engineering - Wikipedia

    Software engineering is an engineering approach to software development.[1][2][3] A practitioner, called a software engineer, applies the engineering design process to develop software. The terms programmer and coder overlap software engineer, but they imply only the construction aspect of typical software engineer workload.[4] A software engineer applies a software development process,[1][5] whic

    Software engineering - Wikipedia
  • ビヘイビア駆動開発 - Wikipedia

    テスト駆動開発で記述されるテストケースは、作成したプログラムの動作が正しいかどうかを検証するために行う「テスト」である。テストであるという点は同一であるが、加えて、これから作成しようとするプログラムに期待される「振る舞い」や「制約条件」、つまり「要求仕様」に近い形で、自然言語を併記しながらテストコードを記述する。テストフレームワークのメソッド名も自然言語(英語など)に近い形をとっている。 テストコードの可読性があがる上、テストコードが要求仕様となりうる。要求仕様からテストコードを起こす際も、スムーズにコードに移行しやすい。 BDDではスペック(仕様)とテストは限りなく近い物である。従って、テスト駆動開発における「テストファースト」は、BDDにおいては「スペックファースト」となり、スペックを作ってから実装するという、より自然な形でのプログラム製作を実現している。 いくつかのテストフレームワー

  • 継続的インテグレーション - Wikipedia

    継続的インテグレーション(けいぞくてきインテグレーション、英: continuous integration、CI)とは、すべての開発者の作業コピーを定期的に共有されたメインラインにマージすることである。1日複数回行われるのが一般的である[1]。グラディ・ブーチは1991年のメソッド[2]でCIという用語を最初に提案したが、彼は1日に数回の統合を提唱していなかった。エクストリームプログラミング(XP)ではCIの概念を採用し、1日に1回以上、おそらく1日に何十回も統合することを提唱した[3]。 開発者は変更に着手するとき、現在のコードベースのコピーを取って作業する。他の開発者が変更したコードをソースコードリポジトリに提出すると、このコピーは徐々にリポジトリのコードを反映しなくなる。既存のコードベースが変更されるだけでなく、新しいコードを追加したり、新しいライブラリやその他のリソースを追加した

  • Deployment environment - Wikipedia

    This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Deployment environment" – news · newspapers · books · scholar · JSTOR (June 2019) (Learn how and when to remove this message) In software deployment, an environment or tier is a computer system or set of

  • 「コーディングを支える技術」著者公式ページ

    世の中にはたくさんのプログラミング言語があります。そしてプログラミングに関する概念も、関数、型、スコープ、クラス、継承など、さまざまなものがあります。多くの言語で共通して使われる概念もあれば、一部の言語でしか使われない概念もあります。これらの概念は、なぜ生まれたのでしょうか。書のテーマは、その「なぜ」を理解することです。 そのために書では、言語設計者の視点に立ち、複数の言語を比較し、そして言語がどう変化してきたのかを解説します。いろいろな概念が「なぜ」生まれたのかを理解することで、なぜ使うべきか、いつ使うべきか、どう使うべきかを判断できるようになるでしょう。そして、今後生まれてくる新しい概念も、よりいっそう理解しやすくなることでしょう。 ■最新情報 ■目次 ■正誤情報 ■補足記事 ■技術評論社の書籍情報ページからは、 書籍内容に関するお問い合わせや、 学校・法人向け一括購入、テキスト採

  • リファクタリング (プログラミング) - Wikipedia

    この記事には独自研究が含まれているおそれがあります。 問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2020年10月) この記事で示されている出典について、該当する記述が具体的にその文献の何ページあるいはどの章節にあるのか、特定が求められています。 ご存知の方は加筆をお願いします。(2014年4月) リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。また、いくつかのリファクタリング手法の総称としても使われる。ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。 リファクタリングが登場する以前は、一度正常な動作をしたプログラムは二度と手を触れるべきではないと言われていた。な

  • Assertion (software development) - Wikipedia

  • 命名規則 (プログラミング) - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2018年12月) 独自研究が含まれているおそれがあります。(2018年12月) 出典検索?: "命名規則" プログラミング – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 命名規則(めいめいきそく、英: naming conventions)とは、プログラミングを行う際にソースコード上の識別子(英: identifier)の名称となる文字列を決定するためのルールを定めたもの。ネーミング規則、ネーミング規約、あるいは命名規約とも呼ぶ。 通常は、ソースコードの可読性や視認性の向上、プログラミング効率およびメンテナンス性の改善などを目的としている。

  • 制御構造 - Wikipedia

    制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミング[1]や命令型プログラミング[2]において、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 」などの構造(言語の構成要素)である[3]。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック の記事を参照)。 無条件に実行箇所を移動する(無条件の分岐命令、ジャンプ) 何らかの条件の成立・不成立に従い、ブロックの実行・不実行を選択する(条件付き分岐命令、選択) ブロックを繰り返し実行する(ループ) ジャンプの一種だが、その続きに戻れるもの(サブルーチン呼出、コルーチン) 継続(特にcall/cc) プログラムの停止(理論的には重要だが(停止性問題を

  • リーダブルコード

    美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。書の目的は、君のコードを良くすることだ。(書「はじめに」より) コードは理解しやすくなければならない。書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。日語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作

    リーダブルコード