poll(2) や select(2) を使う代わりに、カーネルからアプリケーションに イベントを通知させるのに SIGIO シグナルを使う方法もある。 この方法を使うには、 fcntl(2) を用いてソケットのファイルディスクリプターに O_ASYNC フラグをセットし、 SIGIO に対する有効なシグナルハンドラーを sigaction(2) によって設定しておく必要がある。 後述の シグナル に関する議論も参考にすること。 ソケットアドレス構造体 各ソケットドメインにはそれぞれ独自のソケットアドレス形式があり、ドメイン固有のアドレス構造体を持っている。 これらの構造体の先頭には、アドレス構造体の種類を示す整数の "family" フィールド (型は sa_family_t) がある。 このフィールドにより、 すべてのソケットドメインで汎用的に使用されるシステムコール (例えば、 co
Section: Linux Programmer's Manual (7) Updated: 2020-11-01 Index JM Home Page roff page 名前 ip - Linux IPv4 プロトコルの実装 書式 #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> /* 上記のスーパーセット */ tcp_socket = socket(AF_INET, SOCK_STREAM, 0); udp_socket = socket(AF_INET, SOCK_DGRAM, 0); raw_socket = socket(AF_INET, SOCK_RAW, protocol); 説明 Linux は RFC 791 と RFC 1122 で記述されている Internet Pro
関連キーワード 統合開発ツール | プログラマー | プログラミング プログラミング言語には根本的な共通点がある。一般的に、 変数宣言 条件式 関数 という3つの要素から成ることだ。条件式を評価して、その結果に応じて演算する関数の集合体がソースコードになる。 どのようなプログラミング言語でも、こうした基本的な考え方に変わりはない。処理の集合としてソースコード全体を記述する「手続き型」か、データと処理(メソッド)をまとめて定義した「オブジェクト」を組み合わせる「オブジェクト指向型」かにかかわらず、プログラミング言語に共通した考え方だと言える。 プログラミング言語によって大きく違うのが、「波かっこ」(「ブレース」「中かっこ」とも)の使い方だ。 そもそも「波かっこ」は何のためにあるのか Copyright © ITmedia, Inc. All Rights Reserved.
pastalogic[パスタロジック]は、プログラミングをテーマにした2人用対戦ゲームです。 プレイヤーは場に用意された「コマンドカード」を用いて、対戦相手を打ち倒すためのプログラムを組み立てていきます。 フラグを配置する プレイヤーはランダムに選ばれたコマンドカードに「実行フラグ」を交互に置いていき、このゲームで自分が操る「プログラム」を組み上げていきます。先に置かれたフラグほど、先に効果が発揮されます。 コマンドカードには相手にダメージを与えたり、実行フラグを追加したり、カードの順番を入れ替えたりと様々な効果があります。 「どのカードに実行フラグを置いたのか」は公開情報で、相手の戦略を読むことが重要になります。 コマンドを実行する プログラムの組み立てが終わったら、コマンド実行フェイズに入ります。 コマンドはカードの並び順通りに実行の機会が訪れ、実行フラグをコマンドカードに置いているプ
ISO/IEC 9126 は、ソフトウェア品質の評価に関する国際規格である。同じ概念についての新たな規格策定事業 SQuaRE(Software Quality and Evaluation) により、ISO/IEC 25000:2005 に置換した。 ISO/IEC 9126は、「品質モデル; quality model」、「外部測定法; external metrics」、「内部測定法; internal metrics」、「利用時品質測定法; quality in use metrics」の4つの部分から成る。 品質モデルは ISO/IEC 9126-1で規定しており、ソフトウェア品質を次のように構造的に定義した。 JISでは、ソフトウェア製品の品質に関わるJIS X 0129群と、ソフトウェア製品の評価に関わるJIS X 0133群とに分かれている。 JIS X 0133-1は、J
using System; using System.Threading; public class Work { public static void Main() { // Start a thread that calls a parameterized static method. Thread newThread = new Thread(Work.DoWork); newThread.Start(42); // Start a thread that calls a parameterized instance method. Work w = new Work(); newThread = new Thread(w.DoMoreWork); newThread.Start("The answer."); } public static void DoWork(object d
はじめに 前からちょくちょく見受けられたけれども、やはりやってしまう人は多いようなので 自戒の念と共にここに記しておきます。 ソフトウェアをDLして解凍またはセットアップしたexeのところに、appname.vshost.exeとかappname.pdbとか見かけたことはありませんか? これらはVisual Studioでビルドする際に、Debugビルドでは非常に有効なファイルですが、Releaseビルドでは不要なファイル達だったりします。 なので、必ず下記の2つの設定をReleaseビルド構成に施しておきましょう。 1. ホスティングプロセスを無効にすること これはあまり見かけなくなったけど、やはりやってしまう人はいるようです。 プロジェクトのプロパティでデバッグページにある Visual Studio ホスティング プロセスを有効にする(O) のチェックを外して Visual Stud
ソフトウェアエンジニアが知っているべきSOLID原則についての記事です。SOLID原則は、5つの原則の頭文字を並べた言葉で、S・O・L・I・Dそれぞれの原則について、5回に分けて説明します。 1) Single Responsibility Principle:単一責任の原則 2) Open/closed principle:オープン/クロースドの原則 3) Liskov substitution principle:リスコフの置換原則 4) Interface segregation principle:インターフェース分離の原則 5) Dependency inversion principle:依存性逆転の原則 今回はSingle Responsibility Principle(単一責任の原則 / SRP)についてです。 なぜSOLID原則が必要なのか?初回なので、なぜソフトウェア
この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.
プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめの本がウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず
シングルトンパターンの誘惑に負けない著者: Sam Saariste シングルトン(Singleton)パターンは多くの問題の解決に役立つパターンです。このパターンでは、クラスのインスタンスは必ず1つしか生成されません。そのインスタンスは使用前に必ず初期化されます。そしてシングルトンをグローバルアクセスポイントとすることで、設計をシンプルにできます。こう書いていくと良いことずくめのようですが、この「古典的な」デザインパターンに何か短所はあるのでしょうか 実はたくさんあります。それはよく考えてみるとわかります。確かにシングルトンパターンは魅力的なのですが、私の経験では、このパターンには利点よりも弊害の方が多いと言えます。まずテストの妨げになります。そして保守性の点でも不利です。残念ながらその事実は広く知られているとは言えないため、多くのプログラマを窓きつけているのです。つい使いたい誘惑にから
この記事は2020年10月28日に行われたさくらの夕べ Tech Night #3 Onlineにおける発表を文章化したものです。 ダーシノと申します。さくらインターネットでフロントエンドエンジニアをやっています。この記事では、発生したバグをプログラマーに的確に伝えるためのバグ報告の書き方について説明しようと思います。 バグ報告にはコツがある! プログラマをされている方で、過去にこんなバグ報告をもらった経験はないでしょうか。例えば「動きません」とだけ送られてきたりとか、イラッとした感情も含めた「使えねぇな!」みたいな報告、「アレもコレもソレもおかしいよ」みたいな、いろんなものが書かれた報告もあると思います。バグを残してリリースしてしまったプログラマーとしては非常に申し訳なくて今すぐ対応をしたいのですが、さすがに先ほどのようなバグ報告を受けても、我々プログラマは対応のしようがありません。「申
関連キーワード メインフレーム | 基幹システム | プログラミング IT部門が基幹システムを開発・運用する際のプログラミング言語として、汎用(はんよう)コンピュータで「Java」を使うようになる前は、メインフレームで「COBOL」を使うことが当たり前だった。今でも数々のメインフレームでCOBOLアプリケーションが動いている。 新型コロナウイルス感染症(COVID-19)の大流行をきっかけに、古い技術と現代の技術の分断があらためて浮き彫りになった。失業手当や緊急融資の申請を処理するための官公庁のシステムは、レガシーなCOBOLアプリケーションを使用するものが少なくない。 Javaエンジニアがなぜ「COBOL」を学ぶべきなのか 併せて読みたいお薦め記事 レガシーシステムのモダナイゼーション事例 Windows Serverのレガシーアプリを「Docker」に移行、製造受託大手が直面した課題は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く