プログラミング問題を予備知識なしで解いてみる企画 普段やってる課題とは離れて、プログラミングの学習を始めてみます。 ただし、言語の基礎知識が全くない状態で始めるのでかなり非効率だと思います。 とあるプログラミング学習サイトの問題から内容を載せます。 本当は載せちゃいけないんだけど、このサイトは検索エンジンに引っかからないので 誰もたどり着かないと信じて書いちゃいます。 バレたら消します。 問題:三角形の内角の和 平面上の三角形の内角の和は全て足すと 180 度になります。 平面上の三角形の 2 つの角の角度 a, b が改行区切りで与えられるので残りの 1 つの角の角度を出力して下さい。 例えば以下のような入力の場合 60 90 以下のように出力して下さい 30 入力例1 60 90 harada 17 2月 2019 · 2 min read
サイトリニューアルしました 表題の通りです。wordpressのデザインを変更しました。 これからもほそぼそ更新できたらいいなぁと思ってます。 せっかくなので、麺屋武蔵の全店舗を巡った記録でも入れておきます。 ※ダブルブランドの店舗だけです 麺屋武蔵 新宿総本店 武蔵グループの総本店。味は割とあっさりめ。 武蔵の基本となる店なので、万人受けする感じの味。 池袋 麺屋武蔵 二天 つけ麺の上に豚天と鶏天が載ってる。インパクトはすごい。 天ぷらはつけ汁につけて食べるとなお旨。 御徒町 麺屋武蔵 武骨 白、黒、赤の3色のラーメンが味わえる。画像は黒らーめん。 スープの黒色はイカ墨によるもので、塩味強め。 吉祥寺 麺屋武蔵 虎洞 harada 12 2月 2019 · 4 min read
ぼくは嫌だ!ボタン 不協和音でおなじみのアレです。 https://bokuhaiyada.hdserver.info/ 作り方 ・Document root /var/www/html/voice ・設置ファイル郡 # ll /var/www/html/voice total 720 -rw-r--r-- 1 apache apache 1021 Jan 1 21:58 index. harada 2 1月 2019 · 2 min read
自分だけのメディアサーバを立てる 以前、課題で自分だけの動画サイトを構築するという課題をしましたが 今回は自分専用のメディアサーバを立ててみたいと思います。 Media Server | Plex allows you to stream video smarter. すごいところ * PlexをインストールするだけでDLNAとYoutubeスタイルの両方が利用できる。 * ファイルを入れるだけで、ジャケット、作品概要、あらすじ、字幕、テーマソングを拾ってきてくれる。手打ちよりも簡単で、統一感がある動画ライブラリに。 * 動画の場合どこまで再生したかを全てのデバイスで一致させているので、シークいらず。 * 動画の画質を調整できるので回線速度の変化があってもストリーミング出来る。 * 開発スピードの早さ。ChromeCastやAmazon Fire TVなどの最新デバイスにも対応。 * フリー版でも機能が充実している( harada 10 10月 2018 · 5 min read
OpenFortiGateを使ってFortinet VPNに繋いでみる Fortinet VPNとは いわずと知れたUTM、FortiGate上で利用できるSSL-VPNですね。 FotiGateはUTM世界シェアNo.1とだけあって、Fortinet VPNを利用しているところも多いと思います。 通常はクライアントソフトであるFortiClientを用いてVPN接続を行うのですが インストール時に余計なソフトがついてきたり LinuxのCLIで使えるものはライセンスが必要であったりと、使い勝手がよくありません。 OpenFortiGateを使う そこでgithubに公開されている、OSSのFortiClientツールOpenfortiGateを利用します。 https://github.com/adrienverge/openfortivpn openfotigate は Fotigate の ssl–vpn との互換性が高く コレを使えばコマンドから接続できるので、代替クライアントとして重宝します。 ぱぱっとインストール harada 22 3月 2018 · 2 min read
いまさらmackerelをインストールしてみる 新しいテクノロジーも学ぼうね、ということでmackerelの導入とプラグインの設定メモ。 Mackerelが選ばれる理由 取り敢えず魅力的な部分は上のリンクに全部書いてありますが、ざっくりまとめると * 監視サーバを立てる必要がない * インストール、設定が簡単 * 基本的なホストの監視はエージェントをインストールしただけで取得できる入れただけで取れる * プラグインが豊富 * Nagios、Munin、Zabbixのプラグインがそのまま使える * ミドルウェアのメトリクスを取得できる * UIがこなれていてグラフの見た目が良い 残念ながらOSSではないので有料です。 ただ、freeアカウントは制約があるものの、頑張れば無料でも使い続けられます。 監視エージェントをインストール 環境はCentOS7でやってます。多分CentOS6と変わらないです。 この辺は公式リファレンスに沿ってます。 ・yumでインストール まずMackerelのyumリポジトリを登録します curl -fsSL https://macker harada 8 2月 2018 · 5 min read
UserAgentを判定して、UA毎にページをリダイレクトさせてみる 概要 ブラウザから特定のuriへアクセスを行うと、UserAgent(WEBサイトにアクセスしてくる利用者の情報) を判定して、それぞれのhtmlにリダイレクトが行われるというものです。 ↓Chromeでアクセスすると… ↓Firefoxでアクセスすると… 仕組みとしては単純ですが、UA毎の判定に使おうと思ってます。 しくみ 今回はCentOS6.7、Apache2.2を使用しました。 1.DocumentRootに移動 # cd /var/www/html/ 2.判定用ディレクトリの作成 # mkdir checking # cd checking 3. .htaccessを作成してUA毎のRewriteルールを作成 # vi harada 15 1月 2018 · 2 min read
Amazon SESを使っていたら、AWSのIPがBlacklistに登録されてて困った話 SESはAWSのサービス(EC2とか)から直接外部へ大量にメールの送受信を行うときとかに使用されます。 大規模なメールシステムをイチから構築せずに済むというのが大きなウリですね。 個人的な使い方として、独自ドメインを使ったメールアドレスが作成できるので 例えば会員登録が必要なサイトとかで、ちょっと面倒でササッと使いたい時は わざと捨て垢作ってワンタイムで登録したりとか。 本格的にメールサーバとして使っているわけじゃないけど 時たまメールアドレス登録したいときに重宝するし、不要になれば放置でよいし。 っていうこの辺りの理由が主で利用させてもらってます。 が、しかし… ある日、検証機にEC-CUBEを触りたいと思い、公式サイトから会員登録してダウンロード (EC-CUBEは会員登録しないとファイルダウンロードできない)するため 例の如く捨て垢で登録をしたんですね。 で、仮登録が済んで、受信したメールから本会員登録っていうよくある流れを 想定してたんですが、本会員登録のメールが届かない…。 バーロー、オメーは障害切り分けもできね harada 2 1月 2018 · 4 min read
Route53を使ったDynamicDNSサービスの運用 Route53はAWSのサービスですので、APIが存在します。またawsコマンドで操作も出来ます。 固定IPをもっていない自宅サーバでもDNSで検索できるようなDynamic DNSサービスも簡単に作れます。 ということで、コマンドラインでの設定方法を説明します。 前提条件 ・自宅サーバに立てた仮想サーバ上で動かす。OSはRHEL7.4(CentOSでもだいじょうぶ) ・ドメインは既にRoute53に登録してあること ・IAMユーザのアクセスキーを作成して、Route53を操作できるIAMロールを割り当てておきます。 AWS CLIをインストールする 公式のリファレンスを参考してインストールします。 1.pip のウェブサイトからインストールスクリプトをダウンロードし実行します。 curl "https://bootstrap.pypa.io/get-pip.py" harada 24 11月 2017 · 2 min read
awsコマンドでCloudFrontのキャッシュを一旦消す StaticPressで静的化&S3ホスティングしたWordpressですが CloudFrontでCDNキャッシュしているので、更新毎にキャッシュクリアする必要があります。 やり方はとっても簡単。 管理画面からCloudFront -> Invalidationsタブを選択し、「Create Invalidation」のボタンを押す。 そこで「/*」と指定してInvalidateするだけ。 これでまとめて全キャッシュを削除できます。 めんどくさい… そう、いちいち画面からポチポチするの面倒なんです。。 じゃあAWS CLI使ってコンソールからのほうが遥かに楽やん。 てことでそのやり方について。 AWS CLIをインストール CentOSでのインストール方法になります。 # yum install python-setuptools -y # easy_install harada 19 10月 2017 · 1 min read
CloudFrontでS3のウェブサイトをSSL化する 前回Wordpressを静的コンテンツに変換してS3でホスティングしましたが 独自ドメイン運用しているサイトにhttpsでアクセスしたい!と思って調べたところ CloudFrontを使用すればできることが判明。 というわけで導入日記でござんす。 S3のウェブサイトをCloudFrontに登録 1. CloudFrontのメニューから「Create Distribution」のボタンをクリック 2. 配信方法で「Web」を選択 1. 「Origin Settings」でSSL化したいS3バケットを選択「Origin Domain Name」でSSL化したいS3バケットを選択すると、「Origin ID」が自動で設定されます(www.example.comの部分は実際に使用するドメイン名) 1. harada 10 10月 2017 · 3 min read
Wordpressを静的webサイトに変換してS3でホストする 自己啓発の発表用として建てたこのWordpressが、もうすぐ1年経つそうです。 しかし当初は自宅サーバで動かしていたものが、安定性を求めVPSに移行してしまい その分の料金が毎月かかってしまうという負担になっていました。 なので今あるコンテンツを全て静的ファイルに変換して S3上でホスティングできる様にいじってしまおうというのが今回の目的です。 1.概要 ・EC2上にWordpressを構築。記事の更新は基本こちらで行う ・WordPressは記事を更新するだけなので、サーバスペックは最低限でOK ・「StaticPress」というプラグインを使うと、Wordpressを静的コンテンツに変換してくれます 更に「StaticPress S3」を使うと、変換した静的コンテンツをS3上にアップロードしてくれます ・S3はホスティング機能を有効にして、Route53でドメインをS3に向ければWEBに公開できちゃう てな具合でかんたーんなんです。 いいところ ・サーバーのメンテナンスが不要。脆弱性の心配とかいらない ・抜 harada 7 10月 2017 · 6 min read
自宅のルーターを監視して、ダイナミックIPの変更をチェックする。 課題としては短めの小ネタ記事になります。 概要 外部から自宅に保管してあるデータを参照したい時のため 自宅サーバはSSHだけ外部に開けています。 自宅のサーバは、プロバイダから付与されるグローバルIPが1個つきます。 当然固定IPではないので、一定期間が過ぎたり ルーターが再起動されてしまうと、IPが変わってしまいます。 通常グローバルIPが変わる頻度はそう多くないので 自宅サーバからDDNSのサーバに対して1日1回IP通知をしてやれば十分です。 ところが、何かしらの原因で不意にルーターが再起動されてしまった場合 再起動後にグローバルIPが別のものに変わってしまいます。 不意の再起動が走った場合、DDNSサーバへの通知は1日1回きりなので 次回の通知まで自宅サーバへはアクセス不可の状態となります。 再起動されたタイミングにもよりますが、 最大で24時間自宅サーバへのアクセス不可が続いてしまうので不便でした。。 そこで考えた仕組み ①自宅にNagiosで監視サーバを立てて、ルータの死活監視を harada 23 8月 2017 · 4 min read
Digest認証を設定してみた(apache,nginx) BASIC認証のおさらい 例えば公開前のホームページを見られたくない場合や 見られてもそこまで困らないけどできれば見せたくないページ、 手間はかけたくないけど気休めでもセキュリティを上げたい場合とかありますよね? そんなときによく使われるのがベーシック認証。 ↓たまにこんな感じの認証を見かけますよね? ここでチョチョイのチョイとアイパスを入れると中に入れる簡単なしくみですね~。 しかし… Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding:gzip, deflate Accept-Language: harada 10 8月 2017 · 14 min read
【小ネタ】yum updateしたら「Cannot allocate memory」が出た時の対処法 久々に検証機でyum updateしたときの話。 # yum update Loaded plugins: priorities, update-motd, upgrade-helper amzn-main | 2.1 kB 00:00:00 amzn-updates | 2.3 kB 00:00:00 (1/2): amzn-updates/latest/updateinfo | 397 kB harada 27 7月 2017 · 5 min read
LINE MessagingAPIとAWS Lambdaで雑談BOTを作ってみた 巷ではロボットとお話ができるチャットボットが流行っているそうで。 最近は受け答えの質も上がっているもので、技術は一歩ずつ進歩しているんだなぁと感じました。 ※そもそもチャットボットってなんやねん?って方はこちら。 有名なところだと、マイクロソフトのりんなや docomoのiコンシェル、iOSに搭載されているSiriもそうですかね。 ChatBotを自作してみる という事で流行りに乗って、チャットボットを作ってみます。 今回はLINE Messaging APIとAWSのLambdaを連携させた、Line botを作ります。 構成図 構成はこのようになっています。 Docomo 雑談対話APIを Lambda から呼び出し、得られたレスポンスを DynamoDB に保存、かつ MessagingAPI へのリクエストに使用します。 雑談対話APIのリファレンスは以下です。 harada 19 7月 2017 · 6 min read
音楽を再生出来るOSS 「koel」をインストールしてみた Laravel製のOSSミュージック ストリーミング サーバー「koel」 音楽を再生出来るOSS ( オープンソース ) パッケージで PHPのLaravelフレームワーク ( 5.1 LTS ) で作られています。 ちょっとおもしろそうなのでインストールしてみました。 構築環境 OS CentOS 6.9 IPアドレス 10.0.0.6 PHP 5.3 ⇒ 5.6 MySQL 5. harada 22 6月 2017 · 5 min read