サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.infoscoop.org
7月。。。それは、夏。 海チカに職場が変わりまして、暑さが半減した気がします。 風が気持ちいいです(エアコンの) どうもDiceK Mikamiです。 本日は便利サービスのxip.ioの紹介をしたいと思います。 実際に社内システムを構築する段になって私自身もその恩恵を受けた次第でして、是非とも皆様にもこのアツいパトスをで(ry xip.ioってなに? xip.ioは、(あの有名な)37signalsによって提供されているドメインサーバサービスです。 やってくれることは単純で、IPをドメインに変換してくれるだけです。 どんなときに使えるの? IPだと不都合な状況のときにローカルDNSを立てたり、DNSサービスに登録したりする必要がありますが、そういった煩雑な手間を取り除いてくれます。 実際の事例 実際に私が利用している状況を共有したいと思います。 GoogleからAPI経由で取得するためOA
むかし、Code Instructions: Java Objects Memory Structureを読んで参考になったので、訳した文章をあげます。【】は補足のため付け足しました。しかしながら、実際のメモリ管理方法は見えないので、正しいのか定かではありません。 ・・・ Javaについていつも悩まされていることは、オブジェクトが使用するメモリがどれほどなのか解決する方法が欠けていることです。C++はsizeof演算子を持ち、プリミティブ型のサイズや与えたクラスのオブジェクトのサイズも照会できます。CやC++の演算子は、ポインタの計算、メモリのコピー、I/Oといったことに役に立ちます。 Javaは該当する演算子を持っていません。現実では、Javaはこの演算子を必要としません。Javaでのプリミティブ方のサイズは言語仕様によって定義されており、一方でCやC++はプラットフォームに依存します。
今回は、ZabbixでApacheを監視するための設定手順です。 監視対象サーバーの環境 OS: Amazon Linux zabbix-agent: 2.2.5 httpd: 2.2.27 mod_statusを有効にする 監視対象サーバーのmod_statusを有効にして、http://localhost/server-statusで稼働状況を確認できるようにします。 httpd.confを2箇所編集します。 vi /etc/httpd/conf/httpd.conf 1 以下の行のコメントアウトを解除します。 ExtendedStatus On 2 以下のコメントアウトを解除して一部修正します。 Before #<Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all
Appleのイベントは見ましたか? Spring forward.のことです。 いやぁ、まさかあんなサプライズがあるとは。。。 どうも、DiceK Mikamiです。 さて、今回は(Appleとは全然関係なく)Google API使うにあたって利用することになるService Account認証に潜む罠に関して取り上げてみたいと思います。 対象読者 Google APIを利用したことがある Google OAuth2 Service Account認証を利用している invalid_grantがこわい invalid_grantエラーの恐怖 Google APIを利用しているとたまに目にするのが、HTTP 400 Bad Requestと言うエラーです。 Googleは親切にもこのエラーを返却する際、エラーの内容も返却してくれます。 大抵の場合、きちんと修正すべきポイントも込みで教えてくれ
アプリケーションの動作環境をコンテナ化するために、ベースとなるubuntuやcentosのイメージに必要なアプリケーションを一つずつ手動でインストールして作成していく方法もありますが、インストール手順を記述したDockerFileを使って作成する方法もあります。 インストール手順をDockerFileでスクリプト化しておくことで再利用性も高まります。 今回はDockerFileによりinfoScoopを稼働させるサーバーのイメージを作成し、コンテナを起動するところまでの手順をご紹介したいと思います。 Dockerのインストール DockerはLinuxで動作しますので、Linuxマシンを用意します。 今回はubuntuを用意したのでapt-getでDockerをインストールします。 sudo apt-get install docker.io WindowsやMacの場合はboot2doc
Amazon Relational Database Service (Amazon RDS) は、Amazonがクラウドで提供するのリレーショナルデータベースサービスです。 今回はMySQLのGUIクライアントであるMySQL WorkbenchからRDSのMySQLに接続する方法を紹介します。 MySQL Workbenchのインストール まずはこちらからMySQL Workbenchをダウンロードし、インストールします。 Windows版の他、Linux版、Mac OS X版などがありますので、ご利用の環境に合わせた物をインストールしてください。 インストールが完了したらMySQL Workbenchを起動します。 起動すると以下のような画面が表示されます。なお、以下の画面はすべてMySQL Workbench 6.1のものです。 コネクションの設定 では、早速RDSへの接続設定を行
AWSでEC2を使い始めると、インスタンスの起動時・停止時に処理を実行したいことってありますよね。 今回はインスタンス起動時にCloudWatchのアラームを作成して、インスタンス停止時にアラームを削除する方法を紹介します。 環境 OS: Amazon Linux rootで作業 CloudWatchを利用可能なIAMを作成(キーとシークレットを用意) aws configure を実行済 設定手順 1. スクリプトを作成する vi /etc/init.d/cloudwatch_alarm 以下を記述して保存します。 #!/bin/bash # chkconfig: 2345 99 10 # description: Create & Delete CloudWatch Alarm INSTANCE_ID=$(curl -s http://169.254.169.254/latest/me
MySQLにCSVファイルをインポートする際にはLOAD DATA INFILE構文を使います。 とあるシステムのテーブルにCSVファイルをインポートしたところ、なぜかシステムが正常に動作しなくなり大はまりしました。今回はそんなお話です。 例えば以下のDDLでテーブルを作成します。 CREATE TABLE IF NOT EXISTS `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL COMMENT 'ユーザー名', `email` varchar(1024) NOT NULL COMMENT 'Email', PRIMARY KEY (`id`) ) このuserテーブルに対して、以下のようなデータをインポートするとします。 1,山田 太郎,yamada@example
最近 Google Apps Script (GAS) を触り始めまして。 勉強を兼ねて簡単アプリを組んでみました。以下仕様です。 指定サイト内のデッドリンクを検出(href/@srcをチェック) 発見されたら通知メールを出す 指定間隔で定期実行 サイトの階層までは辿らない コード 言語がJavaScriptなのでさくっと書けました。 // チェック対象サイト var siteURL = "https://www.infoscoop.org/en/"; var domain = siteURL.match(/^https?:\/\/[^\/]+/, "gi"); var deadLinkList = []; function main() { // 対象サイト内のリンク抽出 var checkUrlList = getLinks(siteURL); // デッドリンクチェック for(v
前回AWSのSESを設定してses-toolsを使ってEC2インスタンスからメールを送信しました。今回はSESとPostfixを連携してメールを送信します。そうすることによって通常のメールサーバ利用と同じ感覚でEC2インスタンスからメールを送信出来ます。ses-toolsを使う場合はアプリケーションがメール送信したい場合そこらへんを書き直さないとなりませんが、Postfixと連携してしまえばこれまで通りの方法を変える事なくメールが送信出来ます。Postfix使った方が配信性能高いでしょうし。(とは言ってもSES側の1秒あたりの送信上限にひっかかれば送れません。ここは実績積んで上限値を上げていけるので。) ● 必要な手順 SESとPostfix連携に必要なパッケージのインストール SES用のユーザのSMTP UsernameとSMTP Password Postfixの設定変更 SESとPo
所用で Amazon SES を使う機会があり、送信制限解除について調べました。 最近になって申請フォーマットが変わったという話も聞くので、参考までにメモしておきます。 目的 Amazon SES は最初は SandBox 上で動作しており、以下の送信制限がある。 事前に登録したメルアド以外には送信できない 1日当たり200通までしか送信できない 1秒当たり1通までしか送信できない 本運用開始にあたり、この制限を解除したい。 手順 AWSのマネジメントコンソールにログインし、以下のURLへ移動。 http://aws.amazon.com/ses/extendedaccessrequest/ 以下のフォームが表示されます。 CC この申請に関する通知のCCを送るメールアドレス。IAMユーザーでは必須。 内容 「サービス制限の増加」のままでOK。 制限タイプ 「SES送信制限」のままでOK。
AWSのインスタンスでメールを送信したい要件が出てきました。オンプレミスの場合では通常以下のような手順を踏んでメール送信の仕組みを構築すると思います。 ドメインの取得 DNSサーバへ登録 メールサーバの構築 運用開始 スパムメール送信したい等の理由だと上記手順で省けるものが結構ありますが、きちんとしたサービスとしてメール送信をしたい場合は上記のような手順を踏まないとなりません。またメールサーバの構築・運用は悪意あるものに狙われないように作って運用しないとスパムの踏み台にされたりしますし、メールの配信性能のについて検討したり、冗長構成を組んだりと結構大変です。 AWS内のインスタンスにPostfixなどを構築して上記4つの手順を踏めばメール配信は出来きますが、インスタンスが外部に送信するメールは制限が設けられていて、上限に達するとメールが出せなくされます。上限値は公開されていない為わかりませ
とても便利なFontAwesomeですが、マルチブラウザ対応やパフォーマンスを考えてどうしても静止画像にしたい場合もあります。 というわけでFont Awesomeをpngにするツールを調べたのでまとめです。 色々なツールがあり、いいところ・惜しいところあります。 場合により組み合わせて使うと便利だと思います。 flat icon pngでサイズ指定をして簡単にダウンロードが可能。画像も探しやすい。 難点は、色を変えられないこと。 pngよりはやはりfont icon用のicon packを取得するサイトな気がする。 iconion インストールして利用する。fontawesome以外のアイコンも使える。 簡単で高機能。iphoneのホーム画面に配置するようなアイコンを作成するためには秀逸のツール。 ただし、周囲の余白を取り除けないのが残念。(例えば16 x 16pxのアイコンを作成すると
5月も中頃となり、気候は穏やかな毎日ですね。 あーあ、ずっと春ならいいのに。 どうもDiceK Mikamiです。 今回は、あのGoogleも対応を発表したOpenID Connectのサンプル実装をご紹介します。 これであなたもOpenID Connecterだ! 1. OpenID Connectとは まずは、OpenID Connectについて軽くおさらいをしておきましょう。 OpenID Connectについて調べてみますと、、、 OpenID Connectは、ユーザーがパーソナルデータのコントロールを行うことを目的とした認証プロトコルです。 Webサービスごとにアイデンティティを使い分けて、利用者のプライバシー強化を実現する技術として標準化が進められてきました。 ごめん。なに言ってるかさっぱりわからねぇ。 複数のサービスでIDを同じにしておけば、ユーザーとしてはログインの手間が
javascriptで開発をしていると、オブジェクトをブラウザの開発ツール上のコンソールに出力してデバッグする機会が多いかと思います。 例えば、このようなオブジェクトをFireFoxのFirebug に出力すると、下記画像のように表示されます。 var obj = {"Name":"John","Hobby":[{"Hobby1":"Tennis"},{"Hobby2":"Golf"}]}; console.log(obj); こちらの例のように中身が少なく階層の浅いオブジェクトであればこのまま表示しても問題ありませんが、 階層がもっと深かったり、オブジェクトのテキストをコピーしたい場合にはこのままでは望ましくありません。 そんな時は、object.toSource() という関数を使用するとコンソール上にオブジェクトが展開された形で表示されます。 var obj = {"Name":"J
AngularJSには強力なフォームのバリデーション機能があり、任意のタイミングでエラーメッセージを表示することができます。 このエラーメッセージをバリデーションの状態に連動してUI BootstrapのTooltipに表示したいとき、どうすればよいでしょうか。 まずは思い付く方法で まずは最初に思い付いた方法で実装してみます。 ツールチップはtooltip-enableディレクティブで有効/無効を切り替えられるので、バリデーションに失敗したときだけ有効にして表示するようにしてみました。 index.html ... <form name="form" style="width:500px;" ng-class="{'has-error': form.value1.$dirty && form.value1.$invalid}"> <table class="table"> <tr> <t
ネットワークの仕様に関して何度覚えても忘れるので、メモです。 クラスA アドレス範囲:0.0.0.0 – 127.255.255.255 サブネットマスク:255.0.0.0 ホスト数:約1677万 (2^24-2) プライベートアドレス:10.0.0.0 – 10.255.255.255 (10.0.0.0/8) クラスB アドレス範囲:128.0.0.0 – 191.255.255.255 サブネットマスク:255.255.0.0 ホスト数:65534 (2^16-2) プライベートアドレス:172.16.0.0 – 172.31.255.255 (172.16.0.0/12) クラスC アドレス範囲:192.0.0.0 – 223.255.255.255 サブネットマスク:255.255.255.0 ホスト数:254 (2^8-2) プライベートアドレス:192.168.0.0 –
Rubyのようなバージョン間に互換性があまりない言語を利用するとなると簡単にバージョンを切り替えられる環境が欲しくなります。 RubyではRVMというバージョン切り替えシステムが導入できますが、最近の流行りはどうやらrbenvというもののようです。 rbenvとは 37signalsのsstephensonさんが作成したバージョン管理ツールです。 RVMよりも軽量で、gemの管理とかは一切してくれません。 が、それがいいという方々に大人気?のツールです。 今回は、このrbenvを利用して、JRubyをインストールしてみます。 ついでに、gemの管理を行ってくれるrbenv-gemsetもインストールしてみます。 検証環境 OS: Mac OSX Mountain Lion rbenvのインストール 今回もHomebrewを使って、インストールします。 もちろんHomebrewではなくても、
Oracle編 次にPostgreSQLの場合と同じ検索をOracleで実行してみます。なお、今回の紹介で利用しているOracleのバージョンは 11g リリース2となります。 Oracleにおいてはジオメトリ型データを扱うためにOracle Spatialというオプション機能を使用します。 Oracle SpatialはEnterprise Editionに含まれるオプションで、11gでは自動構成したデータベースでは特に何もしなくてもインストールされていました。 詳細についてはOracle Spatialの各種マニュアルをご参照ください。 テーブルの作成 PostgreSQL編で説明したテーブルと同様の構成の緯度経度の情報を持ったテーブルを作成します。 -- テーブルの作成 CREATE TABLE geotable ( id NUMBER(10) NOT NULL PRIMARY KE
PostgreSQLで外部からのJDBC接続があっさりできませんでした。 解決するためにやったことを記載します。 JDBC接続に必要な情報 JDBCドライバー Class.forName()等でロードするクラスは以下です。 org.postgresql.Driver URL jdbc:postgresql://${host}:${port}/${db} ${host}:接続するDBサーバー ${port}:ポート番号(デフォルトは5432) ${db}:使用するデータベース名 サーバーの設定 PostgreSQLの設定がデフォルトのままだとJDBC接続ができませんでした。 接続を受け付けるホストと、そのホストが接続できるデータベースおよび認証方法を設定する必要がありました。 ちなみに最初に見たエラーは次の通りです。 org.postgresql.util.PSQLException: 接続
はじめての方は初めまして、そうでない方はお久しぶりでございます。 DiceK Mikamiです。 諸事により長らくブログから遠ざかっておりましたが、戻って参りました。 決して嫌になったとかそういうんじゃないだからねっ!! 心機一転よろしくお願いいたします。 閑話休題 さて、4月になり春も真っ盛りと言う感じですが、 日本の社会人である私たちにとって4月とは新年度であり、 バタバタと忙しい日々かと思います。 新年度と言えば、、、そうですね新環境構築ですね。 今回は縁あって、EC2上に設置したTomcatに対してJMX設定を行いましたので、 その設定方法などを共有したいと思います。 これでリモート監視ができる! 検証環境 OS: Amazon Linux AMI release 2014.03 Java: JDK1.7.0 Tomcat: 7.0.5 リモートホスト(EC2側)の設定手順 1.
infoScoopをタブレット対応させる際に、iFrame絡みのクロスブラウザ対策でハマったので、そのあたりの対策について紹介したいと思います。 サポートブラウザ 今回サポート対象となったブラウザ(OS)は以下になります。 Safari(iOS) Android Browser(Android) IE(Windowsタブレット) DOCTYPE宣言 HTMLの記述の前に、まずはDOCTYPE宣言です。 以下はHTML5のDOCTYPE宣言になります。 <!DOCTYPE HTML> 現状では何も宣言しないとブラウザのレンダリングモードは互換モードが選択されます。 また、互換モードに比べて標準モードの場合は記述が厳格になることもあり表示速度の向上も期待できます。 なので、モバイル向けにWebページを作成する際にはHTML5のDOCTYPE宣言をするようにしましょう。 iOSのiFrameにお
Googleカレンダーの予定入力画面は通常、以下のようなリンクで開く事ができます。 https://www.google.com/calendar/event?action=TEMPLATE または https://www.google.com/calendar/render?action=TEMPLATE 上記のリンクのように特に何も指定しない場合、デフォルトの状態で予定の新規入力画面が開きます。 このリンクは、URLパラメータにより件名、場所、説明、ゲストなどを指定することが可能です。 指定可能なパラメーター(一部) パラメータ名 説明
Firebaseは、チャットのようなリアルタイム性の高いアプリを作る際に、端末とサーバー間、端末同士でのデータ同期などのバックエンドで行う処理をAPI提供してくれる便利なバックエンドサービスです。用途としては、複数人でのリアルタイムコミュニケーションアプリやモバイルアプリのオフライン対応などが多いそうです。 まずは試しにということで、Firebaseを使ってグループテキストチャットのサンプルを作成してみましたので、Firebaseの使い方についてご紹介したいと思います。 アプリケーション登録 Firebaseにログインし、ダッシュボードでアプリケーション(データストア)を作成します。 ライブラリの読み込み 以下の様な記述でクライアントアプリにFirebaseのライブラリを読み込みます。 <script src="https://cdn.firebase.com/js/client/2.1.
次のページ
このページを最初にブックマークしてみませんか?
『Home | infoScoop OpenSource』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く