LoT ラブオンテック

非モテ男の、非モテ男による、【女の子にモテたい】非モテ男のためIT活用ブログ

「プログラミング」 一覧

scanf/fgets/getchar/getsの違いとエスケープシーケンス(Cの標準入力)のまとめ

2020/02/19   -プログラミング

かつてつまずいたことがあったので、 一度まとめておこうと思います。 まずCの標準入力と言えば、 以下が思いつくかと思います。 全て"stdio.h"に定義されています。 関数 フォーマット(書式) s ...

no image

Cで不確実性推論エンジンとエキスパートシステムの実装について

推論エンジンとか知識ベースとか エキスパートシステムとかオブジェクトとか など、その周辺の言葉含めて、 色々調べたのでその備忘録です。 エキスパートシステムの頭脳は 推論エンジンであり、これがだめだと ...

【C++】推論エンジンとエキスパートシステムの実装してみる

AIというとPythonが多く使われますが、 今回はCで簡単なAIのアプリケーションを 実装して体験してみたいと思います。 エキスパートシステム、 それは人工知能の技術を用いた 1種のアプリケーション ...

【C++】SIOCSIFHWADDRでMACアドレスを書き換えてみた

2020/02/14   -プログラミング

MACアドレスが書き換えるのは、 容易ではないというイメージをお持ちでも 以外と方法を知ってしまえば、 簡単にできてしまうということを 実感できるかと思います。 余談ですが、基本的に Etherヘッダ ...

【fork】Cでマルチプロセス化して、gdbで子プロセスをデバッグしてみた

2020/02/12   -プログラミング

マルチプログラミング(並列処理)を 実現するには様々な方法が存在します。 その一つにマルチプロセス化があります。 新たにプロセスを作成して、 それぞれのプロセスが並列に 処理を進めていく方法です。 新 ...

Cでデーモンの実装してみた!デーモン周りのまとめ!

2020/02/10   -プログラミング

今回はデーモンを実装します。 デーモンは英語でdaemonです。 守護神の意味があるそうで、 悪い方はdemonと書きます。 デーモンは、プロセスの一種で、 常にバックグラウンドで動作し続けます。 一 ...

Cで見るシグナルハンドラとkillコマンドについて(非同期シグナルセーフ関数も)

2020/02/09   -プログラミング

シグナルハンドラについて 簡単にまとめておこうと思います。 そもそもシグナルとは何なのか・・・ シグナルは、あるイベント発生時に それをプロセスに通知します。 何気なく使用している "Ctrl + c ...

【C++】サーバにマルチスレッドを実装し、マルチクライアントに対応してみた

2020/02/08   -プログラミング

サーバ側のプログラムは、 多数のクライアントに対応するため、 マルチクライアント化に する必要があります。 マルチクライアントに対応していないと、 1クライアントが サーバと通信している間は、 他のク ...

Cでスレッドの最大数を確認し、上限増やしてみた!

2020/02/07   -プログラミング

マルチスレッドプログラミングをする上で、 今回はスレッドが最大で いくつ作成できるか検証してみます。 まずは実際に確認してみましょう。 上のコードを動かしてみると、 このようになってしまいます。 スレ ...

【解決策】SO_REUSEADDRをsetsockoptにセットしているのにbind()エラーになるとき

2020/02/04   -プログラミング

setsockoptを正しく使用しているのに、 どうしてもbindエラーになってしまう。 エラーの原因は、 Already in usedみたいな感じで 前回ソケットを使用した時に 上手く閉じれていな ...

【C++】HTTP 404 Not Foundを返すWebサーバの実装

2020/02/03   -プログラミング

簡単なWebサーバを実装してみます。 簡易的なHTTPの機能しかないので、 webサーバというよりは、 HTTPサーバと呼ぶべきでしょうか。 今回行うことは・・・ HTTPで通信してきた クライアント ...

【C++】HTTPリクエストを送って、WebサーバからのHTTPレスポンスを取得してみた

2020/01/30   -プログラミング

HTTPのリクエストメッセージを Webサーバに送信して、 返ってきたレスポンスメッセージを 表示させていきます。 今回は試しに リクエストラインには、 "HEAD / HTTP/1.1"(メソッド  ...

Copyright© LoT ラブオンテック , 2020 All Rights Reserved Powered by STINGER.