読者です 読者をやめる 読者になる 読者になる

0neiric k0uh0t

開発BLOG

シェル変数と環境変数の違い

シェル変数

同じシェルでしか参照できない

$HOME="hoge"

環境変数

異なるシェルでも利用できる

'$export HOME="hoge"'

Linuxルートディレクトリ

ルートディレクトリ見てみる

bin

コマンド類が格納されている

boot

起動に必要なファイル類

mount/unmount コマンド

システムの一部として関連づけをする

dev

バイスに関するファイル類

etc

設定ファイル類(ネットワークなど)

home

userごとのホームディレクトリ userのディスク領域

lib

ライブラリのファイル類

media

メディアファイル類

opt

追加のパッケージなどのファイル類

proc

processの情報など

root

特権ユーザのディレクト

sbin

システムのバイナリー システムの管理者が使う様々なコマンド類が格納

sys

ファームウェアカーネルなどの情報が格納

usr

アプリケーションのファイル類など

var

可変データが格納

この記事がわかりやすいですね。

qiita.com

Linux基礎

Linuxとは

OS -> オペレーションシステム

アプリケーションとハードウェア間の命令の受け渡し等を行う。

OSの役割

  • メモリ管理
  • ディスク管理
  • ハードからの情報をアプリケーションに渡す

Linuxの動作の仕組み

Linuxの中心はカーネル

ターミナルからの命令をSHELLを通してカーネルに伝える

特徴

  • マルチタスク 同時に複数のアプリケーションを実行できる

  • マルチユーザ 複数のユーザが同時にログインして作業が可能

UNIXLinux

LinuxUNIX互換のOS

MINIXからLinuxカーネルを開発

ディストリビューション

Linuxカーネルとソフトウェアのパッケージ

RedHat

Debian

Slackware

Android

  • Brillo
  • Weave

インストールタイプ

  • ネイティヴ型
  • 仮想型
    • アプリケーション方式(VirtualBox)
    • ハイパーバイザ方式
    • パーティショニング方式

ネイティヴ型

HDD/SSDに直接インストールする

Raspberry Pi CD-ROMやUSBメモリ

仮想化型

  • アプリケーション方式

通常のOSに仮想化ソフトウェアを入れてその上にインストールする

VMware Parallels VirtualBox

仮想化用カーネル上で動作

VPSAWS

GUIを使わないのが基本

vagrantからherokuを使う

vagrantからherokuを使うメモです。

heroku toolbeltをインストール

herokuのtoolbeltをダウンロードします。

以下のリンクです。

devcenter.heroku.com

インストール

sshでリモートサーバに入り、

sudo wget -qO- https://toolbelt.heroku.com/install.sh | sh

上記のコマンド。

Pathを通す。(ファイルは人によります。)

echo 'PATH="/usr/local/heroku/bin:$PATH"' >> ~/.zshrc

heroku login

完了です。

[Ruby]オブジェクトのメソッド一覧を取得する

Ruby

オブジェクトに定義されているメソッドを取得するメソッドは以下のようなものがある。

methods

private_methods

protected_methods

public_methods

singleton_methods

ex)

irb(main):001:0> a = "hoge"
=> "hoge"
irb(main):002:0> a.methods
=> [:<=>, :==, :===, :eql?# 以下省略]

オブジェクトのインスタンス変数にアクセスするには以下のようなメソッドがあります。

instance_variables

[アルゴリズム]定番

アルゴリズム

定番アルゴリズムを簡単にかきます。

文字列探索

  • 力任せの検索法

先頭から1文字ずつずらしながら探す

  • KMP法

不一致箇所に着目して探す

  • BM法

部分文字列の末尾から探す

数値計算

  • エラトステネスの篩

素数を求める

最大公約数を求める

連立1次方程式を解く

  • 台形公式

積分の近似値を求める

グラフで最適経路を求める

  • 二分法

方程式を解く

方程式を解く

整列

グループ分けしながら並び替える

ヒープを利用して並び替える

二分割とマージを利用して並び替える

基準のデータをもとに大小に分割を繰り返して並び替える

  • 挿入ソート

基準のデータをもとに大小に分割を繰り返して並び替える

隣あるデータを交換して並び替える

  • 選択ソート

最小(大)値を選択して先頭から順に並べる

探索

  • リニアサーチ

  • バイナリサーチ

  • ハッシュ探索法

まとめ

アルゴリズム楽しい

Terminalからブラウザを立ち上げる

ターミナルからブラウザを立ち上げる方法をかきます。

$ open hoge.html

これだけです。

$ open -R hoge.html

でファイルがあるディレクトリを開く。

$ open ディレクトリ名

でもオッケ!

ブラウザを指定する場合は以下のように。

open -a Firefox hoge.html
open -a Safari hoge.html

知っておくとちょっと便利