ぷっぽプログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

老兵の愚痴

php

1. メソッド名の動的生成はダメ絶対 例) $methodName = 'aiueo'; if ($parameter == 1) { $methodName .= 'Ver1'; } else { $methodName .= 'Ver2'; } $methodName(); 理由) 影響範囲調査するときなどでgrepでひっかからずに漏れる。そして致命的エラーに…

Ubuntu + docker+postfix+gmail経由でメールを送信する

Docker上のコンテナ内から、postfixを使ってgmail経由でメールを送信する方法です。 (受信とかはできません) 1. Googleアカウントの「2段階認証プロセス」を有効化する 2. Googleアカウントでアプリパスワード(※1)を取得する ※16ケタぐらいの*ログインパス…

windows10でdockerを簡単に導入できるようになっていた

Docker Desktop for WindowsをWSL2で使おうと思ったら、手順が前はすごく面倒くさかったイメージがありました。 時代は変わった…! 公式ページから、Docker Desktop for Windowsをダウンロードしてインストールできるようになりました。素晴らしいです。 htt…

地味にたまに使うgitコマンド

git

・1つ前のコミットとHEADを比較する -- コミットした後、コミットした内容なんだっけとなったとき使ってます -- git diff HEAD^ HEAD ・自分のブランチのログだけ確認 -- 他ブランチをマージした後などに、自分のブランチのなかにある変更だけ見たいとき使…

chrome拡張をさくっと確認したい場合

下記の記事参考のこと。 1. Chromeで「拡張機能を管理」を開く chrome://extensions/ 上記アドレスを打ち込んでもOK。 2. デベロッパーモードをONにして、「パッケージ化されていない拡張機能を読み込む」をクリックして、開発中のファイルの格納されたフォ…

html内にjavascript埋められてるケースでchromeなどでブレイクポイント設定したい場合

普通の感覚であれば、javascriptはjsファイルに切り出すものですが、たまに、html内に<script></script>で記載されているケースありますよね。 しかも、そのなかでがっつり長文のロジック書いてるクソコードの場合。 おもむろに、 debugger; と書いて、画面起動時に、develope…

VPS上でdockerを起動して外部からアクセスする

VPSなどを利用していて、VPS上にdockerをインストールし、コンテナ立ち上げて、外部から接続するケース。 最低限やればいいことを以下に列挙します。 ・docker-compose.ymlで、portsでしっかりと外部側のポートを指定。 ports: "8080:80" みたいな感じで。 ↑…

DockerfileのFROMにローカルイメージを指定する

地味にあんまりこの情報のってない気がするので記載。 DockerfileのFROMは、通常 FROM ubuntu:18.04 のような形でDocker公式イメージなどを使うことが多いと思うのですが、この場合はwebからイメージをとってくる感じになるかと。ここにローカルで既に以下の…

Conohaで8080ポートなどを開放する/ufwとdockerはある意味兄弟(iptables使ってた)

意外と大変。 ConoHaは、sshとかwebとかよく使うポート番号しか管理画面上では開放できません。 8080も意外と使うで?(関西弁風) いきます。 1. ConoHa管理画面で接続をすべて許可するに設定 → この時点で踏み台にされ放題かも。まあしばらくは仕方ないさ…

golangのwebsocketのモジュール名

golang.org/x/net/websocket が最近は正しいものらしいので、 go get golang.org/x/net/websocket でゲットする。

virtualbox guest additionをコマンドラインのみでインストールする方法

virtualboxにubuntu派生のxubuntuを入れてみたんですが、マウスが反応しません。 GUIなのにキーボードオンリーで、virtualbox guest additionをコマンドラインで入れたらマウスも反応してくれるんじゃないかと思いました。 そういうわけで、コマンドラインの…

tarコマンドでディレクトリ全体を圧縮する

いつも忘れてググっては、情報いっぱいあって2,3分探すので…。 例) foobarディレクトリをfoobar.tar.gzファイルに圧縮するコマンド tar cvfz foobar.tar.gz foobar/ ちなみに、解凍は tar xvzf foobar.tar.gz ですな。

MySQLのALTER TABLEで既存カラムVARCHARの文字数は減らせないことがある

知らなかったです。 tbl_user.user_nameがVARCHAR(500)とかで、 「田中太郎衛門」(VARCHAR(10)は越えてるデータ) などというデータが既にテーブルに入っていた場合、 ALTER TABLE tbl_user MODIFY user_name VARCHAR(4); などとして、 既にカラムに入ってい…

ubuntu + apache2 で8080ポートも併用する場合

apache使って開発している時に、 http://hogehoge.comと、http://hogehoge.com:8080とで、 表示サイト変えたいなどということ、あると思います。 そういう場合の手順になります。 ubuntuのバージョンは16.04で、apache2の場合です。 ・/etc/apache2/ports.co…

Mysqlのdate_time型で、「月」や「月日」で検索する方法

Mysqlのdatetime型や、date型のカラムに対して、 年月日ではなく、「月」や「月日」で抽出したいときは、 DATE_FORMAT関数を使うと便利です。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数 例)誕生日が7月のユーザを抽出 SELECT …

ubuntu16.04のapacheでphpを使用できるようにする

・phpをインストール sudo apt install php libapache2-mod-php php-mbstring php-gd php-xml php-zip ・ログの保存期間を延ばす /var/log/apache2 以下のlogが、デフォルトだと14日しか保存されない。 延ばす場合は、/etc/logrotate.d/apache2 の中の、 dai…

はてなブログで、「見たまま」モードのままでシンタックスハイライトする方法

はてなブログでは、「見たまま」モードを主に使っております。 「はてな記法」もありますが、使い方がまさに「?(はてな)」でして、なかなか手が出せないのです。 とはいえ、phpやcssのコードをいい塩梅に表示させたい。 そう思ったので、google code pret…

netbeans使用中に「windows-31jでは正しく開けません」と言われたら…

netbeansを使っていると、あるタイミングで以下のようなメッセージが表示されるようになりました。(どのタイミングかは覚えていません) ファイル 〇〇.phpは、エンコーディングwindows-31jでは正しく開けません。続行して開きますか。 Why netbeans encodi…

VirtualBox + Ubuntu でホストオンリーアダプター設定して、sshでさくっとつなぐ

VirtualBox + Ubuntu入れて、ふつうにSSHで接続しようと思ったら、 えらくはまりました。 情報が溢れすぎでして…。 ポートフォワーディングとかええねん。 NAT + ホストオンリーアダプターでええねん、っていう人。 以下の流れでOKかと。 ・VirtualBox側の…

ubuntu(16.04)にnodejsをインストールする

「sudo 〇〇」打ち込むのが面倒なので、 #sudo su - でスーパーユーザになっておきます。 あとは、 apt-get install -y nodejs npm npm cache clean npm install n -g n stable ln -sf /usr/local/bin/node /usr/bin/node ln -sf /usr/local/bin/npm /usr/bi…

ubuntuのapache2でmod_rewriteを使用する

以下コマンド実行a2enmod rewrite /etc/apache2/apache2.conf を編集<Directory /foo/bar/> AllowOverride All Require all granted</Directory>※AllowOverride Allが大事 apache2 再起動service apache2 restart 以上。