CentOS5 の opensslが、openssl-0.9.8e-34.el5_11 これだとTLS1.2に対応してないので、curlやwgetなどやると下記のエラーになってしまう。。。 error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
はじめに s3 sync で作業をしていた際に、同期されるはずのファイルが同期されなかったので調査してみました。 事象 s3にアップロードしたファイルをローカルに同期させる際に同期されないファイルがあった。 s3にアップロードしたdocument.txtをローカルに同期する s3にアップロードしたファイル $ aws s3 ls s3://test.takahashi.yusuke/ 2015-06-26 18:56:05 4847 document.txt 現在のローカルのファイル $ ll ~/docs/ total 16 drwxr-xr-x 3 takahashiyusuke staff 102 6 25 13:17 . drwxr-xr-x+ 60 takahashiyusuke staff 2040 6 25 13:16 .. -rw-r--r-- 1 takahashiyus
CREATE TABLE authors ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE entries ( id INT NOT NULL AUTO_INCREMENT, author_id INT NOT NULL, title VARCHAR(255) NOT NULL, body TEXT, available TINYINT(1) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE tags ( entry_id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (entry_id, name) ); -- JOIN 使わない場合 INSERT IN
mysqlでjoinした結果をdeleteする場合の構文を忘れがちなので備忘録としてメモ。 テーブル作成 --- ユーザーメインテーブル CREATE TABLE `user_main`( `user_id` int, `name` text, PRIMARY KEY (`user_id`) ); --- ユーザーサブテーブル CREATE TABLE `user_sub`( `user_id` int, `type` int, PRIMARY KEY (`user_id`) ); INSERT INTO user_main values(1, 'name1'); INSERT INTO user_main values(2, 'name2'); INSERT INTO user_main values(3, 'name3'); INSERT INTO user_sub values(1,
Vagrant のバージョン 1.8 から、新しく Snapshot という機能が追加されました。 Snapshot 機能とは、ある時点の仮想マシンの状態を保存/復元できるようにする機能です。 例えば「これからWEBサーバーをインストールするんだけど、操作が不安!」などという時に、今の仮想マシンの状態を保存しておくことで、それ以降の手順で間違えがあっても状態を元に戻せる機能です。 今まで Vagrant では、sahara プラグインで実現できていましたが、プラグインが不要となり Vagrant 本体だけでスナップショットの機能が利用できるようになりました。 本稿では、Snapshot機能の使い方を解説したいと思います。 事前準備 当たり前ではありますが Snapshot 機能は Vagrant 1.8 からの新機能ですので、古い Vagrant を利用している場合は最新の Vagrant
こんばんは。 笹亀です。 弊社では、MySQLを使用しているシステムが多くあります。 みなさんも、MySQLは頻繁に使用しているのではないでしょうか。 私が特にMySQLなどのRDBMS(Relational Database Management System)を使用するときに気をつけていることが、SQLを記述するということです。 私は「どのようにSQLを発行すればよいか」という点を気にしながら、コーディングをすることが多いです。 自分が経験したことで、SQLの書き方ひとつでも大きな問題になったこともあり、 SQLの書き方には知恵を絞って、いかに効率がよいSQLを記述するかということを心がけるようになりました。 今回はSQLの結果では同じ結果を返す、3種類の結合の速度を比べてみました。 今回はサンプルテーブルとして、下記の2つのテーブルを使用します mysql> desc user_m;
今まで mysql... 系を使用していましたが、PHP5.5以降は非推奨となり、将来的には削除される予定らしいので、PDOの使用に変更しようと思い、まとめてみました。 プリペアドステートメントでINSERTすると安全に値を渡せるとか、結構便利みたい。 Manualとか色々読んだけど、分かりにくい言葉が多かったので、自分なりに解釈を書いています。 PDOとかプリペアドステートメントの説明 こっちのページに詳しく書いています。 言葉の意味分からんわー。みたいな時は是非読んでみてください。 PDOでMySQLを色々やる。 まずメソッドや引数をちょっとまとめました。 今後増やしていこうと思っています。 メソッドや引数 内容
本日PHPでプレースホルダ(SQLを発行する際に後から値を指定する方法)のやり方を聞かれたのでブログでもシェア。 PHPではPDOを使う事で簡単にプレースホルダが使えるようになりますよ。 以下のサイトを参考にさせていただきました。感謝! PDOで接続、SELECT、プリペアドステートメントとは(PHPでMySQLに接続) PHPでPDOを使ってMySQLに接続、INSERT、UPDATE、DELETE、COUNT、SUM – Qiita プレースホルダとは 実際にプレースホルダを使った例を見てみましょう $sth = $dbh->prepare('SELECT name, color, calories FROM fruit WHERE calories < ? AND color = ?'); $sth->execute(array(150, 'red')); この「?(ハテナ)」記号が
はじめに ありきたりなメモなのですが久しぶりの息抜きメモ。 mysqlのauto_incrementについて、 下記みたいなことがちょくちょくありますがその度に忘れてるのでメモ。 auto_incrementの値知るのどうやんだっけなー deleteしちゃったからauto_incrementの値変えなきゃなー deleteしすぎて歯抜けになりすぎたから連番揃えてauto_incrementの値も変えてキレイにしたいなー あじぇんだ auto_incrementの設定を確認する auto_increment値を確認する auto_increment値を更新する auto_increment使ってるテーブルの歯抜けの連番を整理する auto_increment属性のカラムに0(ZERO)入れるとどうなるか 4と5はauto_incrementそのものというよりは auto_incrementテ
[caption id="" align="alignleft" width="256"] Postfixのぺーじ[/caption] postfix にてキューにたまったメールの削除方法 ローカル環境とかでテストしていて、送信できないメールのキューがたまっていた。 そこでキューを消そうと思ったんだけどコマンドが思い出せなかったので、調べた結果をメモしました。 まずはキューの確認 $ mailq -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 0E8DF6064 882 Mon Jun 30 16:42:39 xxxx@xxxxxx (connect to xxxx.xxxx.com[xxx.xxx.xxxx.xxx]: Connection refused) xxxxxx@xxxx.xxxx.com --
横浜は久しぶりの雨!こんにちは、nakamura です。 今やプログラマー、コーダーには欠かせない感のあるバージョン管理システムですが、弊社では subversion を使っています。今回はそんな subversion について、GUI も確かに便利だけどコマンドラインで使えると、作業の効率がぐっと上がりますよ!というお話しです。 サブコマンド、オプションの調べ方 svn コマンドは man ページもあるにはありますが大した情報は載っておらず、サブコマンドとして help を指定して実行すると詳細な説明が見れます。 shell > svn help 使用方法: svn <サブコマンド> [<オプション>] [<引数>] Subversion コマンドラインクライアント, バージョン 1.6.12. 特定のサブコマンドに関するヘルプを読みたいときは 'svn help <サブコマンド>' と
はじめに ファイルを別のディレクトリにバックアップする際は rsync コマンドが便利ですよね! そして --delete オプションも活用すると、コピー元で削除されたファイルをコピー先でも削除してくれるので ディレクトリの内容を同期するのに便利です。 ミラーリング用のアプリなんてもう要らねえ! ただし、不用意に rsync --delete を利用すると……死にます! 僕も今日、複数の外付けハードディスクのデータを整理するのに (僕自身は普段あまり使わない) rsync コマンドを --delete オプションとともに利用していました。 その時、事件は起こりました。 不用意にこのコマンドを実行してしまったがために、コピー先のディレクトリに存在した削除したくない、大切なファイル群まで消してしまったのです! というわけで、僕と同じような rsync 初心者の方が同じような悲劇を生まないために
rsyncはとても便利です。開発環境の内容を一発で本番環境にアップロードするとかいうときにはとても便利です。Gitでpullするのもいいけどrsyncもいいです。各個人の開発環境からみんなで動作検証とかする開発ステージング環境へ反映するときはGitの方がいいけど、本番とミラーリングしているステージング環境なんかを本番に同期するにはrsyncの方がいい。というのはGitにはディレクトリパーミッションを保持する機能がないのです。rsyncにはあります。 またcronなんかで定期的に同期をとるにもrsyncはとてもいいです。更に双方のディレクトリの差分を事前にとることもできます。これはGitの方が便利かな。 基本的な使い方 rsync -a /from /to ディレクトリを丸ごとコピーする際には、rsync -a [同期元] [同期先]でいいわけなんですが、基本的な使い方においてすでに奥が深い
トークンが一致しないと SecurityComponent の blackHole メソッドが実行されます。このメソッドでは header('HTTP/1.0 404 Not Found'); を出力して exit します。(画面は空白) 任意の処理を実行したい場合は blackHoleCallback でコールバック関数を指定します。 設定できるのは同じコントローラ内のアクションのみになります。 function beforeFilter() { $this->Security->blackHoleCallback = "securityError"; $this->Security->requireAuth('login'); } function securityError() { die("security error!"); } トークンチェックをするアクションを複数指定するとき
net - ファイル共有サービス制御 サーバサイド 公開しているファイル共有の一覧を表示する net share 公開しているファイル共有の詳細を表示する net share my-share ファイル共有を公開する1 net share my-share=C:\Users\taro\pub01 /grant:everyone,full ファイル共有を公開する2 net share my-private=C:\Users\taro\pub01 /grant:mypc\taro,full /grant:everyone,read サーバがドメイン環境な場合、"ドメイン名\ユーザ名"でユーザを指定する。 公開しているファイル共有を削除する net share my-share /delete 公開しているファイル共有の設定を変更する ファイル共有を削除した後、作り直す。(多分、この方法しかない
普段 AWS CLI を使うことはそんなにないんですが、S3 コマンドだけはよく使うのでまとめました。といっても全てではなく、ファイルやディレクトリ操作に関する部分です。 基本コマンド AWS CLI の S3 コマンドは以下の形式で実行します。 aws s3 <Command> [<Arg> ...] 基本的に Arg の箇所はパスを入力することになるのですが、ローカルのパスは「ローカルファイルまたはディレクトリの絶対パスまたは相対パス」、S3のパスは「s3://<bucket>/<prefix>/<object>」となります。prefix とはディレクトリやフォルダのイメージです。 Command Description cp オブジェクトのコピー ls オブジェクトの一覧 mb S3バケットの作成 mv オブジェクトの移動 rb S3バケットの削除 rm オブジェクトの削除 sync
MySQLだとDELETEがとても重いです。10000件程度なら余裕ですが、100000件、1000000件にもなると手のつけようがないレベルです。その間MyISAMだとテーブルロックがかかるし、DELETEしすぎると今度は断片化してOPTIMIZE TABLEでもしないと速度低下が始まります。 OPTIMIZE TABLEやALTER TABLEはものすごく時間がかかることがあるんですよね。今回DELETEしようとしたテーブルはWebでの表示に必須の部分でして、どうせならWebをできるだけ落とさずにやってみるかという挑戦でした。 今回DELETEするのは27000000件くらいです。無理です。 処理を一度にできないと踏んだので、DELETEを増加量より多いLIMITで走らせればだんだんと減っていくのではないかと考え、実行。 ごり押しでLIMIT指定で絞ったDELETEを走らせた結果900
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く