SSDの設定 SSDコントローラには削除可能な領域をOSに予め知らせてデータ書き換えの遅延を少なくするTRIMという機能が用意されている。最近はSSDストレージが大容量化しているのでTRIMコマンドを頻繁に実行する必要はないが週1回くらいの頻度で実行するとパフォーマンスの低下を防ぐことができる。 ・SSDがTRIMに対応しているかどうか確認 $ lsblk --discard 実行結果。DISC-GRANとDISC-MAXのパラメータが0以外ならば、ドライブはTRIMをサポートしていることになる。 NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO sda 0 512B 2G 0 ├─sda1 0 512B 2G 0 ├─sda2 0 512B 2G 0 └─sda3 0 512B 2G 0 ・TRIMタイマーを有効化する。 # systemctl ena
同packageの場合 他ファイル中の小文字で始まる関数や変数も参照可能。 同じフォルダに置きソースファイル名を指定しないでコンパイルする。実行ファイル名はフォルダ名になる。 \add\main.go \add.go main.go package main import ( "fmt" ) func main() { fmt.Println(add(1, 2)) //-> 3 fmt.Println(foo) //-> 10 } add.go package main var foo int = 10 func add(x, y int) int { return x + y } 他packageを使用する場合 他のソースファイルをimportして使用する。他ファイル中の大文字で始まる関数や変数のみ参照可。 importするpackage名とフォルダ名を同じにする。ファイル名はpacka
cargo-updateというパッケージをcargoでインストールすることで、cargo installでインストールしたパッケージをまとめてアップデートできる。 cargo-updateCopycopy code to clipboard$ cargo install cargo-updatecargo install-update -aで一括でアップデートがあるか確認できる。 Copycopy code to clipboard$ cargo install-update -a Updating registry 'https://github.com/rust-lang/crates.io-index'Package Installed Latest Needs updatebat v0.15.4 v0.15.4 Nocargo-update v4.1.1 v4.1.1 Noexa
たまに、CSV データを JSON 形式に変換したくなることがあります。 というのも、元データとしていただくのは大抵 Excel ファイルで、 とりあえず CSV にエクスポートしただけでは使いにくいからです。 それくらいWeb上のツールであるんじゃないの? とちょっと検索してみたところ、セルに改行を含むケースに対応しているものが見つからなかったので、 Go 言語で実装してみました。 環境を整えてある方なら以下のコマンドで実行ファイルをインストールできます。 go install github.com/tmrtmhr/csv2json 入力としては以下のようなものを想定しています。 col1 col2 col3 1 2 3 4 "5 67" 8 9 10 11 出力は以下のようになります。ヘッダ行がキーになり、値はすべて文字列です。 [ { "col1": "1", "col2": "2"
先日Goでテキストファイルを読み書きする機会があり、その時に調べた自分用メモです。インターネット上には同様の内容の記事が数多く存在しておりますので、そちらも検索&参照してみてください。 私なりのざっくりイメージ バイト配列や文字列の単位で読み書きするなら「os」パッケージ バッファリングしながら読み書きするなら「bufio」パッケージ 一括で読み書きするなら「ioutil」パッケージ 共通の注意点 main()関数ではなく別関数にしているコードは、ファイルを閉じる処理のdefer呼び出しを有効にするためです。 一括の場合、ファイルの内容を全てメモリに保持するのでメモリ不足などの注意が必要です。 各関数やメソッドによって改行コードの出力有無が異なるので、その辺りも楽しんでみてください。 読み込み 読み込むテキストファイル「read.txt」の内容は次の通りです。 各Goコードを実行すると同じ
Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "strings" 文字列操作を行うシンプルな関数を集めたパッケージです。 パッケージファイル reader.go strings.go Contains関数 func Contains(s, substr string) bool Containsは、s内にsubstrがあるときtrueを返します。 Count関数 func Count(s, sep string) int Countは、s内のsepの重複しない個数をカウントします。 Fields関数 func Fields(s string) []string Fieldsは、文字列sをひとつ以上の連続したホワイトスペ
Linuxの使用歴が長い人は、Gentoo Linuxをご存知だと思う。 「何でもできるが、目的がなければオプションが自由すぎて何にもできない」ことで有名な、あの小粋なあんちくしょうだ。 しかし実際に使ってみると、サーバ用途とかCLIを用いた開発環境としては結構向いてると思うのだ。 ここでは、ちょいとLinuxを知っているけどGentooを知らない人向けに、Gentoo Linuxを簡単に紹介してみたいと思う。 では最初に、よくある利点と欠点のリストを挙げてみよう。 利点 (基本的には) インストールごとにコンパイルするので、コンパイル時にしか設定できない機能の有無を、簡単に切り替えられる。 つまり、使う人が使いやすいようにトコトンまでカスタマイズできるってことだ。 一方で、コンパイル済みパッケージを作る機能がある。こうすると、フルカスタマイズされたバイナリ・パッケージを用いた高速インスト
オペレーティングシステムは、コンピュータのハードウェア管理、ファイル管理、データの入出力と管理、アプリケーションプログラムやユーティリティの実行、ユーザーとの対話などを効率的に行うための制御・処理プログラムの基本セットです。
オペレーティングシステムは、コンピュータのハードウェア管理、ファイル管理、データの入出力と管理、アプリケーションプログラムやユーティリティの実行、ユーザーとの対話などを効率的に行うための制御・処理プログラムの基本セットです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く