Linux

WordPressのモバイルビューでサイドバーを投稿記事の上下に表示する(追記版)

WordPressのモバイルビューでサイドバーを投稿記事の上下に表示するの後日談。 サイドバーの設定も同様に、Themeのアップデートとともに消えてしまった。 参考:WordPressのモバイルビューで、ブログ投稿のサマリを表示しないようにする(追記版) CSSは、「Appearance」>「Edit CSS」に入れておけば良いが、 ファイルを追加したり、phpファイルの中身変更などはアップデートのたびに再度対応する必要がありそう。 何か良い方法はないものか、、、、

シェルスクリプトで、HTML/CSSの出力結果(グラデーション)を、PNG画像に変換してローカルに保存する

シェルスクリプトで、HTML/CSSのグラデーション背景を、PNG画像に変換してローカルに保存する グラデーションの画像を感覚的ではなく、機械的に作成したい時、HTML/CSSで描きたくなる時があるので備忘メモ HTML/CSSで作成した画像はPNG形式で保存するところまでShellScriptでコード化する 背景だけでなく、HTMLで出力されるページ全体を画像化できます グラデーション作り グラデーションの色は、インスタグラムのカラーコードを拝借 Instagram Color Codes HTMLコードは以下(ファイル名は「html-to-png-test.html」としている) 「linear-gradient」は線状のグラデーション 「30deg」はグラデーションの傾き(30度) その下は、「色コード」と「何%の時点でその色を持ってくるか」をそれぞれ示している ブラウザで開くと綺麗なグラデーションが描き出される 画像変換 「HCTI API」の利用登録 HTMLから画像変換するには、HCTI APIというオンラインツールを利用する ※無料版はAPI利用回数に制限があるので注意! HCTI API 利用のためにはSign upが必要 「Get started free」をクリック お好きな方法でSign up ダッシュボードから「User ID」と「API Key」をメモしておく Dashboard 「HCTI API」の利用 HTMLファイルと同じ階層に以下の「passwords.sh」と「html-to-png-test.sh」というファイルを作成 「passwords.sh」内の「UserID」と「APIKey’」部分は、先ほどメモした値に変更しておく ※jqコマンドをインストールしていなければインストールする (以下はMacの場合のコマンド) 現時点でファイル階層構造はこのようになっている コードを実行する すると「html-to-png-test.png」というファイルが同じ階層にできている 開いて意図した画像が作成されているか確認する 以上 コードはこちら html-to-png_work

Linuxで一番シンプルにメールを送受信する(postfix on Ubuntu)

認証とかDNSサーバとかは考えずに、ただただLinux(CLI)でメールを送受信してみたい、という簡単手順 全体概要は以下の通り Virtualbox上にVagrantを使ってUbuntu14(14.04.5 LTS)サーバを二つたて、相互にメールを送受信する (VMは必ずしもVagrantで作らなくても良い) VMの設定 送信側も受信側も同じ設定だが、わかりやすいように送信側を「smtpSv」、受信側を「smtpCt」というVM名とする 以下手順をそれぞれのVMに対して設定する (下準備)VagrantでVM作成 Vagrantfileの中身は以下の通り ※”smtpSv”はサーバによって名前を変える VM起動 VMへログイン hostnameファイルとhostsファイル編集 ホスト名を設定 ※「smtpSv.example.com」はサーバによって名前を変える 今回はDNSサーバを使わずにローカルのhostsファイルを見てメールを送る前提なのでhostsファイルに直接記載設定する 設定反映のためにリブートする 再びログイン postfixのインストールと設定 postfixをインストール 途中で「Please select the mail server configuration type that best meets your needs.」と出てきたら、今回は一番シンプルに行くので「No configuration」を選択 設定ファイルを適切な場所に持ってくる 中身を編集 ※「myhostname = smtpSv.example.com」はサーバによって名前を変える 「smtp_host_lookup = native」は、DNSではなくhostsファイルを見に行ってね(そこになければDNS)という意味 設定を反映させて完了 もう一つのサーバについても同様に設定をする 動作確認 設定が完了したので動作確認 送信側のVMでメールを送信する 最後に「.」とEnterを押せばメールが送信される (/var/log/mail.logや/var/log/syslogにログは出力される) ※今回は「smtpCt」サーバ、「example.com」ドメインの、「vagrant」というユーザーあてに送信。環境によって適宜変更ください) ※送信側のVM(smtpSv)で操作 受信側のサーバでメールが受信できていることを確認 先ほど宛先に指定したユーザーのホームディレクトリ(/home/vagrant)に移動すると Maildir/new/配下に新しくファイルができているので中身を確認する ※ファイル名は状況によって異なります ※受信側のVM(smtpCt)で操作 …

Linuxで一番シンプルにメールを送受信する(postfix on Ubuntu) Read More »

hubotをslackと連携させて動かす

hubotをslackと連携させて動かす 準備 nodejsの環境構築は以下を参照ください nodenv環境の構築(Mac) Slack tokenの取得は以下から https://api.slack.com/apps インストール 「yo」「generator-hubot」という必要なモジュールをインストール 色々出力されるが、「Everything looks all right!」と最終的に表示されればOK インストールしたモジュールを使えるようにシェルの再起動をしておく ※何も表示されない Bot作成 yoを使ってBotを作成する 「May we anonymously report usage statistics to improve the tool over time?」はとりあえず「No」と回答 「Owner」「Bot name」「Description」は適当に、とりあえずデフォルトで回答 「Bot adapter」は「Slack」を指定 これでhubotを使えるようになったので動かしてみる 「bin/hubot」で実行し、「Enter」キーを押すと「【Bot name】>」とプロンプトに入るので 「【Bot name】 ping」と打ってみて「PONG」と返って来れば成功 プロンプトを抜けるには「exit」 Slack連携 作られたhubotをslackと連携する 「HUBOT_SLACK_TOKEN=【slackのtoken】 ./bin/hubot –adapter slack」で実行すれば連携できる slack側で、botに「ping」と話しかけて「PONG」と返って来れば成功 (任意)いちいちトークンを指定して実行するのが面倒なのでスクリプト化しておく 次からはこのスクリプトを実行するだけでOK Botの開発 ping PONGだけしててもしょうがないので(他にもtimeなどデフォルトの機能はあるが) 何か簡単なスクリプトを書いてみる ※開発の仕方は公式のGithubを読むのが一番良さそう https://github.com/hubotio/hubot/blob/master/docs/scripting.md …

hubotをslackと連携させて動かす Read More »

nodenv環境の構築(Mac)

nodejsでpyenvのような環境が構築できないかとググったところ、nodenvというものを発見 nodenvの環境をMacに構築する nodenvをインストール ※nodeenvとは別物なので注意 nodenvをインストールしたら、インストール可能なnodejsのバージョンを確認 どれが良いか分からないが、「12.12.0」をインストール global環境(デフォルト)として12.12.0を設定 (個別に設定する場合はlocalに設定する) 特に何も表示されなければ設定されている パスを通す 自分はzshellを使っているので、「.zshrc」に記載をしている 「.zshrc」に記載した設定の反映のためにシェルを再起動 ※特に何も表示されなければOK nodejsが使えることを確認 以上。 今度、anyenvに対応させたいな。

【備忘】sympyのtips(グラフを合成する)

sympyのtips備忘録 グラフを合成するやり方はあまりググっても出てこなかったのでメモ 参考:微分と積分ってなに? (概念理解とsympy) 参考:sympyを使って微分積分した結果をグラフにplotする グラフを合成するには、「extend」を使う 以下は例 元の線だけのグラフに 各三角を合成すると(上段)、下段のようになる

微分と積分ってなに? (概念理解とsympy)

微分と積分ってなに? 文系の自分は、高校の途中でアメリカをフラフラしていたこともあり、 微積分は知識ゼロだったため、社会人になってから改めて始めから勉強 細かい公式などは、ググるか、python先生に計算をお任せできるけど、 文系人間には概念の理解が難しかったのでメモ 概念 「微分」は「傾き」、「積分」は「面積」を出すこと 例えば、 「距離」を「時間(一定の変化率)」で微分すると「速さ」が出る 「速さ」を「時間(一定の変化率)」で積分すると「距離」が出る 微分 例えば、距離を表しているグラフ「x **2」を「微分」する ※ 以下グラフ「function」青線 ※「 **2」は二乗の意味 接線を引いてみると、時間が大きくなるほど、傾きが大きくなることがわかる ※ 以下グラフ「function」水色線 つまり、微分すると右(「Differential calculus」)のようなグラフとなり、 どんどん傾き(スピード)を大きくなっていることがわかる ※ 以下グラフ「Differential calculus」 参考まで、グラフ表示のpythonコードは以下 ※実行方法など詳細は、sympyを使って微分積分した結果をグラフにplotする を参照ください 積分 次は積分 例えば、速さを表しているグラフ「2*x」を「積分」する ※ 以下グラフ「function」青線 xが大きくなるにつれて、「y=0」との面積は大きくなることがわかる ※ x=10までの面積(濃い青エリア) ※ x=20までの面積(濃い青エリア+水色エリア) ※ x=30までの面積(濃い青エリア+水色エリア+薄い水色エリア) つまり、積分すると右(「integral」)のようなグラフとなり、 どんどん面積(距離)を大きくなっていることがわかる ※ 以下グラフ「integral」 参考まで、グラフ表示のpythonコードは以下 ※実行方法など詳細は、sympyを使って微分積分した結果をグラフにplotする を参照ください まとめ 上の例のように、単純なグラフなら微分積分を使わずに傾きや面積が出せるかもしれないが 以下のようなぐにゃぐにゃ曲がったグラフだと、計算が大変なので微分積分を使うことになる 基本的な概念はここまで

Letsencryptを更新しようとしたら例の「Problem binding to port 80」が出現する

Letsencryptで証明書を更新しようとしたら例の「Problem binding to port 80」が出現する時 今までの記事で、apacheやnginxが起動したままだったとか、80番ポートが閉じられていたなど、 色々な要因があったけど、今回はどちらをやってもダメたった。 参考 Let’s Encryptの証明書を更新する(Bitnami on AWS) WordPress(aws_bitnami)のssl対応 Nginxコンテナに、Let’s Encryptで証明書を自動更新で当てたい場合 「error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping. All renewal attempts failed. The following certs could not be renewed:」と言われて証明書の更新ができない、、 apacheは停止している、、、 確認したら、何かよくわからないが80番ポートが使われていた よくわらかないので、切ってみる これで成功、原因はよくわからんが、みるところ違ったのかな、、

pythonのlistは代入しただけでは変更の巻き添えを食らうからcopyで複製する

タイトルだけでは意味がわからないと思うので実際のコードを見てみる このコードの実行結果は以下 の時点でlist1とは独立したlist2と言うリストができていると思ったが、 list2を変更(remove)したらlist1も巻き添えを食らって変更されていた という問題 巻き添えを食らいたくないときはcopyを使えば良い list2を変更しても、list1は影響を受けない 実行結果

WordPressで「Could not create directory.」エラーが出たからpermission見直していたら単にVolume容量がいっぱいだった話(AWS Management ConsoleでのVolume拡張手順)

WordPressで「Could not create directory.」エラーが出て、pluginのupgradeが軒並みできなくなった ディレクトリが作れないならPermissionだろう と安直な考えから、wordpress directory(wp-content)をパトロール どこもおかしくない、、、 しかしもう少し症状を見ると、、 Wordpress自体のUpdateもできないし、Postに画像のアップロードもできない 全体的におかしい、、 もしやと確認すると、Volumeがいっぱいだった 参考:[AWS] EBSボリュームを拡張してAmazon Linuxの容量上げる /dev/xvda1の使用量が100%になっている 今のMaxは10G 私はAWS(EBS)を使っているので AWS management consoleから操作 10GBから12GBに拡張する 無事に増えているのを確認 パーティションを拡張しようとしたら以下のエラー 満杯すぎて拡張すらできない状況らしいのでいくつかファイルを手動で削除すると できた 増えていることを確認 ファイルシステムの容量も増やす 拡張 できた