タグ

ブックマーク / blog.asial.co.jp (33)

  • Dockerだけではない: Podman、LXD、ZeroVMを含む主要なコンテナ技術を探る

    最近では開発環境をローカルに構築することなく、Dockerをはじめとするコンテナ技術を使用する場面が増えています。コンテナ技術の利用により、環境の構築手間が大幅に軽減でき、さらにプログラミング言語やデータベースのバージョン管理も柔軟に行えるのが主な利点として挙げられます。 そんなコンテナ技術で有名なものとしてはDockerが存在しますが、最近では他にもさまざまなコンテナ技術や仮想化技術が登場しています。記事では、これらの技術の相違点や特徴について紹介します。 コンテナはホストOSから独立した環境でアプリケーションを実行する技術です。 Dockerの場合を見てみると、下の図のようにホストOSの上にDockerが存在し、このDockerが様々なアプリケーションを「コンテナ」として管理しているとイメージできます。 具体的には、コンテナ内には必要なライブラリや依存関係がパッケージ化されており、こ

  • WebdriverIOを使ってみました

    質問内容は以下のとおりです。 ※ ライブラリやadapterをインストールするか?という質問は省略しています Seleniumの動作環境(On my local machine) 使用するテストフレームワーク(jasmine) Specファイルの配置場所(./test/specs/*.js) 使用するレポーターの種類(dots) 使用するサービス(selenium-standalone) logレベル(error) エラー発生時のスクリーンショットの配置場所(./errorShots) テストサーバーのbase url(localhost:8000) テストの実行 先ほど指定した場所にテストを作成・配置し、以下のコマンドでwdio testrunnerを実行します。 wdio.conf.jsのserviceにselenium-standaloneを登録しておくとテスト実行時に自動でsele

    WebdriverIOを使ってみました
  • 独自/ミラー yum リポジトリを作ろう

    こんにちは、亀です。ブログはだいぶご無沙汰となりました。 気が付いたらもう春ですね。アシアルにも新入社員が入ってきたりして、なんだか少しずつ環境の変化を感じる今日この頃です。 さて今日は、社内に自分達専用のミラー+独自 yum リポジトリを立ててしまおう!というお話です。 扱う話題としては、 ・ローカルにyum ミラーリポジトリを構築する方法 ・・+ローカルリポジトリの使用 ・独自yum リポジトリを作る方法 ・・+独自リポジトリの参照 といった内容について紹介します。 0. 専用 yumリポジトリを立てる事のモチベーション 管理するサーバの台数が少ないうちはいいのですが、管理規模がどんどん多くなっていったり、頻繁に新しいOSをインストールしたりするような場合、OSのパッケージ管理に気を配る必要が出てきます。 社内にCentOSが100台あったとしたら、そいつらが外部からyum upda

    独自/ミラー yum リポジトリを作ろう
  • 「最新SPA開発を学ぼう!ウェブエンジニアのためのAngularJS入門」という題でPHPカンファレンス2014で登壇してきました

    「最新SPA開発を学ぼう!ウェブエンジニアのためのAngularJS入門」という題でPHPカンファレンス2014で登壇してきました 10月11日に開催されたPHPカンファレンス2014にて、「最新SPA開発を学ぼう!ウェブエンジニアのためのAngularJS入門」という題で登壇してきました。 PHPのイベントですが、HTML5関連の話題もOKということでSPA開発とAngularJSについて話してきました。 SPA(Single Page Application)は、近年開発が増えているウェブアプリケーションの一形態ですが、このお話の中では、それが近年増えてきた理由についてまず説明しました。SPA開発ではAngularJSフレームワークがよく利用されているのですが、このフレームワークはSPA開発に適した機能セットを持っています。お話の後半では、AngularJSの紹介と、AngularJS

    「最新SPA開発を学ぼう!ウェブエンジニアのためのAngularJS入門」という題でPHPカンファレンス2014で登壇してきました
  • REST APIのテストをFrisbyで自動化する

    どうも、中(特に冷やし五目味噌タンメン+バター)にハマっている高橋です! 最近のアプリケーション開発といえば、フロントエンドはサーバサイドが準備したAPI経由でデータを取得したり保存したりという構成が人気のようです。そこで「API、ちゃんと動いてるんかなぁ?」というテストを書いて、実際にリクエスト&レスポンスで検証してみようと思います。 今回テスティングフレームワークとして使用する Frisby(フリスビー) は簡単に書けて高速に動作するというのが持ち味の REST API のテスティングフレームワークです。投げて返ってくるFrisbeeと掛けているのでしょうか?これドヤ顔で言われるとちょっと腹立ちますが、こういうネーミングセンスには関心させられます。笑 ◯インストール 今回は「frisbytest」というディレクトリ内で作業をしていきたいと思います。 コンソールを起動したら以下のコマン

    REST APIのテストをFrisbyで自動化する
  • 書籍『[iOS/Android対応]HTML5ハイブリッドアプリ開発[実践]入門』書きました : アシアルブログ

    HTML5ハイブリッドアプリとは HTML5ハイブリッドアプリとは、通常のiOSアプリやAndroidアプリと同じようにストアからインストールできるけれども、アプリの内側ではHTML5などのウェブ技術で開発されているアプリです。AndroidやiOSなどの複数のプラットフォームに対応できる点や、標準化されているHTML5などのウェブ技術によって開発でき、かつモバイルOSのネイティブAPIを利用できる点などで注目を浴びています。 書は、今までHTML5ハイブリッドアプリを開発したことがない人向けの入門的な内容から、ハイブリッドアプリの裏側の仕組みなどのアプリ開発に関わるエンジニアのための高度な知識まで、HTML5ハイブリッドアプリ開発に関することの多くを網羅した実践的な一冊です。 内容 書の内容は前半の基礎編と後半の実践編のふたつに分かれています。 基礎編では、HTML5によるハイブリッ

    書籍『[iOS/Android対応]HTML5ハイブリッドアプリ開発[実践]入門』書きました : アシアルブログ
  • PhoneGap/Cordova最新の状況についてのまとめ

    2013年も残りわずかになって参りました。この記事では、2013年を振り返る意味でも、最近のPhoneGap/Cordova界隈の状況をまとめておきたいと思います。 なお、この記事はHTML5 Advent Calendar 2013 5日目の記事となっています。 さてPhoneGapですが、2013年も例によって怒濤の(後ろを振り返らない感じで)メジャーバージョンアップを毎月のように繰り返してきました。現在の最新安定版は11月末にリリースされたPhoneGap 3.2となっていますが、今年の初頭がバージョン2.3だったことを考えると、相当なスピードと言えそうです。 なお、PhoneGap 3系がリリースされてからは、PhoneGap 2系も平行してメンテナンスが続いているようです。実際に、PhoneGap 3.1のリリースと同時に、PhoneGap 2.9.1という形でメンテナンスリリー

    PhoneGap/Cordova最新の状況についてのまとめ
  • あんなこともこんなことも。そう、Node.jsならね。

    $ pulldown jquery -> Success: https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js was downloaded to ./jquery.min.js $ ls jquery.min.js

    あんなこともこんなことも。そう、Node.jsならね。
  • DOM-based XSS

    ようやくアシアルに馴染んできました坂です。 今回はWebアプリケーションのセキュリティのお話です。 Webアプリケーションのセキュリティと聞くとサーバサイドスクリプトの脆弱性と思われがちです。 年々攻撃手法は多様化しHTML5とJavascriptだけのWebアプリケーションでも脆弱性は発生します。 例としてありがちなリダイレクトページとその問題です。 リダイレクトの方法はいくつかありますが簡易的なものの一つにリダイレクト先のURLをハッシュパラメータ(#マーク以降のパラメータ)で渡し、Javascriptを使ってリダイレクトさせる方法があります。 下記が脆弱性を含むリダイレクトするコードです。 <script type="text/javascript"> var redirectUrl = decodeURIComponent(window.location.hash.slice(w

    DOM-based XSS
  • 非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。

    #################################### # CSVファイルの読み込み #################################### #Mac読み書きディレクトリを定義 basedata<-"/Users/saity/Dropbox/R/basedata/" output<-"/Users/saity/Dropbox/R/output/" #CSVファイルの読み込み crime<-read.csv(paste(basedata,"crime_prefecture.csv",sep=""), row.names=1) ソースコードを実行するには、カーソル行でcommand+enter(WinはCtrl+Enter)で実行ができます。 一度に複数行を実行する場合には、選択行で上記コマンドを叩きます。すると、メインコンソールに実行結果が表示されます。

    非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。
  • はじめてのAmazon VPC

    *nat :PREROUTING ACCEPT :POSTROUTING ACCEPT :OUTPUT ACCEPT -A POSTROUTING -s 10.123.0.0/255.255.0.0 -o eth0 -j MASQUERADE COMMIT *filter :INPUT ACCEPT :FORWARD ACCEPT :OUTPUT ACCEPT COMMIT

    はじめてのAmazon VPC
  • 最近のJavaScript開発まとめ

    9月/10月社内Tech勉強会レポート – NodeJS/Privacy Sandbox API/3rdPartyCookie/NodeJS/PromiseAll/cascae/

    最近のJavaScript開発まとめ
  • PostgreSQLのレプリケーション機能をつかってみた

    皆様、ご無沙汰しております。笹亀@イネ花粉に苦しんでます。 昨日(7/10)、最近愛用しているPhpStormを開発しているJetBrainsのエバンジェリストとCEOの方が来日されて、講演をされるとのことで、参加をしてきました。 http://www.zusaar.com/event/844003 内容もよかったのですが、エバンジェリストの方がとてもユニークな方だったのが印象的でした。 さて、日は少し前から興味を持っていたのですが、中々試す機会がなかった内容です。 今回はPostgreSQLのレプリケーションの設定を解説しながらご紹介をしていきたいと思います。 PostgreSQLのレプリケーションについて まずは、マスターとスレーブにするサーバへPostgreSQLをインストールしておきます。 インストールするバージョンは必ず9.2以上でインストールしてください。また、インストールは

    PostgreSQLのレプリケーション機能をつかってみた
  • Gitを使い始めたらやっておきたい便利な設定いろいろ

    $ git config --global user.name "yoshiki" $ git config --global user.email "yoshiki@example.com" ■カラーリング git status や git diffなど、デフォルトでは味気ない文字がズラズラと画面に表示されますが、それを見やすいようにカラーリングすることができます。

    Gitを使い始めたらやっておきたい便利な設定いろいろ
  • JavaScriptで日付を扱うならこれ!「moment.js」

    ■ つかいかた(基礎編) ダウンロードしたmoment.jsをscriptタグで読み込ませたら準備完了です。 あとは下記のような実装で使用できます。 // momentオブジェクトを初期化して・・・ var m = moment(); // formatで出力! var output = m.format("YYYY年MM月DD日 HH:mm:ss dddd"); console.log(output);  // => 2013年05月15日 12:34:56 Wednesday // 現在時刻 moment(); // ミリ秒で指定 moment(1368543600000); // タイムスタンプ(秒)で指定 moment.unix(1368543600); // Date.parseで解析可能な文字列を指定 moment("May 15, 2013"); // Dateオブジェクトか

    JavaScriptで日付を扱うならこれ!「moment.js」
  • JsTestDriverで簡単テスト

    最近、何かとJavascriptに触れる機会が多くなってきました。クライアント側としてHTML5が注目され、サーバ側としてNode.jsが発展してきたおかげですね。その一方で、Javascriptのテストほど面倒なものはありません。特に、ブラウザ上でのテストなど自動化することが時に難しかったりします。このブラウザ上でのテストを自動化できる仕組みがJsTestDriverです。今回はJsTestDriverの導入方法と簡単な使い方をご紹介します。 JsTestDriverとは JsTestDriverはGoogleが作ったテストフレームワークです。導入も使い方もとても簡単であり、様々なブラウザを使ったテストを自動化することが出来ます。Javascriptのテストフレームワークは多数ありますが、その中でもJsTestDriverは簡単かつ正確なツールです。 JsTestDriverの導入 導入

    JsTestDriverで簡単テスト
  • Backbone.js 入門してハマったポイントと対策

    Backbone.js とは JavaScriptフレームワークです。 http://backbonejs.org/ Backboneをはじめて利用するにあたってハマったポイントと対策に JSフレームワークについての感想を簡単に書いてみました。 ハマってみるのも醍醐味かもしれませんが、時間の無駄とも言わざる得ないので 同じように困った方のためになればいいなぁ、と自戒を込めて記録しようと思います。 ちなみにエラーメッセージはちゃんと出るんですが、どこで起きてるエラーなのか 突き止めるのに時間が掛かったりします。 エラーメッセージに慣れてくると「あ、これ見たことあるエラーだ」とハマる時間も減ります。 ◯エラーメッセージと対策 ※開発中はChromeでも確認していたので、Chromeのエラーメッセージとなります。 ※凡ミスだらけですが、ご了承ください。 ・Uncaught TypeError:

    Backbone.js 入門してハマったポイントと対策
  • Underscore.js で JavaScript を楽にしよう

    こんばんは、サドルのない生活にも随分慣れた高橋です。 いきなりですが、JavaScript面白いですよね!んでガリガリ書いてコード膨らんでしまって若干依存があって分割めんどくせー!という経験をされた方はいませんか?もしかしたら「あんな事したいなぁ」が Underscore.js でスマートに解決するかもしれませんよ。 Underscore.js とはユーティリティライブラリです。非依存のため、稼働中のアプリケーションにも導入できます。 実績については Backbone.js に組み込まれているのもあって十分でしょうか。 使い方は _.size() みたいな書き方で超簡単。 ものすごいUnderscoreです・・・ さて、数あるライブラリの中でUnderscore.jsを使う理由なんですが、やはりドキュメントが充実していう点でしょうか。これに一度目を通しておけば、あれやこれやしなくて済むかも

    Underscore.js で JavaScript を楽にしよう
  • ウェブ制作に重要なワイヤフレームを書けるツール&ウェブサービス6選

    wireframe-zoning.jpg by luc legay, on Flickr こんにちは、久保田です。 ウェブサイトのデザインやコーディングを始める前にワイヤフレームは作っていますか?ワイヤフレームは、以下の様な内容を設計するのに利用されます。 ・ページ間の遷移 ・ページの内容 ・ページの大まかなレイアウト これらの項目についてチームやクライアントと予め合意しておくと、後に続くビジュアルデザインやコーディング時の前提を共有でき、作業をスムーズに進めることが出来ます。これからどのようなウェブサイトを作るのか?ということをきちんと共有することでデザイナーやコーダーや関係者と意思統一することができるわけです。 この記事では、このワイヤフレームを書けるツールやウェブサイトを紹介します。 OmniGraffle 古くからある使いやすいMacOSX用のアプリケーションです。ワイヤフレームだ

    ウェブ制作に重要なワイヤフレームを書けるツール&ウェブサービス6選
  • JavaScriptでうっかりやってしまいそうなこと色々

    こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。