地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2018-01-01から1年間の記事一覧

cron実行のスクリプトの環境を確認する方法

cronを実行した時の環境変数を確認するには『crontab -e』などでcron設定ファイルに下記のように記述して、環境変数をファイル出力すると確認できます。 * * * * * /bin/env > $HOME/test_env.txt 環境変数にHOMEが指定されていなかった場合にはファイル出力…

【Linux】SIGSEGV調査

プログラムがSIGSEGVで落ちた!そんな時の調査方法

Dockerでコンテナのポートをバインドして外部と通信を行う

docker runしてコンテナ生成する際に外部と通信するように設定する方法 $ sudo docker run -itd -p 8080:80 centos:centos6 /bin/bash 上は-pオプションを使ってポートをバインドしている ホストポート:コンテナ内ポート といった形でバインドする。 http://…

Docker インストールメモ

Dockerインストールのディストリビューション毎のメモ Ubuntu ```` bash $ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add …

nfs関連役立ちコマンド

netstat tcpdump rpcdebug /proc/self/mountstats rpcinfo showmount nfsstat nfsiostat mountstats

"/dev/sd" パーティションを切る

Linuxではハードディスクを使うには以下の5ステップが必要 ① ハードディスクをシステムに物理的に接続(接続方法をここではUSBとする) ② 追加したハードディスクのデバイスファイルが作成されていることを確認 ③ ハードディスクにパーティションを作成 : fdi…

アンマウントできないとき

アンマウントできないときがある $ sudo umount /mnt/nfs_1 umount: /mnt/nfs_1: device is busy 原因を確認 lsofコマンドを使ってみる $ lsof /mnt/nfs_1 # 以下で使ってるプロセスをkillすることも $ fuser -k /mnt/nfs_1 上で駄目ならrebootしましょう。

Qiita 良記事

個人的に暇な時用に読みたいQiitaの記事まとめ ■vim幼稚園 https://qiita.com/hachi8833/items/7beeee825c11f7437f54 ■計算量、オーダーの求め方 https://qiita.com/drken/items/872ebc3a2b5caaa4a0d0 ■[C言語]定数判断 https://qiita.com/tomabou/items/a3d…

コンテキストスイッチ

コンテキストスイッチとは コンテキストスイッチ (context switch) とは、複数のプロセスが1つのCPUを共有できるように、CPUの状態(コンテキスト (情報工学))を保存したり復元したりする過程のことである。 コンテキストスイッチはマルチタスクオペレーティ…

プロジェクトマネジメントのアンチパターンで参考になった記事

アンチパターンとは ソフトウエア開発が失敗に陥る際に多く見られる、間違ったソリューション(解決策)をパターンとして整理し、さらには失敗を避けるにはどうしたらいいのかを示してくれます。 リンク qiita.com qiita.com

gccをアップデートする

アップデートする対象バージョンのgccを入手/解凍する $ ctrl -O ftp://ftp.ntua.gr/pub/gnu/gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.gz $ tar -jxvf gcc-8.1.0.tar.gz $ cd gcc-8.1.0 依存パッケージのインストール $ ./contrib/download_prerequisites $ yu…

Goで学ぶポインタ

Go言語でWebアプリケーションを作る時に、 必ず使うと思われる概念が「構造体」と「ポインタ」です。 元々、オブジェクト指向の言語(Ruby)を勉強していたこともあり Go言語を勉強し始めて、一番最初に苦戦した箇所です。。。 今回は非常にざっくりですが、 …

Linux カーネルのソースコードを読みたい

概要 本稿では、Linux カーネルソースを確認する方法についてご紹介いたします。 1 ソースコードを確認する方法 Linux カーネルは、オープンソースであるため、ソースコードが公開されており自由に読むことができます。読む方法としては、主に2通りです。1…

Linux カーネルのソースコードを読みたい

はじめに 本稿では、Linux カーネル(アップストリーム)のソースコードを確認する方法についてご紹介いたします。初学者向けの内容であり、カーネルソースを読み解くテクニックと言った類のものではありません。 1 ソースコードを確認する方法 Linux カーネル…

Linux ディストリビューション

ディストリビューションは英語でDistributionで、分布や流通という意味 RedHat系 Linux界隈では有名なRedHat社が開発している有償のディストリビューションだ。有償ということもあって、わかりやすく「仕事」というイメージが付いている。 Debian系 Debianは…

LINE API Tips

Line APIのTips

【Linux】Linuxをドメインへ参加させる

やりたいこと LinuxへActive Directoryのアカウントでログインできるようにしたい。 統合認証とかいうやつです。 システム概要 ・ドメインコントローラ -OS :Windows Server 2012 R2 Standard -フォレストの機能レベル :Windows Server 2012 R2 -ドメイン…

register指定子

C言語の関数では仮引数やローカル変数は通常、主記憶上のスタックエリアに割り当てられる。 register指定子は仮引数やローカル変数を "なるべく" レジスタに割り当てるように指定するものである。 レジスタには限りがあるので下記のようなソースでも必ずレジ…

ユーザ空間とカーネル空間

ユーザ空間とは ユーザに割り当てられる計算リソースで実行しているプログラムが直接アクセス可能なリソース カーネル空間とは カーネルが使用する領域のこと 両者の違い メモリ領域に違いがある。 ユーザ空間とカーネル空間はそれぞれ独立しており、互いが…

リストを実装してみる

C言語を使ってリスト(Linked List)構造を作ってみる。 リストとは簡単に言うと同じタイプのデータがつながった状態をいう 配列との違いとしてリストは列の長さは可変でデータの挿入や削除は早いという点がある。ランダムアクセスに関しては探索が必要となり…