タグ

ブックマーク / atmarkit.itmedia.co.jp (157)

  • 「誘導質問術」の恐怖――あなたにもある“六つの脆弱性”

    人間にまつわるセキュリティを考える連載。第3回のテーマは「誘導質問術」です。ソーシャルエンジニアリングの一種であり、「振り込め詐欺」のような犯罪にも悪用されるこの技術に、人はどうして引っ掛かってしまうのでしょうか。「人間の脆弱性」について考えます。 連載目次 1件の電話が引き起こした殺人事件 2015年に大きな話題となった日年金機構の大量情報漏えい事件では、マルウェアを添付した「標的型メール攻撃」が行われました。この攻撃は、“それらしい”添付ファイルを思わず開いてしまうという人間の心理的な隙を突き、対象のPCをマルウェアに感染させることで情報窃取を行うものでした。しかし、メールもマルウェアもなしに、“電話一で”個人情報が漏えいしてしまうケースもあるのをご存じでしょうか。 2012年、神奈川県逗子市で1件のストーカー殺人事件が発生しました。この事件では、ある調査会社の人間が、“電話”を

    「誘導質問術」の恐怖――あなたにもある“六つの脆弱性”
  • なんでも自動化する凄腕エンジニアが残したおバカシェルまとめ

    「職場の小さなことをなんでも自動化していた“当にターミナルに住んでいるようなヤツ”と評されるエンジニアの話が、ロシア掲示板から英訳され、話題になっている」と、サイボウズ・ラボの秋元裕樹氏がブログで日語で紹介し、日でも話題になっています。 そのエンジニアは訳あって転職しましたが、「文字通りターミナルに住んでいるようで、90秒以上時間が掛かるものはスクリプトで自動化してしまう人」だったそうです。その「遺産」が残っていました。 smack-my-bixxx-up.sh(夜9時以降に活動していたら、「遅くなる」などの理由を定義した文字列からランダムに選び、SMSで奧さんへ送る) kumar-xxxhole.rb(顧客からのメールをスキャンし、不具合対処依頼メールが来たら客の運用サーバを直近のバックアップに巻き戻す。そして「大丈夫だ。次は気を付けてくれ」と返事する) hangover.sh(

    なんでも自動化する凄腕エンジニアが残したおバカシェルまとめ
  • 売れるECシステム開発、失敗しない3つの要件

    売れるECシステム開発、失敗しない3つの要件:「コンバージョン率改善」×「在庫の見せ方」=「衝動買い」(1)(1/3 ページ) ネットショップ(ECサイト)を運営および改善提案されている方に向けて「コンバージョン率改善」と「在庫の見せ方」によって「衝動買い」に導く方法を解説する連載。初回は、この連載の概要や今後の内容を説明し、システム構築において「サービス担当」と「システム担当」の相互理解がシステムの良しあしを決めることについて解説します。 ECサイトでの成功がビジネス成功の重要な鍵 ネットショップ(ECサイト)が私たちの生活の一部となってから約10年、その勢いはとどまることを知りません。その要因として、ペーパーレス形式の決済代行サービスを開発した「ウェルネット」をはじめ、EC-CUBEなど数多くのECパッケージに対応している「ペイジェント」や代引決済など数多くの決済方法に対応している「G

    売れるECシステム開発、失敗しない3つの要件
  • DRBD(Distributed Replicated Block Device)とは何か

    DRBD(Distributed Replicated Block Device)とは何か:DRBDの仕組みを学ぶ(1)(1/2 ページ) 障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 連載では、DRBDの動作や使いどころを順を追って紹介していきます。 連載バックナンバー 2015年6月、約8年ぶりに「DRBD」のメジャーバージョンアップ版となる「DRBD9」がリリースされました。DRBDは、リアルタイムでデータをレプリケート(複製)するソフトウエアです。 最新版であるDRBD9では、多ノード(最大31台)レプリケーション対応、実質無制限のデータサイズサポート、ストレージ性能を活用したさらなる高速化などの新機能が盛り込まれています。 連載第一回となる今回は、DRBD9の詳細を解説

    DRBD(Distributed Replicated Block Device)とは何か
  • JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで

    JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで:15周年記念特別企画 @ITが誕生した2000年頃はJavaScriptが不遇だった時代。そこから現在のような人気のプログラミング言語になるまでには、どのような歴史があったのか。15周年を迎えた@ITの豊富なWeb開発関連記事とともに振り返る。 2015年6月17日に、JavaScriptの最新標準仕様となる、ECMAScript 6(ES6、ECMAScript 2015)が正式に承認されました(参考)。1997年にECMAScriptのバージョン1がリリースされてから6度目のアップデートとなり、これまでの中で一番大きな変更が加えられたことになります。 稿では、ECMAScript 6が正式に承認されたということもあり、2000年頃の第一次ブラウザー戦争

    JavaScriptを中心としたWebアプリ開発の栄枯盛衰まとめ――LiveScriptからAngularJS/React.jsまで
  • 無線LANにまつわるセキュリティの課題を再確認しよう

    これから技術を学ぶ新人エンジニアの皆さまへ――私と一緒に、もう一度サイバーセキュリティの基礎を学んでいきませんか? 知ってるつもりの知識を再度見直す新連載のスタートです。 皆さん、こんにちは、久山真宏と申します。 今回から始まる連載「サイバーセキュリティ・ピックアップ」では、私が気になった技術を学んでいく過程で調べたことを、誰もが分かるようにまとめたものを記事として公開していきます。おそらく、新人エンジニアはいろいろなことを調べ、自分の知識にしていかなくてはなりませんし、ある程度シニアになったエンジニアですら、間違って覚えてしまっている基礎知識があるかもしれません。そこで、私と一緒にもう一度、基礎から見直してみるのはいかがでしょうか。 検索エンジンにキーワードを入れただけでは出てこないようなものや、よく勘違いして覚えているようなことを、この記事で紹介できればと思っています。第1回は皆さんも

    無線LANにまつわるセキュリティの課題を再確認しよう
  • GitやDockerと連携するPuppet運用テクニック、filebucketによる自動バックアップ、GUIのPuppet Dashboard

    GitDockerと連携するPuppet運用テクニック、filebucketによる自動バックアップ、GUIのPuppet Dashboard:新人インフラ技術者のためのサーバー構築/運用自動化入門(終)(1/2 ページ) サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。今回は、filebucketによる自動バックアップやGitDockerと連携する運用テクニック、GUIのPuppet Dashboardなどを紹介する。

    GitやDockerと連携するPuppet運用テクニック、filebucketによる自動バックアップ、GUIのPuppet Dashboard
  • Knife-ZeroでCookbookの作成/実行/削除&git cloneコマンドでCookbookの取得

    Knife-ZeroでCookbookの作成/実行/削除&git cloneコマンドでCookbookの取得:サーバー管理者のためのChef超入門(2)(1/2 ページ) エンタープライズ向け機能が充実してきたChefを使って高速かつ精度の高いサーバーインフラを構築/管理する方法について解説する連載。今回はKnife-ZeroでCookbookを操作する方法やgit cloneコマンドでCookbookを取得する方法、Gitを使う利点などについて解説します。

    Knife-ZeroでCookbookの作成/実行/削除&git cloneコマンドでCookbookの取得
  • Node.jsのMVCフレームワーク「Express」の基礎知識とインストール

    連載目次 前回の「いまさら聞けないNode.jsの基礎知識とnpmGulpのインストール」において、サーバーサイドJavaScript実行環境であるNode.jsについて基的な説明を行いました。また、その周辺ツールであるnpmGulpを含めた環境のセッティングも行い、Node.jsを用いてMEANスタックアプリ開発ができる状態になったと思います。 記事では上記環境を用いて説明していくので、実際にサンプルを動かしたい場合には前回の記事を読んで環境を作成しておきましょう。 今回はサーバー側のMVCフレームワーク、「Express」について解説します。 MVCフレーワーク「Express」とは 「Express」とは、Node.js上で動作するWebアプリのフレームワークです。 Webアプリを構成する上で必要な機能がそろっており、ルーティングやビューヘルパー、セッション管理の機能もデフォ

    Node.jsのMVCフレームワーク「Express」の基礎知識とインストール
  • 運用自動化、ここだけは押さえておきたい4つのポイント

    運用自動化、ここだけは押さえておきたい4つのポイント:特集:運用自動化ツールで実現する、クラウド時代の運用スタイル(6)(1/2 ページ) 運用自動化が求められる背景から実現法、ツールの選び方、適用法まで、全方位的に解説してきた特集。今回はこれまでの記事を基に、実現のポイントをシンプルに振り返る。 運用自動化の実現に当たり、何を目指し、何に留意すべきなのか? テクノロジの進展を受けて、ビジネスとITの距離は年々縮小し、ITのパフォーマンスがビジネスのパフォーマンスを左右する時代になっている。こうした中、市場環境変化が速い中でも着実にビジネス機会を獲得するために、「速くシステムを開発し、迅速にリリースし、エンドユーザーの反応を見て改善/廃棄する」といった一連のフィードバックサイクルをスピーディに回すアプローチが重視されている。 これはSoE(System of Engagement)と呼ば

    運用自動化、ここだけは押さえておきたい4つのポイント
  • アプリは、どうやって動くの? プログラムって何?――初めてiPhoneアプリを作る人向け基礎知識まとめ

    普段何気なく、いろいろなアプリを使っているときに、ふと「このアプリのここが使いづらいな。何でこうなんだろ?」「このアプリ、ここがもっとこうなっていたらなぁ」と思うこともあるでしょう。そうすると、次にこう思う人もいるはずです。「自分だったら、ここをこうするのに。何でこんなふうに作ったのかな?」「あれ? そもそもアプリってどうやって動いているんだろう?」 連載について 連載では、「アプリが動く仕組みを知りたい」「自分の思い通りにアプリを作りたい」という人に向けて、アプリを作るのに必要な「プログラミング」や「画面の作り方」といった知識を基礎から解説します。連載の最後には、1つのアプリが作れるようになっていることでしょう。 今までは、「アプリを作る」ことは、かなり難しくハードルが高いものでした。しかし最近では作るための環境が発展し、コンピューターをあまり詳しく知らない人でも気軽にアプリが作れ

    アプリは、どうやって動くの? プログラムって何?――初めてiPhoneアプリを作る人向け基礎知識まとめ
  • エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール

    エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール:サーバー管理者のためのChef超入門(1)(1/2 ページ) エンタープライズ向け機能が充実してきたChefを使って高速かつ精度の高いサーバーインフラを構築/管理する方法について解説する連載。初回は、Chef 12、Chef Solo、Chef Server、Chef-Zero、Knife-Solo、Knife-Zeroの概要と、Chef-ZeroをKnife-Zero経由で利用するCookbook開発環境の構築について解説します。

    エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール
  • サンプル例に見る機能仕様書の基本的な書き方&読みやすくする7つのテクニック (1/3):プロジェクト成功確率向上の近道とは?(2) - @IT

    サンプル例に見る機能仕様書の基的な書き方&読みやすくする7つのテクニック:プロジェクト成功確率向上の近道とは?(2)(1/3 ページ) ITシステム開発の問題点の一つであるコミュニケーションの失敗。連載では、これを防ぐ方法としてお勧めしたい3つのドキュメントを紹介していく。今回は、Joelの機能仕様書を日人向けにカスタマイズされたものを例に、機能仕様書の基的な書き方、読みやすくする7つのテクニック、仕様書作成ツールは何を使うべきか、誰が書くべきかなども解説します。 連載目次 連載の第1回の前回「ドキュメントは最強のコミュニケーションツールである――Joelの機能仕様書入門」では、ITシステム開発がビジネスに貢献していくためには、まずは開発の成功が出発点になること、そしてITシステム開発におけるコミュニケーションの重要性、そしてコミュニケーションにおけるドキュメントの重要性について説

    サンプル例に見る機能仕様書の基本的な書き方&読みやすくする7つのテクニック (1/3):プロジェクト成功確率向上の近道とは?(2) - @IT
  • デザインネタをWebで探す人が知っておきたい、日ごろのネタ収集と活用を効率化する4つのアプリ

    デザインネタをWebで探す人が知っておきたい、日ごろのネタ収集と活用を効率化する4つのアプリ:スマホカメラとタッチで変わる制作現場(1)(1/3 ページ) Creative Cloudのスマホ向けアプリAdobe Shape/Brush/Colorを使って、それぞれ形状、ブラシ、色の組み合わせをデザインの素材として日ごろから収集しておくと、アイデアを形にしてWebデザインなどに生かすのが効率的になる。その実例を紹介しながら、日ごろのデザインネタ収集の方法がどのように変わるのかを紹介しよう。 連載目次 Creative CloudとスマートフォンでWebデザインのワークスタイルはどう変わるのか Webデザインや制作をしている方は、普段のネタ収集はどのようにやっているのだろうか? 例えば、Webや図書館映画を見にいくなどさまざまな方法があると思うが、それらのネタをデザインに落とし込む作業はど

    デザインネタをWebで探す人が知っておきたい、日ごろのネタ収集と活用を効率化する4つのアプリ
  • ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編)

    ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編):その知識、ホントに正しい? Windowsにまつわる都市伝説(23) Windowsのファイル共有サービスの主要プロトコルである「SMB」と「CIFS」の二つの用語は、さまざまな使われ方をされてきました。CIFSという用語が使われ始めた1990年代後半と、SMB 2.x/3.xがある現在では、これらの用語の解釈が変わっていることにご注意ください。 連載目次 最新のWindowsはSMB 1.0/CIFSのサポートを削除できる 「SMB(Server Message Block)」は、Windowsネットワークにおける標準のファイル共有プロトコルです。SMBの歴史は長く、Windowsにネットワーク機能が標準搭載される前から存在し、さまざまなバージョンがあります。 Windows XPおよびWindows S

    ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編)
  • 難しいが強力! Rubyのメタプログラミング、self、特異クラス/メソッド、オープンクラスとモンキーパッチ

    難しいが強力! Rubyのメタプログラミング、self、特異クラス/メソッド、オープンクラスとモンキーパッチ:若手エンジニア/初心者のためのRuby 2.1入門(12)(1/4 ページ) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの「黒魔術」といわれるメタプログラミングの概要、self、特異メソッド、特異クラス、オープンクラス、モンキーパッチなどの使い方をコード例を交えて解説します。

    難しいが強力! Rubyのメタプログラミング、self、特異クラス/メソッド、オープンクラスとモンキーパッチ
  • なぜ速く作る必要があるのか? 何のために開発するのか?―アジャイル、DevOpsをサービス観点で今あらためて問い直す

    なぜ速く作る必要があるのか? 何のために開発するのか?―アジャイル、DevOpsをサービス観点で今あらためて問い直す:特集:DevOpsで変わる情シスの未来(8)(1/2 ページ) 2013年までの盛り上がりから一転、国内ではほとんど聞かれなくなった言葉「DevOps」。だがその概念の重要性は、多くの企業に着実に浸透しつつある。「IT=サービス」という観点から、今あらためてDevOpsの意義とポイントを問い直す。 「DevOps」は、やっぱりバズワードだったのか? 年々激しさを増す市場環境変化を受けて、ビジネスを支えるシステム開発・運用にも一層のスピードと柔軟性が求められている。そうした中、2012年から2013年にかけて、「開発と運用が連携してスピーディにシステムを開発、継続的に改善を重ねる」という概念「DevOps」が大きな注目を集めた。 だが周知の通り、昨今はこの言葉を目にする機会が

    なぜ速く作る必要があるのか? 何のために開発するのか?―アジャイル、DevOpsをサービス観点で今あらためて問い直す
  • HubotとZabbixを連携すればワンオペ監視でも寂しくない

    連載目次 連載第1回の「GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基的な使い方」では、GitHub社が開発しているBotフレームワーク「Hubot」の概要、Hubotとチャットとの連携方法、Hubotの基的な使い方を紹介しました。 前々回の「Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選」、前回の「HubotとJenkins、GitBucketを連携してCIをチャット上で効率化するには」と同じく、今回も、サンプルアプリケーションに対して修正を行うシーンを例に、Hubotと各ツールがどう連携するかを解説します。 今回は、デプロイしたサンプルアプリケーションおよびサーバーをOSSの統合監視ツールである「Zabbix」で監視し、Hubotと連携して、チャットに情報を集約させます。 利用したソフトウェアとバージョ

    HubotとZabbixを連携すればワンオペ監視でも寂しくない
  • プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは

    連載目次 プッシュ通知とは? なぜ開発者はアプリにプッシュ通知機能を搭載するのか スマートデバイスにおける「プッシュ通知」はアプリにとって欠かせない機能の一つであり、メールマガジンと同様に重要な集客ツールです(図1)。スマートフォンをお使いの方でしたら、一度はプッシュ通知を受け取ったことがあるのではないでしょうか。 プッシュ通知はユーザーがスマートデバイスを起動していなくても通知を送ることができる仕組みであり、以下の特徴があります。 開くと直接アプリを起動するためアクションにつながりやすい アプリをインストールしているユーザーのみに届くため開封率が高い 上記のような特徴から、プッシュ通知は以下の用途で使うことが多くなります。 リアルタイムな情報配信 直接アプリ起動につながるため、ニュースなどリアルタイム性の高い情報の配信に向く ユーザーのアクティブ率向上 開封率が高いため、定期的にアプリを

    プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは
  • HubotとJenkins、GitBucketを連携してCIをチャット上で効率化するには

    連載目次 連載第1回の「GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基的な使い方」では、GitHub社が開発しているBotフレームワーク「Hubot」の概要、Hubotとチャットとの連携方法、Hubotの基的な使い方を紹介しました。 前回の「Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選」と同じく、今回も、サンプルアプリケーションに対して修正を行うシーンを例に、Hubotと各ツールがどう連携するかを解説します。 ソースコードはGitHubそっくりなUIと機能を提供している「GitBucket」(Scala製)で管理し、ビルドやデプロイはCI(継続的インテグレーション)ツール「Jenkins」で行います。 利用したソフトウェアとバージョンは以下の通りです。 Hubot 2.4.7 Kandan 1.2 Git

    HubotとJenkins、GitBucketを連携してCIをチャット上で効率化するには