タグ

ブックマーク / dev.classmethod.jp (42)

  • エンジニアが知っておくべき”iWorm” | DevelopersIO

    おはようございます、せーのです。 先日のイベントでは久しぶりに新たなガジェット「Apple Watch」が発表され、最近では近々新型のiPadが出るとか、攻めの姿勢で突っ走るAppleですが人生山あり谷あり、いいことばかりではありません。 先日よりmacが対象となっている新しいマルウェア、その名も「iWorm」が猛威を振るっております。 私の部屋もmacだらけですのできちんとチェックすると共に、エンジニアとしてそもそもiWormって何なのよ、というところを押さえておきたいと思います。 経緯 最初にこのマルウェアを発見したのはロシアセキュリティ企業Dr. Webでした。Dr. Webはサイトにて声明を発表しましたがこの時点で既に17,000台ものmacが感染された後でした。マルウェアの正式名称は「Mac.BackDoor.iWorm」、C++とLUAを使って書かれており、感染源は不明(後述

    エンジニアが知っておくべき”iWorm” | DevelopersIO
    tarchan
    tarchan 2014/10/07
    出自の分からないインストーラーを実行しちゃだめ>途中でAdministratorのパスワードも聴かれます。答えてしまうとプロセス内にその情報は保管されます(ここで答えないとiWormは入りません)。
  • Jenkinsの使い勝手をよくするための見直し6点 | Developers.IO

    今回の課題 こんにちは植木和樹です。7月にserverspecを使ったChefの自動テストのエントリを書きました。 【AWS】JenkinsとserverspecでChefのテストを自動化する このエントリは初めてJenkinsを触った時に書いたので、いろいろと流儀がわかっていませんでした。その後弊社にJenkinsマイスターの渡辺修司さんが入社したということで、Jenkinsの設定について見てもらいました。その時に次の6点を見直すよう指摘がありました。 ジョブは意味ある単位で1つにまとめるべし ジョブで実行するシェルスクリプトもgitから取得すべし EC2の起動に失敗したら後続処理を停止させるべし serverspecの実行結果はJUnit(XML)形式で出力すべし 実行結果のXMLをJenkinsで読み込んで統計グラフを出力すべし 定時実行でなくgit push hookを入れるべし

    Jenkinsの使い勝手をよくするための見直し6点 | Developers.IO
  • Tableau 8.2 リリース&Mac向けプロダクトが遂に利用可能に!! | DevelopersIO

    去る6月19日、Tableau Softwareのバージョン8.2がリリースされました。以下の様にリリースに伴うツイートも国内外で成されております。 【速報】Tableau 8.2、正式リリースされました!!弊社ウェブサイトよりダウンロードしてお使いください。 http://t.co/YiN99IHdXF — タブロー(Tableau) Japan (@tableaujapan) 2014, 6月 19 Mac Lovers & Data Storytellers: @Tableau 8.2 Available Now! #showandtell us your fav 8.2 feature. http://t.co/kyX3QuSVdd — Tableau Software (@tableau) 2014, 6月 19 It's here: Tableau 8.2! To celebr

    Tableau 8.2 リリース&Mac向けプロダクトが遂に利用可能に!! | DevelopersIO
  • [Java]sinatraみたいなフレームワーク「spark」 | DevelopersIO

    sinatraみたいなフレームワーク sinatraとは、Rubyの軽量WEBフレームワークです。 小規模なアプリケーションに特化しており、直感的に記述できて人気らしいです。 今回紹介するsparkは、そんなsinatraにインスパイアされて開発されたフレームワークみたいです。 セットアップも簡単なので、試してみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 Apache Maven : 3.0.3 Java : 1.7.0_17 sparkを試してみる では、プロジェクトを作成してsparkを動かしてみましょう。 まずはmavenを使ってプロジェクトのひな形を作成します。 % mvn archetype:create -DgroupId=com.example -DartifactId=sample 生成されたpom.xmlを次

    [Java]sinatraみたいなフレームワーク「spark」 | DevelopersIO
  • CoffeeScript と TypeScript をそれぞれ実務案件で使ってみた感想 | DevelopersIO

    そんな訳で、CoffeeScript を触り始めて半年弱、TypeScript を触り始めて1ヶ月弱ほど経ちました。まだまだ日は浅いですが、いちおう両方とも実務案件にて使用したということで、ここらで双方に対する振り返りを簡単にしておくとします。 CoffeeScript について http://coffeescript.org/ 学習開始時期: 2014年1月頃 始めたきっかけ: Middleman や Ruby on Rails が標準サポートしているため、面倒な環境構築等をしなくて済んだから Ruby や Haml のようなテキスト量の少ない文法が好みだったから そんな訳でとっかかりとしての基礎学習期間はだいたい2〜3日くらいで、そこから既存のプロダクションコードを CoffeeScript に書き換えつつ実案件に取り入れていきました。 おおまかな特徴 要は JavaScript をよ

    CoffeeScript と TypeScript をそれぞれ実務案件で使ってみた感想 | DevelopersIO
    tarchan
    tarchan 2014/05/14
    >僕個人としては、両方とも難なく使えるようにしとこうかな といった結論に至りました。
  • パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO

    渡辺です。 最近はユニットテストの導入方法などに関するエントリーが多かったので、今回は実用的な小ネタとして、メソッドにおけるパラメータの正当性検査とユニットテストについて紹介したいと思います。 パラメータの正当性検査 はじめにパラメータの正当性検査について復習しましょう。Javaプログラマであれば読んでないことが許されないEffective Java(第2版P.175、ただし絶版)には次のように記述されています。 ほとんどのメソッドとコンストラクタは、パラメータとして渡される値に関して何らかの制約を持っています。たとえば、インデックス値が負であってはいけないとか、オブジェクト参照がnullであってはいけないというのが普通です。このような制約は明確に文書化すべきであり、メソッド体の初めに検査することで制約を強制すべきです。これは、エラーが発生したらできるだけ速やかにエラーを検出するようにす

    パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO
    tarchan
    tarchan 2014/02/13
    >Guavaには、Preconditionsという事前条件チェック用のユーティリティクラスがあり、これを使ってパラメータの正当性チェックを書き換える
  • テストケースを動的に生成してJUnitで実行する | DevelopersIO

    AWSチームに参画して2ヶ月ほど経ちました。ところが、AWSの構築などにはあまり関わらず、ひたすらAWSに関連するプロダクトの開発を行う毎日です。そんな折、ボスより次のようなリクエストをいただきました。 ユーザが参照できない情報について、参照できないことを検証して欲しい ・・・「出来ないことの検証」です。 「出来ることの検証」であれば、その例をテストケースとして記述してテストを実行すれば検証出来ます。しかし、出来ないことを証明することは非常に困難です。ただ、情報は有限なんで、総当たりにでもやればできるかもしれません。 !? システムのインフラは当然のようにAWSです。テストのためのリソースが足りなければ増やせばいいじゃないですか。時間がかかるならば並列化すればいいじゃないですか。テストの時だけ増やせばいいんです。 ならば、総当たりでテストしよう という方針になりました。そして、ブログのネタ

    テストケースを動的に生成してJUnitで実行する | DevelopersIO
  • [Java] 今年流行るかもしれないDropwizardフレームワークを使ってみる | DevelopersIO

    Javaが動く環境だけあればOKなWebサービスフレームワーク また新しいJavaのフレームワークかよ!と思ったのですが、 実際に少し使ってみると、いままでにない(自分が知らなかった)タイプのフレームワークでした。 今回は、(一部で)今年大ブレイクが予想されているらしい、「Dropwizard」というフレームワークの紹介をします。 Dropwizardは元々YammerのバックエンドWebサービスを提供するために作られたフレームワークだそうです。 このフレームワークが持つ基的な機能は以下のとおりです。 組み込みWebサーバ(Jetty) JaxRSベースのRESTフレームワーク(Jersey) ORM Metricsを収集するためのライブラリや監視ツール 機能だけを見るとどこにでもあるようなフレームワークかと思いますが、 特徴的なのはこのフレームワークを使用したアプリのデプロイ方法です。

    [Java] 今年流行るかもしれないDropwizardフレームワークを使ってみる | DevelopersIO
  • 『トレジャーデータ、新サービス発表!〜進化したクラウドデータサービス〜』に参加してきた | DevelopersIO

    MobFoxの事例: 14日間で月間600億件のインプレッションを裁く 約200台のPHPアプリサーバを管理、PHPから排出されるログ管理システムを作っていたが、非常に運用が大変な状態に。 TDagentをデータセンターにインストール、2行書き換えるだけでTreasure Dataにアップするように対応可能。 溜まったデータを1時間毎にサマライズしてMySQLに送るように。それらを用いてダッシュボードに情報表示 データをアノニマイズして利用、重要な情報のみローカルで管理。 Vikiの事例: Korean Drama, Taiwanese Drama, Anime and Telenovelas free online with subtitles. - Viki Viki;最近楽天に買収された、オンラインビデオサービス。 データ解析用にHadppを持っていたが、どうやってデータを集めていい

    『トレジャーデータ、新サービス発表!〜進化したクラウドデータサービス〜』に参加してきた | DevelopersIO
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
    tarchan
    tarchan 2013/11/15
    >ユニットテストを実践するには十分なトレーニングが必要不可欠であり、コストも高いからです。
  • iOS 7 特集 | DevelopersIO

    [iOS][iBeacon] iOS 7.1 からアプリを起動していなくても領域観測できるようになったので、さまざまなバックグラウンド処理を試してみた

    iOS 7 特集 | DevelopersIO
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    tarchan
    tarchan 2013/09/18
    >ユニットテストを導入するならば、実装コストの2倍以上を見積もるべきです。
  • ブラックボックステストとホワイトボックステスト | DevelopersIO

    テスト分類のひとつにブラックボックステストとホワイトボックステストがあります。 ブラックボックステストとは、テスト対象の内部を意識せずに外部仕様のみからテストケースを構築していく手法です。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識せず、メソッドのAPI仕様からテストケースを作成することになります。 一方、ホワイトボックステストでは、テスト対象の内部を意識し、どのような構造であるかを踏まえたテストケースを構築します。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識し、分岐や繰り返しなどを考慮しつつテストケースを作成することになります。 さて、ユニットテストはブラックテストでしょうか? それともブラックボックステストでしょうか? 「JUnit実践入門」では次のように記述しました。 書で扱うユニットテストは、テスト対象の内部ロジックを考慮して行

    ブラックボックステストとホワイトボックステスト | DevelopersIO
  • [AWS] Amazon SNS の新機能「Mobile Push」を iOS で使ってみた | DevelopersIO

    Amazon SNS Mobile Push 以下の画像をご覧ください。キタコレ! がしかし、諏訪くんに先を超されてしまいしたw。こちらでは、Amazon SNSを使ってApple iOS端末にプッシュ通知したいと思います。Androidな方は以下の記事をご覧ください。 [AWS] Amazon SNS の新機能「Mobile Push」を Android で使ってみた Apple Push Notification Services(APNS) APNSは、Appleが管理するiOS端末宛のプッシュ通知サービスです。今まで、このプッシュ通知を使うためには、BaaSや自前での構築が必要でしたが、今回の新機能によってAWSがやってくれるんですね!記事では、Amazon SNSからMobile Pushを使ってAPNS経由でiOS端末に通知をすることができることをご紹介したいと思います。 プ

    [AWS] Amazon SNS の新機能「Mobile Push」を iOS で使ってみた | DevelopersIO
  • Vagrantって流行ってるらしいけど何が便利なの? | DevelopersIO

    最近、Vagrant(ベイグラント)を勉強し始めました。VagrantはVirtual Boxなどの仮想化ソフトウェアと一緒に使うツールです。 最初は何のために使うものなのかよくわからず、VagrantはVirtual Boxのフロントエンドだよ、 と言われても何が便利なのかいまいちピンと来なかったのでいろいろ調べてみました。 ※Vagrantはプロバイダ(仮想化ソフトウェア)を選択できるので、他にもVMwareやAmazon EC2で使うこともできます。 実現したいこと VagrantとVirtual Boxを使って何がしたいのかの一覧です。 実行環境を開発と番で揃えたい。 開発環境を構築する際に個人のローカル環境に依存しないようにしたい。 すぐに使える仮想環境を構築したい。 環境構築を自動化したい。 チームで同一の環境を簡単に構築したい。 1つずつ見ていきましょう。 Virtual

  • AppleのDev Centerが繋がらなくてお困りの方へ | DevelopersIO

    繋がらないと何もできないよ 先週の木曜日(2013年7月18日)、突如「We’ll be back soon」表記となりサイトのメンテナンスが開始されたまま一向に再会する気配のないAppleのiOS Dev Center及びMac Dev Center。 1週間たった今(2013年7月25日)も、再開される気配がありません。 つい先週金曜日に新しいMac Book Airが届き、環境を移行して開発をするぞと思っていた矢先のこのトラブルには、なにかの陰謀を感じます。 懐かしのiOS Dev Centerですね。iOS7のドキュメントやリソースを見るのにアクセスしたいものですが・・・ 事の顛末はハッキングなの?脆弱性が発覚したからなの? マイナビさんの「Apple開発者サイトのハッキング事件、その経過と最新情報を整理する」がまとまってて割と読みやすいですが、脆弱性を指摘したセキュリティ研究者と

    AppleのDev Centerが繋がらなくてお困りの方へ | DevelopersIO
    tarchan
    tarchan 2013/07/26
    >DC情報は一切入ってこないのでわからないのですよ(´・ω・`)
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • Twitter製フレームワーク「Flight」を試してみた! | DevelopersIO

    こんにちは。クラスメソッドの稲毛です。 前回のパッケージ管理ツール「Bower」インストールに続いて、いよいよ編となります「Flight」フレームワークです。 通常なら「Flightとは?」から始める所ですが、今回はどんどんサンプルを作っていくことで理解を深めてみました。 Flightのインストール まずはBowerを利用してFlightを構成するスクリプトファイルをインストールする必要がありますので、アプリケーションを作成する場所に下記の内容で「component.json」というファイルを用意します。 component.json { "name": "Flight Sample", "version": "1.0.0", "dependencies": { "flight": "~1.0.0" } } 用意できたらコマンドプロンプトを起動し、component.jsonがあるディレ

  • AWS SDK for Node.js を使い始める | DevelopersIO

    AWS SDK for Node.js(Developer Preview)出ました つい先日、AWSから公式node.js向けSDKが出ましたよー。早速使ってみよう!日で最初のコーディング記事かな? node.jsの基セットアップ Amazon Linux上にnode.jsの環境を作りましょう。まずは必要なライブラリのインストールから $ sudo su - $ yum install openssl-devel git make gcc gcc-c++ wget $ git clone git://github.com/ry/node.git $ cd node $ ./configure $ make $ make install パッケージマネージャとバージョンマネージャをインストール $ curl https://npmjs.org/install.sh | sudo sh

    AWS SDK for Node.js を使い始める | DevelopersIO
  • HTML5で追加されたinput要素のタイプはiPhone、Androidでどのくらい使えるのか | DevelopersIO

    HTML5でinputタグのタイブが追加されましたが、現行のiPhoneAndroidでどのくらい使えるのか調べてみました。 OSとブラウザに関しては以下の機種で調べています。 iPhone 5(iOS6)のSafari Galaxy S3(Android 4.04)のGoogle Chrome バージョン18 目次 テキスト入力 検索(search) 数値(number) 電話番号(tel) URL(url) メールアドレス(email) 日付・時間指定 時間(time) 日付(date) 日時(datetime) 日時(datetime-local) 週(week) 月(month) その他 範囲から指定(range) 色選択(color) テキスト入力 まずはテキスト入力系の属性を調べてみます。 見た目が変わったり、フォーカスインした際の入力モードが変わります。 検索(search

    HTML5で追加されたinput要素のタイプはiPhone、Androidでどのくらい使えるのか | DevelopersIO