お久しぶりです。何百年ぶりでしょうか・・・w
直近の更新がサイトリニューアルでしたが、今回の記事もサイトリニューアルですw
変わったことといえば、今年で30歳を迎えたことでしょうか。。
このblogを始めたのが2016年なので7年くらい経ってる んですね 。早いものです。
Ghost: Independent technology for modern publishingBeautiful, modern publishing with newsletters and premium subscriptions built-in. Used by Sky, 404Media, Lever News, Tangle, The Browser, and thousands more.Ghost - The Professional Publishing Platform
今までwordpressを使ってましたが、シンプルな方が管理しやすいことに気づきまして
シンプルなcmsであるghostへ移行しました。
インフラ構成は今までと変わらずCloudfront + S3なので完全な静的
Seleniumとは
Webアプリケーション用テストツール。
ブラウザの操作をシミュレート(自動化)して、Webアプリケーションの画面周りの再帰試験(リグレッションテス> ト)を実施することができる。
Selenium2.0以降より、WebDriverというAPI、実装を使った実装に変わった。
WebDriver API を使うようになったので、テストのスクリプトコードも大きく変更された。
例えば、ブラウザからGoogleを開いて「Twitter」と検索。
検索結果からTwitterのサイトを開いてログインする…といったWEBの遷移を自動化できます。
Badboyよりメジャーかつ広く使われているツールですね。
検証内容
Badboyの代わりに監視に組み込めたら色々できるかもという発想の元、以下の流れで進めました。
1. 検証機にSeleniumをインストールする
2. Seleniumスクリプトの記録ツールを使って、コードを作成
3. 検証機で正常に動作するか確認
4. 監視サーバ(Nagios)からnrpe経由でSeleniumが動作
前回の投稿からおよそ1年空いてしまいましたが…。
自己学習回りをサボりまくっていたので久々に課題あげます。
仮想化ホストを冗長化してみようというテスト。
まずはHyper-Vのレプリケーション機能を使って最低限の冗長性を。
最低限なのでADとか使いません。
テスト環境
Windows Server 2016 + Hyper-Vを導入したサーバーを2台用意。
最低限のネットワークとしてHyperVで使用するホスト用と、サーバー間データ転送に使うストレージ用の2つのネットワークを作成。
今回の検証に当たりAWS Lightsail を利用しました。
Hyper-V1
Hyper-V2
ホスト名
harada
satou
FQDN
harada.hyperv.local
satou.hyperv.local
eth0
192.168.30.1
192.168.30.2
eth1
172.25.30.1
172.25.30.2
Hyper-Vのセットアップ
・サーバーマネージャー -> 役割と機能の追加 -> 役割ベ
h独自ドメインを取得し、Conohaのネームサーバを利用してWEBサーバの公開までしました。
折角ドメインを取得したので、メールサーバを構築して見ようと思ったのですが
DNSの知識が皆無だったので、その設定方法について自分の回顧録としてまとめました。
h
もはや存在自体忘れてました。haradaです。
最後の投稿が2020年なので約2年ぶりの更新です。
仕事が忙しく更新が止まってしまってますが、なんとか生きております。
新しく投稿する課題がないので、とりあえずサイトリニューアルしておきます。
困ったらリニューアルしとけばいいんです。
次 の更新はいつになるかなぁ、、
こんぬつわ。だいぶ久しぶりの更新となります。
ELBの前段にCloudFrontを設置した環境では、CloudFrontとオリジンのELB間の通信はインターネット経由で行われます。
ELBのIPやDNS名を知った利用者による、CloudFrontを経由しないELBへの直接アクセスが望ましくない場合には、 CloudFrontのカスタムヘッダを利用したアクセス制限が可能です。
環境
* CloudFrontはカスタムオリジンとしてAWS東京リージョンのELBを指定
* ELBはALB(アプリケーションロードバランサ)を利用
* ALB配下のEC2、OSはAmazonLinux、Webサーバとして、httpd(Apache)をデフォルト状態で利用
* ALBの前段にAWS WAFを設置し、特定のCloudFrontを経由しないアクセスを禁止
やってみた
▼EC2つくる
今回はEC2のインスタンスタイプをt4g.nanoにしました。
最近リリースされたばっかなのでちょっと使いたかったのです。
検証で使うだけなのでスペックは最低限でOK
1. 今、夜勤の間で密かなブームとなっているMinecraft
一部界隈では「既にオワコン」と噂が流れている様ですが、私自体既にオワコンなので気にしません。
とりあえずMinecraftについての説明はここでは省きます。
サーバを建てて皆でプレイできたらいいね、という趣旨の元、覚書として残しておきます。
サーバーについて
そもそもどうやってサーバを立てるの?
サーバーを立てるといっても立て方はたくさんあります。
実際にどんなものがあるかあげてみます。
* PCとサーバーソフトを使ったサーバー(pmmpやNukkit、Jupiter、MiNETなど)を使ったもの
* Androidのアプリ(BlueLight Appなど)を使ったもの
* 代行
* MiRm
* InstantMCPE
* LEET
うーん、さっぱりよくわからんけど
職業柄、自分でイチから構築できたほうがいいと思うので、1番目の方法をとることに
サーバーを立てるのに必要なもの
* Windows、Linux、MacOSなどを搭載したPC
* サーバーソフト(PWordPressを静的webサイトに変換してS3でホストする
ちょっと前にアップしたWordpressをS3で運用する方法。
このまえ記事更新したらStaticpressがうまく動いてくれなかったのでその覚書。
事象
Staticpressから再構築をかけたところ、jsやcss、imgファイルなどはS3に転送されたものの
htmlなどの記事ファイルが転送されなくなった。
原因
Staticpressはjsやcssなどのファイルは別フォルダにコピーしてS3にアップされるものの
htmlなどの静的ファイルはPHPでクローリングしてからS3にアップされる仕様らしい。
Harada’s DiaryはApacheのバーチャルホスト上で稼働させているので
LAN内から処理を実行すると、名前解決した時にGIP経由でループバックしてしまい
うまくクローリングができず、htmlが生成されなかった模様。
※EC2やVPS等、WANアクセスするものについては発生しない。
解決方法
サーバのhostsにドメインを記載しておけば、ループバックしてもアクセスでCrayon Syntax Highlighterとは
↓こういう風に記事上のコードをきれいに出力してくれるプラグイン
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>sample</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="page">
<header>
<div id="header_inner">
<div id="header_logo">
<img src="https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/6432837/picture_pc_9a06a019fe451a6c54a064d465d927c5.jpg">
</div>
<div id="header_contact">
<a href="#" id="he問題:Leet文字列
Leet と呼ばれるインターネットスラングがあります。
Leet ではいくつかのアルファベットをよく似た形の他の文字に置き換えて表記します。
Leet の置き換え規則はたくさんありますが、ここでは次の置き換え規則のみを考えましょう。
置き換え前
置き換え後
A
4
E
3
G
6
I
1
O
0
S
5
Z
2
文字列が入力されるので、これを Leet に変換して出力するプログラムを書いてください。
入力例1
PAIZA
出力例1
P4124
入力例2
ALANTURING
出力例2
4L4NTUR1N6
提出コード
* 難易度:ランクC
* 受験言語: Ruby
* 回答時間: 24分15秒
* バイト数: 168 Byte
* スコア: 95点
input_lines = gets
puts input_lines.gsub(/A|E|G|I|O|S|Z/,"A" => "4","E" => "3","G" => "6","問題:絶対値を求めよ
-100から100までの整数 n が与えられるので、絶対値を出力して下さい。
例えば
-10
と入力された場合
10
と出力して下さい。
提出コード
* 難易度: ランクD
* 受験言語: Ruby
* 回答時間: 5分24秒
* バイト数: 74 Byte
* スコア: 100点
input_lines = gets
p input_lines.to_i.abs
to_iメソッドで標準入力を文字列から数値に変換
absメソッドで絶対値を抽出。それをputで標準出力させる。
普段や ってる課題とは離れて、プログラミングの学習を始めてみます。
ただし、言語の基礎知識が全くない状態で始めるのでかなり非効率だと思います。
とあるプログラミング学習サイトの問題から内容を載せます。
本当は載せちゃいけないんだけど、このサイトは検索エンジンに引っかからないので
誰もたどり着かないと信じて書いちゃいます。
バレたら消します。
問題:三角形の内角の和
平面上の三角形の内角の和は全て足すと 180 度になります。
平面上の三角形の 2 つの角の角度 a, b が改行区切りで与えられるので残りの 1 つの角の角度を出力して下さい。
例えば以下のような入力の場合
60
90
以下のように出力して下さい
30
入力例1
60
90
出力例1
30
入力例2
45
45
出力例2
90
提出コード
* 難易度:ランクD
* 受験言語: Ruby
* 回答時間: 26分4秒
* バイト数: 162 Byte
* スコア: 93点
# 最初に空の配列