10年くらい運用していたデザインも古さを感じてきたことと、最近のデバイスの解像度に合わせて、デザインをリニューアルしました。 色々やらなければならないことは山積ですが、細々と更新を続けていきます。
Office365を導入する際、ライセンスコストや互換性の問題により、Exchange Onlineで直接メールの送受信を行うのではなく、既存のメールサーバ(SMTP)を利用してメールの送受信を行いたいというケースが、少数かもしれませんがあるかと思います。 そのような場…
前提条件(事前準備) 基本的には、やることは以下の内容(Ubuntu 18.04LTS)と変わりません。 www.tabimoba.net Ubuntu 20.04LTS がインストールされたEC2インスタンスを用意します。 インスタンスタイプは最初はt2.nanoやt2.micro(あるいはt3,t3a系の同等タ…
Wired日本語版の記事は、編集部のポリシーなのか、編集者が意識高い系なのかわかりませんが、カタカナの単語が独特で読みにくい問題があります。サーヴィスとか、プライヴァシーとか、イノヴェイションとか。この読みにくさは何とかしたい。 そんなこと思っ…
復活の日 www.youtube.com amzn.to 56年前の小説(映画化は1980年)ですが、新型コロナウイルスが流行し始めた際にまず最初に思いついたのがこの作品です。復活の日に出てくる殺人ウイルスや、殺人ウイルスの全世界への流行は、現代のコロナウイルスを想起さ…
手作業で移行を行おうとしましたが、途中で断念して先人たちの知恵を利用しました。 qiita.com github.com github.com 画像とカテゴリ対応、Qiita→Blogへの移行先案内は、これからぼちぼち行います。
タイトルの通り、徐々にQiitaから本Blogへ記事を移行していきます。最近Qiitaでは、以下の問題が話題となりました。www.itmedia.co.jp最近のQiitaは「俺の作った最強のシステム」的な危うさや、「こんな機能作った俺すごい、どや」的な意識高い系エンジニア…
久しぶりのBlog投稿となります。 はてなブログのAOSSL(サイトの常時SSL化)対応がものすごく面倒で放置していました。(あとは公私ともに多忙を極めていたというのも)APIを利用して、はてなブログのMixed Content対応や文字列置換を簡単に行えるツールがあ…
※Qiitaからの移行記事となります 画像のモーダル表示のためにLightbox系のライブラリの使い方を検索してみると、モーダル表示したい画像のimgタグをaタグで囲むようなものばかりが検索結果として出てきます。 しかし、CMS等の環境の制約によりaタグでimgタグ…
※Qiitaからの移行記事となります PHPのmkdir関数でディレクトリを作成する際に8進数4桁のパーミッションを指定する場合、mkdir関数の第2引数へ mkdir('/var/dat/hogefuga', 0755, true); のような形で指定することで、0755(rwxr-xr-x)というパーミッションの…
※Qiitaからの移行記事となります Apacheのconfにはデフォルトで次のような記述があり、通常は.htaccessなどが見えてしまうことはありませんが、設定によっては.htaccessファイルが丸見えになってしまう(FilesやFilesMatchの設定が無視される)場合がありま…
RedHat Enterprise Linux 7(RHEL7)で、yum updateしようとした際に次のようなメッセージが表示され、php5.4のアップデートに失敗する場合があります。 # yum update 読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manag…
MODx Evolutionは、CMSとしても、ライトなWebアプリケーションフレームワークとしても使い勝手が良いのですが、エレメントの管理に常に悩まされます。エレメント(テンプレート、テンプレート変数、チャンク、スニペット、プラグイン)は管理画面上から手軽…
Python 3とSeleniumとGoogle ChromeでWebページのスクリーンショットを取得する方法の1つとして、Selenium標準の save_screenshot メソッドを使う方法がありますが、この方法の場合、指定されたサイズ(ウインドウサイズ)のスクリーンショットを取得するこ…
MaxMind社が無料で提供しているGeoIPデータベース(GeoLite2)について、2019/12/30より変更が行われました。 https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/ 理由 [CCPA(カリフォルニア州 消費者プラ…
以下のコマンドを入力して、コンテナをリスタートします。 # lxc config set <コンテナ名> environment.<環境変数名> <値>
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<バケット名>", "arn:aws:s3:::<バケット名>/…
MovableTypeのData APIを利用する際に必要となるアクセストークンは以下の方法で取得することが出来ます。 パスワードは、「Webサービスパスワード」を指定します。(管理画面ログイン時のパスワードではないので注意) クライアントIDは、決まったものは無…
Guzzleでリクエスト先からエラーが返された際、そのメッセージがtruncateされてしまい、不都合な場合があります。今回は、このメッセージをtruncateされない状態で取得してみます。 PHP Fatal error: Uncaught GuzzleHttp\Exception\ServerException: Server…
以下の方法で、cURLを利用してMovableTypeへファイルをアップロードすることができます。 curl -X POST \ https://<サイトのURL>/mt/mt-data-api.cgi/v4/assets/upload \ -H "X-MT-Authorization:MTAuth accessToken=<アクセストークン>" \ -F site_id=<サイ…
環境 Ubuntu 18.04 LTS 前提条件 LXDが利用できる awscliがインストールされている aws configureが完了している IAMロール または IAMユーザーの認証情報が設定済み 実行方法 スクリプトのファイル名が、lxd_publish_image_to_s3.shの場合 # ./lxd_publish_…
はじめに OpenVPNに接続あるいは切断された際に、以下のようにSlackへ通知する仕組みを追加してみます。 手順 1. SlackのIncoming Webhooksを用意する 下記URLの手順に従い、Incoming Webhooksを用意します。あわせて、投稿先のワークスペースとチャンネルも…
はじめに OpenVPNのために、久しぶりにeasy-rsaでクライアント証明書を作成しようとしたら、次のエラーが出ました。 # ./easyrsa --ns-cert=YES build-client-full hoge.fuga nopass Easy-RSA error: EASYRSA_PKI does not exist (perhaps you need to run i…
はじめに さくらのクラウドは、アーカイブ(スナップショット)のゾーン間転送に対応していますが、現時点(2019年10月5日時点)における公式な手順としては、コントロールパネル上から行う方法しかなく、APIのみでゾーン間転送を行う方法がありません。 代…
はじめに GCP(Google Cloud Platform)には、Cloud Text-to-Speechというテキストから音声に変換するサービスがあります。 今回は、cURLを利用し、とりあえず難しいことを考えずにサクッと使ってみます。 事前準備 Cloud Text-to-Speech APIドキュメントの「…
はじめに DNSサーバとしてさくらのクラウドDNSを利用している場合、certbot-dns-sakuracloudを利用することで、DNS認証によるLet's Encryptの証明書追加および更新を自動化することができますが、更新時に以下のようなメッセージが表示され、証明書の更新に…
SnapでNode-REDをインストールする # snap install node-red Node-REDを起動する # snap start node-red 以降は、 http://<IPアドレス または FQDN>:1880/ へWebブラウザからアクセスすることでNode-REDが利用可能です。</ipアドレス>
docker-composeを実行する際など、カレントディレクトリ(作業ディレクトリ)指定したい場合があります。 このような場合は、実行するserviceファイルに対して、WorkingDirectoryを[service]に記述します。 例 [Unit] Description=hoge After=fuga.service R…
コンテナ lxc delete --force $(lxc list --format csv -c "n") イメージ lxc image delete $(lxc image list --format csv -c "l")
まず、透過圧縮を行いたいボリュームを特定します。 # lxc storage list +---------+-------------+--------+--------------------------------+---------+ | NAME | DESCRIPTION | DRIVER | SOURCE | USED BY | +---------+-------------+--------+--------…