speg03の雑記帳

主に未来の自分のために試したことなどを記録しています

PythonでDNSの正引きと逆引き

諸般の事情からスクリプトでホスト名とIPアドレスの対応を取りたいことがありますのでメモしておきます。 socket socket --- 低水準ネットワークインターフェイス — Python 3.8.3 ドキュメント 標準ライブラリで実現できるシンプルな方法です。 import socke…

xonshことはじめ

最近、xonshを使い始めました。 xonshrc xonshの設定ファイルは~/.config/xonsh/rc.xshや~/.xonshrcが読み込まれるようですが、私は設定ファイルを何でも~/.configに集めたいので前者のファイルを作っています。 $COMPLETIONS_CONFIRM = True $HISTCONTROL =…

Visual Studio CodeでPython仮想環境

かれこれ10年以上ぐらい使っていたEmacsからVisual Studio Code(以下、VS Code)に改宗する可能性を感じて、ひとまず最近よく書いているPython環境をVS Codeで整えようという話です。 Pythonはプロジェクトごとの仮想環境の扱いがうまくいけばとりあえず何…

pytestでコンソールアプリケーションのテストを書く

テスト対象のアプリケーション コンソールアプリケーションの題材として、ここでは以下のようなアプリケーションを考えます。 プレースホルダーが1つ含まれたフォーマット文字列を標準入力から受け取る コマンドライン引数としてnameを受け取る フォーマット…

Amazon Linuxの最新AMIを取得する

概要 Amazon Linuxの最新AMIを取得する方法について説明します。AMIのIDはリージョンごとに異なるため、利用しているリージョンで有効なAMIが取得できる方法を考えます。 事前準備 Python 3.6.4 boto3 1.5.35 次のようなコードでEC2のAPIにアクセスできる状…

botocoreを使ったAWS設定情報の取得

概要 AWSのcredentialsファイルやconfigファイルの設定情報をbotocoreを使って取得する方法を説明します。また、それらの設定ファイルには独自の項目を追加できます。 AWS設定情報の取得 AWSのcredentials, configが次のような内容だったとします。 [default…

boto3を使った一時的なAWS認証情報の取得

概要 IAMロールの切り替えを利用している場合の一時的なAWS認証情報の取得方法について説明します。boto3を使うと、AWS CLIのプロファイル設定をもとに認証情報を簡単に取得することができます。 IAMロールの切り替え AWS CLIでIAMロールの切り替えを行う場…

EC2-Classic環境でデフォルトVPCを作成する

aws

概要 Amazon EC2で利用できるプラットフォームには、EC2-VPCとEC2-Classicの2種類があります。EC2-Classicが利用できる環境ではデフォルトVPCが存在しません。そのような環境でデフォルトVPCを作成するには、AWSサポートへの依頼が必要になります。 ただし、…

VyOSで構築するVirtualBoxのプライベートネットワーク

概要 ローカルでの検証環境としてVirtualBoxの環境は手軽に構築できて便利です。VirtualBoxを使った環境で、ホストとゲスト間の通信や、複数のゲスト同士の通信を簡単に行うネットワーク構成を考えます。3パターンの構成について紹介し、そのうちの1つ、NAT…

CentOSにWordPressをインストールする(Docker版)

概要 CentOS上でDockerを使ってWordPressを動かす手順について紹介します。Dockerを使うことで簡単にWordPress環境を構築することができます。 環境 CentOS 7.1.1503 Docker 1.6.0 Docker Compose 1.2.0 WordPress 4.2.2 Dockerのインストール DockerとDocke…

HTTPプロキシ環境におけるdocker build

(追記 2016/06/25) Docker 1.9よりdocker build時に環境変数を渡せるようになっていました。 そのため、この記事に書いていたような面倒なことは必要なくなりました。 以下のようにHTTP_PROXY環境変数を渡しながらビルドすることができます。 $ docker bui…

パスワードに使えるランダム文字列を生成するコマンド

Mac OS、Ubuntuならpwgen、CentOSならmkpasswdが使える。 pwgen インストール Mac OS $ brew install pwgen Ubuntu $ sudo apt-get install pwgen 使い方 そのまま実行すると8桁英数字で大量に生成される。 $ pwgen gueV9aeg eeC3Chah jooSood0 aupooH1a Li9…

Vagrant meetupに行って来ました

概要 Vagrant meetup 〜作者 Hashimoto氏の来日講演〜 2013年7月12日(金)に株式会社VOYAGE GROUP様の会場にて、Vagrantの開発者であるMitchell Hashimotoさんの講演を聞いて来ました。 「Vagrantについてのお話」として話された内容のメモと、そのあと所感な…

CentOSにWordPressをインストールする

(追記)CentOSにWordPressをインストールする(Docker版) を公開しました。 環境 CentOS 6.3 x86_64 WordPress 3.5 日本語版 インストール 必要なパッケージのインストール # yum install httpd mysql-server php php-mysql php-mbstring DBの準備 # chkco…

Jenkinsでプロキシ認証を越えてyum update

プロキシ認証を含んだ処理のジョブ設定を行う話。共有サーバなどを利用しており認証情報が他人から見えないようにしたい場合に有効。 プロキシ認証情報の入力 Jenkinsジョブ設定のビルドパラメータで以下を設定する。 PROXY_USER ユーザID PROXY_PASS パスワ…

Chefのプロキシ設定

Chef 10.16.2時点の話。 Chefのプロキシ設定は複数箇所あってそれぞれ利用される場面が異なる。知っている範囲で以下の3種類。 package remote_file knife cookbook upload package packageリソースで実際に実行されるパッケージマネージャ(yumとか)が使う…

smali/baksmaliでAndroidのコードを編集してみる

Xperia mini proのCyanogenMod 9.1でセルスタンバイ問題について調べたときにやったことをメモしとく。 CyanogenMod http://download.cyanogenmod.org/?type=stable&device=mango cm-9.1.0-mango.zipを使った。 smali/baksmali http://code.google.com/p/sma…

Fedora17インストールメモ

OSインストール Fedora Project Fedora-17-x86_64-Live-Desktop.isoを使ってThinkPad X200sにインストールした。 sudo yum update cat /etc/redhat-release # Fedora release 17 (Beefy Miracle) uname -a # Linux altair 3.4.4-3.fc17.x86_64 #1 SMP Tue Ju…

Macで開発版GNU Screenをビルドする

事前準備 m4, autoconf, automakeあたりが必要っぽい。m4は入っていたから他をbrewでインストールした。 $ brew install autoconf $ brew install automakeバージョン確認しとく。 $ autoconf --version autoconf (GNU Autoconf) 2.69 Copyright (C) 2012 Fr…

MacのZshはシェル起動時にPATHをリセットする

zprofileに書いていたPATH設定だけが有効になっていなかったので調べたという話。zprofileに書いていたPATH以外の環境変数は有効になっていたのでzprofileが呼ばれていないわけではなかった。 path_helper Macにはpath_helperというやつがあって、PATH環境変…

IBusのアイコンが出なくなってた

なんかのタイミングでIBusのアイコンが出なくなってたので困っていた。IBusのトラブルよくある気がする。Japanese packages for testersのパッケージで更新したら直った。 環境 Ubuntu 12.04 LTS Japanese packages for testers ibus、mozc関連のパッケージ…

UbuntuでKVMの作業メモ

環境 ThinkPad X200s Ubuntu 11.04 参考 KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド やったこと # kvmインストール $ sudo apt-get install kvm $ sudo apt-get install virt-manager # Ubuntu再起動が必要らしい(必要だったか確認してない) # /dev/k…

TextViewのテキストサイズ指定

TextViewなどのテキストサイズをJavaのコードから動的に変更しようとして、はまりそうだったのでメモ。ちなみに今回の実行環境はAndroid 2.2 (API Level 8)を使った。この環境だとデフォルトで以下のようなAndroidManifest.xmlの設定が有効になっていること…

Gmailの受信通知インテントを受け取ってみた

Android端末でGmailのメール受信通知を受け取ってアレコレしたかったので調べたよ。 メール受信時のインテント 端末をPCにつないでLogCatで眺めるだけ。以下のようなインテントを見つけられる。 06-12 20:51:00.550: INFO/Gmail(10262): Sending notificatio…

UnityでEclipseのメニューが表示されない

Unityのグローバルメニューが有効になっているとEclipseのメニューがほとんど表示されなかった。Fileしか表示されないと言っている人やバグレポートが上がっていたようだけど、私の環境ではWindowしか表示されなかった。そこで以下のようなスクリプトを使っ…

Chromiumのフォント設定

Chromiumでフォント設定が有効になっていなかったようなので。通常の設定画面からは変更が反映されないらしい。どうするかというと適当なWebページの入力フォームを右クリックした先の言語設定から設定する。なんともバッドノウハウ的な感じですけれども。 …

ホームの日本語ディレクトリを英語にする

日本語環境だとホームディレクトリにドキュメントやらダウンロードやら日本語名のフォルダが並んでいるのでこれを英語名に変えたいとき。 $ LANG=C xdg-user-dirs-gtk-updateこのままだと次回ログイン時に元に戻すか聞かれてしまうので聞かれないようにする…

Ubuntu 11.04でXmodmapしてるとテーマが崩れる

どうしてこうなるのか結局よくわからないのだけど、ログイン時にXmodmapでキーマップを変更しているとウィンドウテーマが崩れる。崩れるという表現も合ってるのかわからないけど、要は以下のような感じになる。正しい表示 崩れた表示 崩れたというか古めかし…

PhoneGap Eclipse PlugIn for Android

Home · phonegap/phonegap Wiki · GitHub 前の記事ではPhoneGapのライブラリを別途コピーしていたけど、PhoneGap用のEclipseプラグインも用意されていたらしい。以下のURLを新しいリポジトリに追加する。 https://svn.codespot.com/a/eclipselabs.org/mobile…

AndroidアプリのためのPhoneGap環境

PhoneGap PhoneGapはHTML+CSS+JavaScriptを使ってモバイルアプリを作成できる。複数のプラットフォームに対応していて、今回はAndroid向けの環境を作ったのでメモ。 環境 Ubuntu 10.10 Desktop Edition 64bitでEclipseの環境を作った。 Download Android Stu…