すべて
Linux で、システムのタイムゾーンを設定する方法
GUI なしの Linux でシステム自体のタイムゾーンをコンソール(コマンドライン)だけで設定するには、ルート(root)権限が必要である。以下のようにする。
Drupal 7 で、Bootstrap にマルチレベルのドロップダウンサブメニューを設定する方法
Bootstrap のテーマをダウンロード&インストールする。form-element.func.php ファイルを
vi bootstrap/templates/menu/system/form-element.func.php
以下のように編集。
CSS で、Font Awesome を使ってリストのアイコンイメージを変える方法
たとえばこのサイトの右のカテゴリリストのように、通常の箇条書きドット(・)からフォルダアイコンに変更したい場合は、CSS から以下のように変更する。
li:before {
position: absolute;
top: 0;
left: 0;
font-family: 'FontAwesome'; /* フォントを FontAwesome に設定 */
content: '\f07b'; /* フォルダアイコンを表す */
color: #fab100; /* 色は黄色 */
}
li {
position: relative; /* この指定がないとアイテムが改行してしまう */
padding-left: 20px; /* Fontawesome のアイコンの大きさ分、 */
/* 箇条書きアイテムの左にパディングを入れる */
list-style-type: none; /* これがないと箇条書きドット(・)を表示してしまう */
}MySQL で、重複レコードを抽出する方法
MySQL (まぁ、単なる SQL)で、データベース中の重複レコードを除いて検索するには distinct を使うのが定石だが、その逆に重複レコードのみ抽出・取得したい場合はどのようにしたらよいのだろう?結論は、以下のようにすればよい。
SELECT * FROM テーブルA
WHERE 列A in
(SELECT 列A FROM テーブルA GROUP BY 列A
HAVING COUNT(*) > 1);
MySQL で、重複レコードを削除する
基本的な手順は
- 対象のテーブルから重複レコードを除いて新しいテーブルにすべてのレコードを重複なしで書き出す
- もとのテーブルを削除
- 新しいテーブル名を変更
しかしこれはあまりスマートな方法を思えなかったので、他に方法はないか、あちこち探し回ってみたものの、うまい方法が見つからなかった。 SQL 文としては、以下のようになる。field_1、field_2(増やしてもよい)は、重複に関係するフィールドである。
CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2;
DROP TABLE main_table;
ALTER TABLE temp_table RENAME TO main_table;
Ubuntu 14.04 LTS の Docker で、サーバ再起動後に Docker コンテナ内のサービスを自動起動する方法
Docker コンテナに Apache2 をインストールして Docker コンテナを起動(docker run または docker start)しても、Apache2 は起動してくれない。ググるとどうも Docker は /sbin/init などが書き換えられているらしく、ふだん我々が普通に使用している Apache2 などのサーバサービス(多くは service コマンドで起動・停止などコントロールできるもの)を自動起動できないようだ。いろいろな方法があるようだが、結局は以下の方法が一番簡単なように思う。
docker コンテナにログイン後、docker コンテナ内の /root/.bashrc ファイルの最後に以下の 1行を加える(Apache2 の場合)
vi ~/.bashrc
service apache2 start
Docker のホスト OS (Ubuntu 14.04 LTS で確認済み)で、以下のファイルを作成する。
Screen コマンドで、ウィンドウに名前をつける方法
CTRL + A に続いて SHIFT + A で「Set windows's title to:」というプロンプトが出るから好きな名前入力。
Screen コマンドで、画面の下にステータスバーを出す方法
ホームディレクトリに以下の内容の .screenrc ファイルを置くだけ。
vi ~/.screenrc
hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
Bash で、色付きのプロンプトを出す方法
[09/20 13:49][ubuntu@pixie:/etc]$
のように、
[日付][ログインアカウント名@サーバ名:カレントディレクトリ名]$
といったような書式でプロンプトを出すには、
vi ~/.bash_profile
で、最後に以下の1行を追加すればよい 。
PS1="[\$(date +%m/%d) \$(date +%H:%M)][\u@\h:\w]$ "
カラフルバージョン 1(桃色系)