投稿

2月, 2018の投稿を表示しています

php_modが非推奨になったのね

昔のバージョンのphp環境でphpバージョンを上げるという対応中。 apache + PHP8のインスタンスを構築してドキュメントルートまで到達を確認。 対応する人にドキュメントルートまで到達するからプロジェクトのファイルを置いてバージョンアップのエラーを確認してもらうため依頼しましたが HTTP 503 Service Unavailable のエラーが出ているとのこと。 HTMLファイルはアクセスできているからPHPの実行ができていないと思い調べると Apache HTTP サーバーで使用するために PHP に提供されている mod_php モジュールが非推奨になりました。 php-fpmをインストールして起動し、リクエストを流してphp-fmpでphpを実行するようにして解決。 しばらくPHPを触っていなかったのでモジュールが非推奨になったことに気づかずでした。

progateのrailsソースをダウンロードしてローカル環境で動かす

progateのrailsソースをダウンロードして ローカル環境で動かすまで 特に会社で必要でというわけではなくて今の御時世で今までと同じ環境の知識だけだと心もとない! しかし特に制作物のあても思いつかないのでprogateというものを知ってruby、ruby on railsをやってみた。 progateのネット評価的には超初心者向けとかこれだけではダメ的なことが書かれていることが多いですが作るあてもない人にはrailsは基本的な部分の成果物が見れるので個人的にはいいかなと思っています。 さてここからが表題の件です progateの学習で止まってはいけないというのは同意見で、私もローカルのdocker環境にダウンロードしたソースコードで同じものをとりあえず動かしてみて今までの経験からのWEBアプリケーション知識をrailsに変えてカスタマイズを施していこうかと思います。 まずはprogateのrailsの最終コースを復讐するよりコードをダウンロードしローカルのプロジェクト配置先で解凍しておきます。 railsのコンテナとmysql5.7のコンテナの作成部分は省略します 基本的にcomposeで構築しましたがmysqlはコンテナ起動時のmysql起動とローカルストレージにmount、railsはローカルのプロジェクトソースにマウントしただけです※railsサーバのコンテナ起動時の起動コマンドを入れていましたがどうもコンテナを手動で止めずにPCを落としたときにpidファイルが残ってコンテナが起動しない事象があり今回はコンテナ起動時のrails serverは諦めました。。 # cp ダウンロードソースパス プロジェクト配置パス  # cd プロジェクトパス # tar xvzf ダウンロードソース Gemfile.lokを作成する # cd プロジェクト直下パス # touch Gemfile.lok 追加でインストールしておくもの(任意です)をGemfileに記述 # vim Gemfile >> コメント→ gem 'sqlite3' >> gem 'mysql2' >> gem 'rename' DBは

migrationが入っていないプロジェクトにあとからmigrationを導入

migrationが入っていないプロジェクトに あとからmigrationを導入 migrationが入っていないプロジェクトにあとからmigrationを導入したメモです 導入プロジェクト環境 amazonlinux mysql5.5 php7.0 をdockerでコンテナ作成して構成しています。 webで検索してシンプルそうでいいかなとliamstask/gooseを導入 phpmigでも良かったんですがclassファイルに構成しているのが微妙に嫌で記述がシンプルにSQLなliamstask/gooseにしました まずgoが入っていないのでgoのインストール go(googleが開発した言語)のインストール サイトURL ダウンロードディレクトリに移動(任意の場所です) # cd /usr/local 投稿時点の最新を取得してきました # wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz # tar -C /usr/local -xzf go.release.go1.tar.gz これでインストール自体は完了 パスを通します # export PATH=$PATH:/usr/local/go/bin これで # go で使えるんですがログアウトするとリセットされる揮発状態ですので ログアウトしてもパスが通っているように以下 # vim ~/.bashrc >> export PATH=$PATH:/usr/local/go/bin ※はじめ/usr/local/srcでインストール実行したらインストール先がわからなくて迷いました さてここからがmigrationツールのインストールです liamstask/gooseをインストール # go get bitbucket.org/liamstask/goose/cmd/goose 実行するとホームディレクトリにgoが作成されその中のbinに実行ファイルができる なのでgoインストール先のbin配下にリンクさせる (インストール時にhomeに入れてパスをexport G

netbeansの設定の個人設定メモ

netbeansの設定の個人設定メモ これは個人設定を記録するメモになります。 追記したときは下部に追記した旨を記述します。 参考までにお願いします。 ・エディタの背景色を変更 Preferences→フォントと色からプロファイルで 今回は『City Lits』を選択 ・cakePHPを使ったのでctpを追加した Preferences→その他でファイル ファイル拡張子を新規追加で関連つけられたMIMEをtext/x-php5 に設定 ・netbeans8.2のIME使用時のカーソルでスクロールしない問題を修正 パッチを作成された方がおります。こちら 参考サイト   ※ありがとうございます。ストレスなくできるようになりました。 ※こちらはご自身の責任の下で実行をしてください 手順は参考サイトのとおりに 修正されたファイルを ダウンロード Macですとインストールディレクトリ(私の場合はデフォルト/Applications/NetBeans) 【/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/ide/modules】 の中のorg-netbeans-modules-editor-lib2.jarを上書きします ※しかしその前にやっておくことが! その際に上書き元のファイルとキャッシュディレクトリをバックアップしておく方がいいみたいです 【さっきのパスにあるorg-netbeans-modules-editor-lib2.jar】 【~/Library/Caches/NetBeans/8.2/】 ・ファイルのフルパスを表示したい すでにある設定もあるんですが私はタイトルバーに表示するほうが好みです 既存設定 Preferences→外観→フル・ファイル・パスの表示 タイトルバーの表示方法 ツール→プラグイン 使用可能なプラグインから【Show path in titlebar】を検索 インストールして再起動するとタイトルバーにパスが表示されるようになります ・GITのブランチ名を表示する 表示→バージョン・ラベルを表示

DREVO Excalibur 84 キーボードを購入

イメージ
DREVO Excalibur 84 キーボードを購入レビュー ※このページの商品画像はamazonの商品ページにリンクしています。 DREVO Excalibur 84キー メカニカルキーボード 黒軸 US配列 テンキーレス 着脱式USB接続 フレームレース 全金属板 白色光 ゲーミングキーボード ホワイト amazonで仕事で使うキーボードを購入してみました 自前のmacを仕事で使うようになりキーボードがテカるのが嫌でマウス付きの安いやつを購入したんですが タイピングの一文字目が入力できなかったり配列が少し変?な感じだったので新たなものを購入することにしました。 その最初のキーボードがこちら PowerLead ワイヤレスキーボード ウィスパー静かなマウスフルサイズの ワイヤレスキーボードとMacの人間工学 こちらはかなり安価でマウスもついているんで購入時はそんなにお金を出せなかたということもありこちらを購入しました。 金額の割にはマウスも付いてMacっぽいデザインなので結構気に入っていましたが業務で利用となると十字キーが小さいのとしばらくマウス操作してキーボードからキーボド作業に入ったときのうちはじめの一文字目が打てないときが稀にあるのでこちらは自宅で使うようにしました。 のんびりキーを操作する分には全く問題なく邪魔にもならない大きさでお家で使うのには重宝しています。 操作感はキーを押したときのストロークが短いので優しく操作する人向きですかね。 私は強めにキーを操作するのでこれを使うときは優しくなります。 で次に購入したのがこちらです DREVO Excalibur 84(黒軸) WEBのエンジニアをしているのですがキーボードにはさほどこだわりがなく 他のメンバーがかなりこだわっているので何でもいいじゃん?ってクチでしたが 自分のmacのキーボードが業務利用でテカるのは少々抵抗があるので購入することに 購入にて驚いたことは光のパレード 光のパレード動画を取りましたのでが参考にしてください キーボード自体を購入するのがそんなにないのでレビューするのはおこがましいのですが

muninで詳細グラフが表示されないプラスメモリがおかしかったので修正

muninでグラフの詳細(dynazoom)が 表示でグラフメモリが1で固定されて困ったときのメモ クラウド環境を使っていると監視グラフも無料枠である程度(これは本当にある程度だと思っています)見れるし閾値アラートも設定しているのですっかりマメに見ることがなくなったmunin (これは反省しなきゃならんです。日々の変化を見落とすことが後にトラブルになりますので。。) 開発用なのですがちょっと動作がもっさりしているということで監視に入れてデータ取りつつ見てみようとホスト追加すると 『あれ?』 グラフの詳細(ズームできるやつ)が画像が生成できず画像壊れの状態に・・・ とりあえず調べてみると こちらと同じ症状でしたので参考にさせていただきました MuninのアップデートでDynazoomが動作しなくなったら アップデートが原因みたいですね /var/lib/munin/cgi-tmp これがなくなっているようです 作成して権限を適切にします # mkdir /var/lib/munin/cgi-tmp # chown apache:apache mkdir /var/lib/munin/cgi-tmp ということでグラフ表示は解決したんですがまた問題が発生しました 今度は詳細グラフ(dynazoom.html)の縦軸がどの監視サービスのグラフも1.0固定になっているんです おい!apacheが1アクセスまでしか見れないなんて使いもんにならんし!! ということでこちらも調べてみることに こっちはGitHubにissue( #804 )がありました master/_bin/munin-cgi-graph.in こちら修正されているということでしたがどうやって現在のものを修正していいか分かりません。。 ※素でmunin-cgi-graph.inを修正しようとこれがどこにあるか探して悩みました(後に気づきます) しかしふとmuninをGitHubのmasterから持ってくれば今後も更新楽なのでは?と思いチャレンジしましたがこちらも挫折 ※挫折しましたが一応は経験としてまたチャレンジしてできたらまたその記事を書きます 結局この挫折作

MacOSx でaws CLI(コマンドラインインターフェース)を使えるようにする

MacOSx でaws CLI (コマンドラインインターフェース)を使えるようにする AWSのマニュアル通りにpython3をインストールしてやった手順について書きたいと思います。 マニュアル通りにpipが入っているかの確認 $   pip --version Python.org のダウンロードページから Python 3.6 をダウンロードしてインストールします。 https://www.python.org/downloads/ Python Packaging Authority が提供するスクリプトを使用して、pip をインストールします。 $ curl -O https://bootstrap.pypa.io/get-pip.py $ python3 get-pip.py --user pip を使用して AWS CLI をインストールします。 $   pip3 install awscli --upgrade --user AWS CLI が正しくインストールされたことを確認します。 $   aws --version っとここまでがAWSのマニュアル https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-install-macos.html で $   aws --version $   command not found. になったのでメモることにしました。 コマンドがわからない。。とどこにあるのかわからない。。ということで 探しました・・・ ~/Library/Python/3.6/bin/aws これです。 なんでこれを $ env | grep PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin パスの通っている /usr/local/bin こちらにコピー $ cp ~/Library/Python/3.6/bin/aws /usr/local/bin/ $ aws --version aws-cli/1.14.28 Pytho

php simpleXmlElementにオブジェクトついて

php simpleXmlElementにオブジェクトついて 環境的にはphp7のLAMP環境です。(php以外は詳しい情報は特にいらないと思ったので記述なし) データ取得時にオブジェクトからデータを取るときに一瞬『ん?』となったのでメモ $xmlstr = <<< XML <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <Documents>     <Document>         <name>私はエンジニアです</name>         <type>コツコツ</type>         <age>1</age>     </Document> </Documents> XML; 例えばこんなXMLがあったとします。 そうするとXML文字列を引数にSimpleXMLElementでオブジェクトを作成 $xml = new \SimpleXMLElement($xmlstr); var_dump($xml); 出力 → object(SimpleXMLElement)#38 (1) { ["Document"]=> object(SimpleXMLElement)#43 (3) { ["name"]=> string(27) "私はエンジニアです" ["type"]=> string(12) "コツコツ" ["age"]=> string(1) "1" } } こんなデータオブジェクトが出来上がるんですが例えばageの要素を取得したいときに var_dump($xml->Document->age); 出力 → object(SimpleXMLElement)#50 (1) { [0]=> string(1

AWS SDK S3 オブジェクトにタグをつけようとして躓いたメモ

S3 オブジェクトにタグをつけようとして躓いたメモ 表題の通りで putObject するときにTaggingというオプションがあったので使ってみたら新規オブジェクト登録時にそのまま使えなかったのでメモに残すことにしました。 結論的にはかんたんなことでしたIAMの権限の不足でした。 私はSDK用のユーザーをアプリケーションごとに作成して各アプリケーションごとにバケットを作成します。ユーザーはアプリケーションのバケットに対して最小限の必要な権限を付与していくのですが、今回はファイルをS3にアップロードして必要時にダウンロード(両方WEBアプリケーションから)するために対象WEBアプリケーション用にユーザーを作成しています。 付与した権限は GetObject PutObject DeleteObject これを許可していました。 これで運用していたのですがスマートフォンから送信してきたファイルと、同じ機能でWEBアプリケーションからデータをファイルにしたときのファイルが同一にできなくて。。 バケットやプレフィックスも分けるわけには行かなかったので悩んでいると PutObjectにTaggingというオプションがあったので おっ!これだ なので諦めてタグでアプリケーションからわかるようにしようと思い早速試してみる 送り方は $option + ['Bucket' => $bucket, 'Key' => $prefix_and_objectname, 'ContentType' => $content_type, 'Body' => $resorce, 'Tagging' => $tags]; $response = $awsS3client->putObject($option); ちなみに SDK for PHP $tagの部分はURLに含めるクエリストリング key1=value1&key2=value2 こんな感じ よしこれでいいと送信してみましたがエラー エラーの内容は AccessDenied