もなかアイスの試食品

「とりあえずやってみたい」そんな気持ちが先走りすぎて挫折が多い私のメモ書きみたいなものです.

PythonでAWS EC2を起動・停止する

はじめに ブラウザを開いてAWSコンソール画面にログインして、EC2を起動・停止するのが面倒くさい。 なので、プログラム(Python)で起動するようにしてみた。 環境 Python 3.6 boto3 ソースコード boto3のドキュメントを参考にしつつ作成 boto3.amazonaws.c…

CentOS7で開発環境用のDNSサーバを構築した話

はじめに とあるサービスを作っている最中に負荷について調べていたところ、将来的にDBの負荷分散が必要になる可能性があった。 サービスはAWS上に構築するため、DBの負荷分散にはリードレプリカを利用し、DBのアクセスを振り分ける感じになる。 DBの負荷分…

【WPF】MVVMで「処理中」「待機中」みたいなオーバレイを表示する

C#

はじめに C#・WPFで作った業務アプリで「通信中」と画面全体にオーバレイ表示する機能を作った。 当時はC#(というか.Net Framework)で、MVVMパターンのコーディングが全然わかってなかった WPFを使っていながら、Windows Formsなコーディングをしてました…

Kotlin + Koinでテストコードを書いてみた

はじめに ユニットテストの自動化はやった方が良いぞと分かっていても、Androidのコーディングに全然慣れていなかったので手がつかなかった。 プログラミング言語のメージャーバージョンの更新(JavaやらSwift)、ライブラリの更新などで、自分の将来の手間…

負荷テストで使うJmeterのパラメータを決めやすくする

はじめに とあるサービスをクラウド上に公開することになった。 負荷テストをやって、ボトルネックの特定、現状対応できる利用者の数、将来の利用者数に合わせたスケールアップのタイミングを調べるため、Jmeterで負荷テストをすることにした。 色んなサイト…

Python+Scrapyでスクレイピングした結果をDB(PostgreSQL)に保存する

はじめに 前に、Scrapyでクローニング・スクレイピングするスクリプトを作成した。 このときは、とあるディレクトリにスクレイピングした結果をjsonにして出力した。 ↓そのときの話 monakaice88.hatenablog.com そして、出力したjsonを別のスクリプトでDBに…

SpringBootで時間が9時間ズレるのを、何とかした話

はじめに フォームに時刻を入力させる画面があった。 そのデータはタイムゾーン付きでDBに保存していた。 DBからデータを取得してhtmlテンプレートに入れると、時間が9時間ズレていた。 意外とハマったので、その時のお話 ダメだったパターン Linuxのタイム…

Python3.6+Scrapyでスクレイピングしてみた

はじめに 機械学習について勉強するため、機械学習を使った何かを作ろうと思っている今日このごろ いくつかサンプルが載っているような本を買っても、サンプルを動かすのはモチベーションが上がらない やはりモチベーションが上がるものは、自分がやりたいを…

SpringBootでURLにjsessionidが入らないようにする

はじめに SpringBootアプリをテスト環境や本番環境にデプロイし、初回アクセスしたときに、例外が発生することがあった。 そのとき、URLが【http://localhost:8080/sample;jsessionid=xxxx】になっていた。 jsessionidを消してブラウザを更新すると、その後…

Tomcatのメモリ割り当てを自動で計算する

はじめに AWSでTomcatサーバを作ったとき、インスタンスタイプに合わせて、毎回別のチューニングするのは面倒臭い。 なので、Tomcatに割り当てるメモリサイズを自動計算するスクリプトを作った 参考サイト groupsession.jp yasuhiroa24.hateblo.jp secureass…

ora2pgでOracleのテーブルをPostgreSQL9.6に移行した話

はじめに とあるサービスを作ることになった。 あるパッケージに連帯するサービスで、パッケージではOracleDBを使用していた。 サービスの機能で、OracleDBの一部のテーブルのデータを取り出したかった。 しかし、サービス用のWebアプリをSpringBootで構築し…

Vagrantを使ったPostgreSQL9.6非同期レプリケーションの環境構築

はじめに とあるリリース前のサービスの負荷試験をやったときに、将来的にDBを複数台使用するとして、Webアプリケーションをどのように変更したら良いか分からなかった。 WebアプリケーションはSpringBootを使用しており、アプリケーションの機能追加で、DB…

SpringBootで接続先のデータベースを動的に切り替える

はじめに とあるサービスを作成することになり、想定する利用人数をもとに、負荷分散について調べていた。 現状大丈夫そうだなと思っていても、今後利用人数が増えることを考えると、DBの負荷分散はどうしたら良いのか分からなかった。 負荷分散について考え…

Vagrantでロードバランサ+WEBサーバ×2+DBを構築

はじめに Webアプリやら常駐サービスを開発するときに、いつも新しく仮想サーバを作成するのだけれども、容量がでかいし、構築に時間がかかる。 「いつか使うかも」って思って、全然消さなかったりする 一緒に開発するからといって、仮想サーバを渡しても、I…

nginxでセッション維持するロードバランサを構築

はじめに よくあるWEBサーバ+DBサーバを使用した、とあるサービスを作る事になった そのサービスをリリース後は結構な利用人数になりそうだった なので、負荷分散ができる環境に前もって準備をしておこうと思った ただし管理画面があるので、とあるURL以下…

CentOS6にTomcat8.5をインストール&自動起動設定

はじめに とあるプロジェクトで、Java(Spring Boot)でWEBアプリケーションを作ることにした 開発中はWindows内の統合開発環境の組み込みサーバで、アプリの動作確認できる しかし本運用は多分CentOSで、今までApache+PHPの環境構築しかやったことがなかっ…

【VB.NET】Windowsのタスクバーを非表示にした

はじめに とあるアプリの仕様上、Windowsのタスクバーを非表示にしたくなった。 調べてみると、意外とコーディング方法がなく(XP時代のコードがでてきた)、また参考にしたコードもちょっと問題があった。 一応やりたいことが出来たのでメモ書き 環境 VB.NE…

Raspberry PiでRAID1付きのNASを構築してみた

はじめに 最近、音楽系の趣味(?)が増えたので、CDレンタルするようになった タイミングよくTUTAYAで旧作10枚で1080円というキャンペーンをやっているので、一年も経たないうちに結構増えてしまった なのでPCが壊れて音源が無くなるのは非常に困るのでNAS…

CentOS6に最新のGitをインストールした話

CentOS6.8のデフォルトのgitを使用していたときに、「バージョンが古いので実行できない」的なことを言われた(何をしていたか忘れた・・・) なので、最新のgitをコンパイル&インストールした 以下のサイトを参考にした。(ほぼ参考サイトと同じ内容) Git…

【C#】NpgsqlでPostgreSQLのNotifyを受信する

以前、PythonでNotifyを受信する方法を書いた monakaice88.hatenablog.com C#のほうが個人的に利用することが多いのでC#版を書いてみた 環境 .NET Framework 4.5 追加NuGetパッケージ Microsoft.Extensions.Logging(1.1.0) Microsoft.Extensions.Logging.Abs…

CentOSでApacheとPHPをコンパイル&インストールしてみた

パッケージ管理ツールでPHPをインストールすると、CentOS6.8の場合、デフォルトのApache2.2がインストールされる あとApache2.4を使う場合、パッケージ管理ツールでインストールするPHPはfast-cgiで使わないといけない(らしい) ある環境と完全に合わせたか…

【C#】「tail -f」コマンドっぽいものを作ってみた

C#

はじめに LinuxでWEBアプリを作っていると、Apacheのログ監視、DBのログ監視とかで「tail -f」コマンドをよく使う 最近はWindows+Apache+PHPでアプリを開発しているけど、tailコマンドを使いたくなることが結構ある Windowsでtailコマンドっぽいことをやろ…

【Javascript】select要素の開いた/閉じたイベントを実装した話

はじめに 前回の記事の続き monakaice88.hatenablog.com 前回の話は、セレクトボックスを選択した時(値が決まった時)にモーダルを表示するという機能を作成したけれども、 onchangeイベントを使っていたため、同じ値を選択したときにモーダルが表示されな…

【Javascript】ある要素のすべてのイベントの発生タイミングを調べる

経緯 セレクトボックスを選択した時(値が決まった時)にモーダルを表示するという機能を作成した この時、セレクトボックスのonchangeイベントに関数を登録し、内部で値をチェック後、モーダルを表示する動きをしていた この時の問題点は、同じ値を選択した…

【Python】運行情報をSlack API を使って通知するデーモンを作ってみた

前にPythonでYahoo路線情報から運行情報をスクレイピングで取得するアプリを作った monakaice88.hatenablog.com あとPythonスクリプトをデーモン化させる方法もわかった monakaice88.hatenablog.com なので今回は運行情報が変わったときに、Slack APIで通知…

AngularJSで半角数値しか入力出来ないディレクティブを作ってみた

WEBアプリのバリデーション処理はめんどくさい とある業務系のアプリを作成していて、 数値を入力してもらう箇所に普通の文字列を入れられ挙動がおかしくなることがあった それぐらいバリデーション入れろよ・・・とツッコミが聞こえそうだけど、仕様が変わ…

Pythonスクリプトをデーモン化するのにsupervisorを利用した話

簡単なスクリプトをデーモン化出来ないかと調べたところ supervisorを使うことでスクリプトをデーモン化させることが出来そう ↓参考にしたサイト Supervisorで簡単にデーモン化 - Qiita SupervisorでPythonのスクリプトをデーモンプロセスとして動かす - Sym…

PythonでSlackにサーバの状態を送信してみた

はじめに すごく個人的な問題点 アプリの登録・OAuthの認証 Step1(認証) Step2(アクセストークンの取得) Pythonでサーバの状態を通知する はじめに はてなブログのTOPページを見ていたらたまたま見つけたブログ blog.8arrow.org このサイトを見るまでSla…

【Python】スクレイピングで電車の運行情報を取得してみた

はじめに 最近、Slackというチャットサービスを個人的に利用していて Slack APIを使って電車の運行情報をチャットで流せないかなーて考え中 電車の運行情報のAPIを公開されているけどお金がかかる・・・ プライベートで公開されている方もいるけど、こだわり…

CentOS6.8にMapServerのビルド&インストールしてみた

CentOS 6.8(最小インストール)、Apache 2.2、PHP 5.6、PostgreSQL 9.6、PostGIS 2.3の環境で、MapServer 6.4.4をビルドとインストールをやった。