タグ

programmingに関するizariuo440のブックマーク (51)

  • [メモ] TCP/IPプログラミングにおけるエラー処理 (RSTパケットの飛ばし方と検出の仕方) - kazuhoのメモ置き場

    SO_LINGER の秒数を 0 にしてソケットを閉じればいい。Perl で書くなら以下のような感じ。 setsockopt($sock, SOL_SOCKET, SO_LINGER, pack("II", 1, 0)) or die $!; $sock->close() 一方で RST によって切断 (=異常切断された) かどうかはソケットからの読み込みが ECONNRESET エラーを返すかどうかで判断できる(正常切断なら 0 (==EOF) が返る)。

    [メモ] TCP/IPプログラミングにおけるエラー処理 (RSTパケットの飛ばし方と検出の仕方) - kazuhoのメモ置き場
  • 32bit/64bit 両対応な printf の書き方 - pyopyopyo - Linuxとかプログラミングの覚え書き -

    32bit/64bit両対応のコードを書いていると,よく printf() で引っかかります."%d"のような"書式"がややこしいからです. というわけで,変数の"型"と"書式"の対応を,表で整理してみました. 型 書式 注意事項 ssize_t %zd size_t %zu intmax_t %jd uintmax_t %ju ptrdiff_t %t signed char %hhd unsigned char %hhu short int %hd unsigned short int %hu int %d unsigned int %u long int %ld unsigned long int %lu long long int %lld unsigned long long int %llu int32_t %PRId32 以下,#include が必要(下記参照) uint3

    32bit/64bit 両対応な printf の書き方 - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • HTTP クライアントを作ってみよう(3)

    改良版を作ってみよう 前節で説明したサンプルは、一応は HTTP クライアントとして最低限の動作はしますが、 もう少し機能を追加してみましょう。 ダウンロードする URL を指定できるようにする User-Agent 情報を送る Proxy に対応する HEAD に対応する の4点を改善してみます。以下に詳しく説明します。 URL を指定できるようにする さきほどのサンプルでは http://www.cs.gunma-u.ac.jp/ にしかアクセスできませんでした。 コマンドラインで任意のURLを指定できるようにしてみます。 User-Agent 情報を送る User-Agent については User Agent統計 を参照してください。要は HTTP クライアントの自己紹介です。 User-Agent は「クライアント名/バージョン (OSなどの情報)」 という形式にすることが推奨され

  • Blog - Mikula Beutl - SEO Consulting

    This guide is the safest way to do a domain switch, you get all you need to change a blocked domain. What is a user flow and a user journey? There’s a macro view of a customer experience that we can analyze and partially control.

    Blog - Mikula Beutl - SEO Consulting
  • ニコニココメントサーバーにおけるメモリ使用量増大問題の調査と対策 - ドワンゴ 研究開発ブログ

    はじめに コメントサーバーは、ニコニコ関連サービスのコメントを司るサーバーである。稿は、ニコニコ広場で起こったコメントサーバーメモリ使用量増大問題について、我々コメントサーバー担当が行った調査と対策のまとめである。 今回のメモリ増大問題の解決にあたり、「仮説を立てる + 計測する→修正する→確認する」というパターンを繰り返した。このパターンは、ソフトウェアの様々な問題を調査するのに適用できる、基パターンである。 コメントサーバー概要 コメントサーバーについて簡単に概説する。 コメントサーバーはニコニコ関連サービスのコメントを管理するサーバーである。基的な機能は、新しいコメントの保存、およびコメントの出力である。ニコニコサービスのユーザーがコメントサーバーに直接触れることはなく、ニコニコのプレイヤーがコメントサーバーと直接やりとりを行う。ニコニコ動画の例でいうと、コメントサーバーを使用

  • IPA ISEC セキュア・プログラミング講座:C/C++言語編 第9章 ファイル対策:ファイルの別名検査

    第9章 ファイル対策 ファイルの別名検査 入力パラメータとしてファイル名またはパス名を扱う場合、細工されたファイル名が与えられて、所定のディレクトリの範囲外のファイルへユーザが不正にアクセスするおそれがある。 ひとつのファイルを識別するための名前──ファイル名、あるいはファイル名がディレクトリ修飾されたパス名──には異なる表現が複数通りあり得、攻撃者はそうした「別名」を使って予定外のファイルにアクセスしてくる。ファイル名の入力検査においては受け入れるべきでないパス名のパターンをすべて排除する必要がある。 ファイル名・パス名の一般的特性 (1) 通常のディレクトリ修飾 ファイルを特定する方法には、ディレクトリ修飾をする方法とファイル名のみでの方法の2種類がある。 1) 絶対パス(パス名の先頭が 「/」で始まる)

  • 日付の表記に関するノート

    日付の表記方法は、文化的な背景の違い、また用途の違いによって様々なフォーマットがあります。多くの場合、特に断り無く使っても問題なく正しい日時を伝えることができますが、文脈や利用者の環境によっては、意外な落とし穴にはまることもあります。誤解なく、かつ効率的に処理しやすい日時表記方法としては、2001-08-02T10:35Zというスタイルの、ISO/W3Cフォーマットがあります。 文化と日付表記 日時表記の国際標準とW3Cノート W3Cの日時フォーマット XML Schemaの日時データ型 タイムスタンプのインターネット標準 そのほか広く用いられる日時の書式 ピリオド区切りによる日付 電子メール、HTTPヘッダなどの日時表記 継続期間の表記 ISO 8601の期間表記 Dublin Coreの期間表記 読みやすさと処理しやすさのバランス 参照文献 文化と日付表記 よく見かける日付の表記法とし

  • ローダー(Loader)とパッカー(Packer)とカスタムリソースの話

    はじめに パッカー(packer)とは、実行ファイルを実行できる形式のまま圧縮(暗号化)するツールであり、UPX、FSG、tElockなど様々なものがあります。しかし、種類は違えどパッカーの基的動作原理はほとんど同じで、「ターゲットとなる実行ファイルを圧縮(or暗号化)して、プログラムの先頭に展開(or復号化)ルーチンを付加する」だけです。こうすることにより、プログラムが実行されたら一番最初に展開ルーチンが実行され、来の実行ファイルのデータをメモリ上に復元してプログラムが処理されることになります。 それで、今回はそのパッカーを作成してみようというわけですが、パッカー作成に関して大いなる壁になるのは「実行ファイルの先頭に付加する展開コードはアセンブリ言語で書かなければならない」という事態です。 例えば、暗号化処理がビット反転だったなら、アセンブリ言語でも簡単に復号化処理を書くことができま

  • Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center

    All Microsoft Global Microsoft 365 Teams Copilot Windows Surface Xbox Deals Small Business Support Software Windows Apps AI Outlook OneDrive Microsoft Teams OneNote Microsoft Edge Skype PCs & Devices Computers Shop Xbox Accessories VR & mixed reality Certified Refurbished Trade-in for cash Entertainment Xbox Game Pass Ultimate PC Game Pass Xbox games PC and Windows games Movies & TV Business Micro

  • コールスタック - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2023年4月) 出典は脚注などを用いて記述と関連付けてください。(2023年4月) 出典検索?: "コールスタック" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL コールスタックまたは呼び出しスタック(英: call stack)とは、プログラムで実行中のサブルーチン(関数)に関する情報を格納するスタックである。実行中のサブルーチンとは、呼び出されたもののまだ処理が完了していないサブルーチンのことを指す。実行スタック (execution stack)、制御スタック (control stack)、関数スタック (function stac

    コールスタック - Wikipedia
  • PC覚え書き | プログラムのデーモン化

    VvZX(qvZX)Afork()VXeR[gpBVXeR[oAovZXmAvZXRs[B ovZXevZXARs[VvZXqvZXBevZXAqvZXfork()lpB evZXAfork()qvZXvZXIDpAqvZX0pBplAevZXqvZXッBlBAqvZXPvOヲB int main(void){ pid_t child // fork()li[ if( !(child=fork()) ){ // child=0qvZX printf("inchildprocess\n"); exit(0); } // evZXqvZXID\ヲ prinft("inparentprocess:childprocessID=%d\n,child); return 0; }

  • xcb

    Introduction The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. News August 2023: xcb-proto 1.16 and libxcb 1.16 were released. In addition to fixing bugs, this adds support for DPMS 1.2 & Present 1.3. May 2022: xcb-proto 1.15 and libxcb 1.15 were released. In a

  • Preccs for Networking

    ネットワークプログラミング言語Preccs Preccsは正規表現型と並行プロセス計算にもとづく新しいプログラミング言語 で, 通信プログラムを簡潔に記述することが可能です. バージョン0.2.5のリリース 最新版であるVer.0.2.5をリリースしました.いくつかのエラーメッセージ強 化とバグフィックスを行いました.

  • Win32 programming with bcc and gcc

    [home] [back] コンパイラに1円も払わない窓プログラミング UNIXではgccがタダで使えるんだから、 WindowsでだってVC++になんか金を出せるか、と思っていた筆者だが、Borland C++ Compiler 5.5の無料配布をきっかけに、 こいつで窓プログラミングをしてみよう、と思い立った。 それに、Cygwinでだって窓プログラム書けるんでしょ? そうです書けます。 これは、そんな筆者によるメモです。 残念なことに、 このような情報は(特に日語では)ほとんど存在しないようなので、 同じような境遇の人の助けになることと思います。 念のため付け加えておくと、この道はいばらの道です。 窓プログラミングを体験してみたいが金がないという場合にも、 投入する時間を考えるとVC++を買った方が安上がりかもしれません。 (とはいえ、筆者がかきわけた道を通るのは幾分楽なはずですが

  • まつもと直伝 プログラミングのオキテ 第11回 コード・ジェネレーション

    コード・ジェネレーションとは,ユーザー・インタフェース作成やDBアクセスなど似たようなコードが何度も登場する場合に役立つ手法です。開発したコードを読み込ませることで,定型部分を自動生成できるからです。今回はコード・ジェネレーションに向いたRubyを例に考え方,導入方法を紹介します。 コンピュータ業界に身を置いていると,日は外国からの影響を受けやすいと強く感じます。ほとんどのコンピュータ技術が外国生まれなので,仕方のないことなのかもしれません。米国製アーキテクチャのPCに,米国製のOS(私のはフィンランド産ですが)を使い,使用するアプリケーションの多くも外国産です。ソフトウエアの流行も米国に半年から数年遅れて広まるため,海外の状況を見ていると大まかに日のソフトウエア業界の将来を予測できます。 純粋な日生まれのRubyにも同じ傾向があるようです。2005年12月に正式版が登場した「Rub

    まつもと直伝 プログラミングのオキテ 第11回 コード・ジェネレーション
  • BSSID・ESSID・電波強度の取得方法 - MSDN フォーラム

    お世話になります。 接続しているネットワークだけではなく、電波が届いているネットワークのBSSID・ESSID・電波強度の取得方法をご教授願います。 現在できているものは、現在繋がっているネットワークのESSID・電波強度です。 以下にそのソースコードを添付します。 ESSID: ManagementClass mc = new ManagementClass("root\\WMI", "MSNdis_80211_ServiceSetIdentifier", null);             ManagementObjectCollection moc = mc.GetInstances();             foreach (ManagementObject mo in moc)             {                 string wlanCa

  • WinPcap Documentation

    筆者: Loris Degioanni (degioanni@polito.it), NetGroup, Politecnico di Torino ホームページ: http://winpcap.polito.it モジュール WinPcapユーザーズマニュアル 定義 エクスポーテッド関数 フィルタリングの表現シンタックス プログラムでWinPcapを利用する 方法 pktdump_ex用例 pcap_filter用例 WinPcap入門編:WinPcap をプログラムする際のステップバイステップガイド デバイスリストの獲得方法 インストールされたデバイス についての詳細情報の獲得方法 アダプタのオープニングとパ ケットのキャプチャ方法 ループバックなしにパケット をキャプチャする方法 トラフィックのフィルタリン グ パケットの解析 オフラインダンプファイルの 処理 パケットの送出 ネット

  • 高度プログラミング演習(九州大学全学共通教育科目)の説明資料

    実践プログラミング CとC++プログラミングに関するいくつかの例題と解説. 単なるプログラミングテクニックや文法の解説ではなく, 背後にある考え方の習得(アルゴリズム,データ構造,数学など)を重視して いる. プログラムをじっくり眺めそこから技法を学び取る. 最大値 [HTML] 曜日の計算 [HTML] 平均値,分散 [HTML] 2次方程式の解 [HTML] 最小自乗法 [PPT], [HTML] 待ち行列シミュレーション [PPT], [HTML] アーランの即時式モデル [PPT], [HTML] 行列のLU分解 [PPT], [HTML] ニュートン法による非線型方程式の解 [PPT], [HTML] 数値積分 [PPT], [HTML] 2分探索木 [PPT], [HTML] ヒープソート [PPT], [HTML] クイックソート [PPT], [HTML]

  • コルーチン - Wikipedia

    コルーチン(英: co-routine)とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続により協調動作を行うことによる。 サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。 コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には Modula-2、Simula、Icon、Lua、C#、Limbo、Swift などがある。マルチスレッドで理論的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSやCPUスレッドの支援を受けられることや、エント

  • Changelogのための英文テンプレート集 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -

    Changelog英語で書く際に参考になるようなテンプレートをまとめてみました.git や svn のコミットログにも使えます. このエントリは今後も逐次更新を続けます(最終更新2018/11/01) リリースノートの英文についてはRelease note のための英文テンプレート集 - pyopyopyo - Linuxとかプログラミングの覚え書き -に分離しました git等のcommit メッセージにも使えます 以下,例文. バグ修正した場合 修正した場合 → fix を使うのが定番です Fixed a performance regression. (パフォーマンスが低下するバグを修正しました) Fix possible memory leak Fixed an issue where some devices would display the wrong image. (いく

    Changelogのための英文テンプレート集 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -