2017-01-01から1年間の記事一覧
リバースプロキシ のメモ
構造体の中のポインタ変数をもつ構造体から各々のメンバに値を代入したい 構造体のメンバーについても、その配列数などが前もって定まらない場合は、 そのメンバをポインタ(必要であればポインタのポインタ)にしておいて、 構造体を確保した後でそのメンバに…
malloc(マロック, エムアロック)、free、calloc、reallocは、動的メモリ確保を行うC言語の標準ライブラリの関数である mallocは必ず成功するとは限らない。利用可能な空き領域が無いと失敗するらしい。このご時世メモリ不足って話もあまり聞かないがユーザ…
ポインタの前に ポインタの前に、ポインタを理解する上で理解する必要のあるものがひとつあります それはアドレスです。 もっと簡単に言うならメモリの場所です。 プログラムを作成する際に変数などを作成すると その変数はデータ型に応じて、必要な分だけメ…
Tv から
#!/usr/bin/env sh usermod -u "${UID}" neovim groupmod -g "${GID}" neovim # su-exec neovim nvim +UpdateRemotePlugins +qa cd "${WORKSPACE}" && su-exec neovim nvim "$@" # su-exec neovim sh
シェルスクリプトのオプション解析 シェルには、コマンドオプションの解析を行う「getopts」というコマンドがあります。 スクリプトに「シェル名 -オプション」のようにオプションを利用して引数を渡したい場合に使用します。 $ which getopt /usr/bin/getop…
OSの機能 メモリの管理 プロセスの管理 プロセス間通信 ファイルシステム ネットワーク ユーザ管理(権限など) タイマー ファイルディスクリプタ プロセスが起動されるとOSは3つの擬似ファイルを作成する 0:標準入力 1:標準出力 2:標準エラー出力 POSIX系OS…
スポットインスタンスとは スポットインスタンスとは、AWSで余剰のインスタンスを入札制で大幅に安い価格で利用できる仕組みです。需要と供給のバランスで価格が決定するため、時には通常のオンデマンドインスタンスで利用するときより高い価格になる場合も…
環境 Windows Subsystem for Linux Windows 10 Home 64bit Ubuntu ソース等 ソース msg: .ascii "hello, world\n" .globl _start _start: mov $1,%rax # write mov $1,%rdi # stdout mov $msg,%rsi # addr mov $13,%rdx # len syscall mov $60,%rax # exit m…
バグとは 自分の意図したとおりにプログラムが動かない状態のことなどをバグと言います。 デバッグとは バグの原因を調べ、問題を解決する一連の作業をデバッグと言います。 一般的にプログラムが意図したとおりに動かない原因には「内的要因」と「外的要因…
ELFとはコンパイラが生成するオブジェクト。 ライブラリとリンクされた実行ファイルのフォーマットである。 読み方はエルフ
プリプロセッサ指令を使ってデバッグモードを付けてみる カウンタ変数iの値を調べるためにprintf文を挿入した九九プログラム 計算途中の結果は何も表示されない。本番の仕様でも計算結果が必要ないがどこかでバグがあるかもしれない #include <stdio.h> int main(void</stdio.h>…
UEFIとBIOSの違い UEFI(Unified Extensible Firmware Interface)とはマザーボードに保存されているプログラム OSが起動する前にパソコンに接続されているハードウェアの制御を行うもの UEFIが登場する前はBIOSがUEFIの代わりを担っていた。 BISO自体は現役で…
カーネルって何をするのか調べた記事 プロセス管理 プロセス生成・消滅 スケジュラ ファイルシステム 名前空間管理 VFS ext2, etc3, JFS, ReiserFS, XFS, ISO9660... ネットワークファイルシステム ** デバイスファイル プロセス間通信 セマフォ メッセージ…
sizeof演算子は2種類の使い方があります. sizeof(型) sizeof 変数や定数,あるいは式など 1:(struct _data*)0 0をポインタと見なして、struct _data型にキャスティングする。 2:((struct _data*)0)->C キャスティングした結果をもとに、変数Cを参照する。 3…
サブネットマスク計算(IPv4)/サブネット一覧(早見表)
arch arch サブディレクトリには、アーキテクチャ(architecture)固有の カーネルコードが含まれている。 さらに深いサブディレクトリがあり、たとえば、i386 や alpha と いったサポートするアーキテクチャごとに分かれている。 include include サブディレ…
ビットとは 「bit」とはコンピュータの扱う情報の最小単位のことであり「binary digit」の略 CPUの違い 32bitと64bitというのはCPUの違いである。 CPUのビット数はcpuinfoコマンドとかで見れる 32bitと64bit 「記憶装置のbit幅」が違うというのが一番 ここで…
コマンド基本+α 省略しない名前 省略しない名前を知っているとちょっとした時に役に立つかも? cd : change directory pwd : print working directory mv : move cp : copy ls : list ln : link teeでリダイレクト リダイレクトと言えば>であるがこれだと実…
インストール可能なパッケージの一覧の表示 # yum list available インストール済みのパッケージの一覧の表示 # yum list installed 省略されたパッケージグループも含めてグループの一覧を確認する # yum grouplist hidden インストールするパスを指定する …
"/proc/${PID}/environ"をみるときにcatだと末尾が改行じゃなく\0 (NULL文字)のため見辛い そんな時はstringsコマンドを使うと良いことに気づいた $ strings /proc/29732/environ LANG=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin …
dartでファイルを読む入門としてはstreamが一番速そう import 'dart:io'; import 'dart:convert'; void main() { new File("something.text").openRead() .transform(UTF8.decoder) .transform(const LineSplitter()) .forEach((line) { print("> $line"); }…
お久しぶりです。 入社して早半年が経ちました。 せっかくなのでここまでの振り返り。 4~6月 研修 7~10 実務 言語は主にBashとC言語。 古くからあるプログラムですね。 正直未経験入社してよくわからないまま日が立っている気がします。 まあこれからも頑張…
PCが起動するまで ①PCの電源を入れる ②マザーボードのBIOS(Basic Input Output Subsystem)が起動する ※BIOSは周辺機器との間の入出力を制御するためのプログラム ③このときBIOSは、ハードウェアリセットの割り込みが発生したものとして、あらかじめ設定され…
# CPU使用率が高いプロセス watch -n 2 "ps aux| sort -nk +3 | tail" or watch -n 2 "ps aux| sort -nk +4 | tail" # swap使用中のプロセス grep VmSwap /proc/*/status | sort -k 2 -nr # ファイルサイズが大きい順 du -b | sort -n | numfmt --to=iec --s…
Reliability(信頼性) Availability(可用性) Serviceability(保守性) Integrity(保全性) Security(機密性)
内積を求めるプログラム 2 つのベクトルの内積は高校数学当たり範囲 プログラムで書くとすごく簡単に求まるんだなーって感慨深い /* header files */ #include <stdio.h> #include <stdlib.h> /* functions */ double InnerProduct(double *, double *, int); /* main */ int ma</stdlib.h></stdio.h>…
カテゴリ用
カテゴリ用の記事