タグ

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

  • C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに

    Sourcetrailは、開発者が他人の書いたソースコードを理解し、生産的にコーディングを行えるよう支援する。開発者は既存のソースコードを理解することに多大な時間を費やすが、一般的なコードエディタは、こういった作業にはほとんど役に立たない。 Sourcetrailの主要開発者であるEberhard Gräther氏は、「Google Chrome」のグラフィックスチームにインターンシップとして参加した2012年時点の経験を次のように語っている。 「割り当てられた単純に見えるタスクに着手し、具体的なコードの改善に取り組み始めるとすぐに、Chromiumの巨大なアーキテクチャを理解する機会が全くないことに気付いた。ドキュメントはあまり役に立たず、開発チームのメンバーは非常に友好的だったが、コードベースについて質問するインターンに邪魔されることを好まないことも分かった。そこで、ソースコードを読ん

    C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに
  • [Python入門]pathlib.Pathクラスによるパス操作

    pathlibモジュール Python 3.4で導入されたpathlibモジュールは、PythonでUNIXやWindowsのファイルやディレクトリ(のパス)を扱うためのものだ。UNIXとWindowsではパスの表記が異なることから(例えば、区切り文字、ドライブ文字の有無など)、pathlibモジュールではそれらを適切に扱えるような仕組みを用意している。 まず、pathlibモジュールでは「純粋パス」と「具象パス」を表すクラスを3つ定義している。

    [Python入門]pathlib.Pathクラスによるパス操作
  • AWS、人工衛星通信基地局サービスを提供開始、衛星との通信が時間課金で利用可能:世界12カ所に展開へ - @IT

    AWS、人工衛星通信基地局サービスを提供開始、衛星との通信が時間課金で利用可能:世界12カ所に展開へ Amazon Web Services(AWS)は2018年11月27日(米国時間)、米ラスベガスで開催中のAWS re:Invent 2018で、従量課金制の人工衛星基地局サービス「AWS Ground Station」のプレビュー提供を開始したと発表した。 Amazon Web Services(AWS)は2018年11月27日(米国時間)、米ラスベガスで開催中のAWS re:Invent 2018で、従量課金制の人工衛星基地局サービス「AWS Ground Station」のプレビュー提供を開始したと発表した。 同サービスでは、Lockheed Martinとの協力により、低コストの小型アンテナを複数台備えた衛星通信基地局を、世界12カ所に展開。その多くはAWSリージョンに近い場所に

    AWS、人工衛星通信基地局サービスを提供開始、衛星との通信が時間課金で利用可能:世界12カ所に展開へ - @IT
  • 機械学習/Deep Learningの仕事が増える2017年、ソフトウェアエンジニアがFPGAを学ぶべき理由

    ソフトウェアエンジニアFPGA(field-programmable gate array)を使うハードルがさらに下がってきている。クラウドサービスでFPGAを活用できたり、Pythonで記述したニューラルネットワークをFPGAに高位合成できる研究成果が出てきたりしているのだ。 ソフトウェア開発者の立場でFPGAに取り組むイベント「FPGAエクストリーム・コンピューティング」を主宰する佐藤一憲氏、FPGAの高位合成によるディープラーニングについて研究している東京工業大学の中原啓貴氏(中原研究室)、そしてFPGAベンダーであるザイリンクスの神保直弘氏が、急激に常識が変わりつつあるFPGAの動向を語り合った。 稿では座談会の中から、ソフトウェアエンジニアFPGAや高位合成が求められる現状、そして、今後どのようなツールを使うべきか、ソフトウェアエンジニアFPGAに取り組む際の課題などにつ

    機械学習/Deep Learningの仕事が増える2017年、ソフトウェアエンジニアがFPGAを学ぶべき理由
  • 「管理用テンプレート」を拡張してアプリケーションの設定をカスタマイズする

    「管理用テンプレート」を拡張してアプリケーションの設定をカスタマイズする:基礎から分かるグループポリシー再入門(19)(1/3 ページ) グループポリシーでは「管理用テンプレート」を追加することで、設定項目を拡張することができる。今回は、管理用テンプレートの追加で利用可能になるグループポリシーの設定項目を紹介する。 連載目次 管理用テンプレートによる設定項目の拡張方法 グループポリシーの設定項目には「管理用テンプレート」というカテゴリーが用意されており、この管理用テンプレートの項目はドメインコントローラー(以下、DC)の「C:\Windows\PolicyDefinitions」フォルダ(既定の場合)に配置されたファイルの内容が読み込まれて表示される。つまり、「PolicyDefinitions」フォルダに管理用テンプレートを配置すれば、グループポリシーの設定項目を拡張できることになる。

    「管理用テンプレート」を拡張してアプリケーションの設定をカスタマイズする
  • PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方

    PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方:新人インフラ技術者のためのサーバー構築/運用自動化入門(2)(1/5 ページ) サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。今回は、PXEとKickstartを使い、VirtualBox+CentOS環境を自動でインストールするためのサーバーの作り方について。

    PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方
  • ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方

    連載目次 日、Docker 1.0がリリースされました。開発元であるDocker社は公式ブログで、「エンタープライズでの活用に耐え得るものになった」と述べています。また、これと同時に企業向けサポートやトレーニング、コンサルティングも開始すると発表(参考:公式ブログ)。今後、企業での活用も増えることが予想されます。 1.0のリリースに合わせて、Dockerの名称変更がアナウンスされました。前回の「アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識」で概要、特徴や動作環境を説明したDocker体となるソフトウェアは、今後「Docker Engine」と呼ばれることになります。これにDocker社が提供するWebサービスである「Docker Hub」、APIを介して連携するサードパーティのソフトウェア/サービスによるエコシステムを含めたDockerによるプラットフォーム全体

    ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方
  • 高速・軽量・高機能……Nginxの基礎知識

    処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」。この連載では、その特徴と魅力を分かりやすく紹介します。 第3のWebサーバーとして注目を集めるNginx 1日に数億リクエストを処理するような大規模サイトを中心に、近年急速にシェアを拡大しているWebサーバーが「Nginx(エンジンエックス)」です。HTMLドキュメントや画像ファイルといった静的コンテンツを高速で配信し、消費メモリが少なく、リバースProxyやロードバランサーといった機能も有した注目の軽量Webサーバーです。ネットクラフト社の調査によると、2014年6月時点でApache HTTP、Microsoft IISに次ぐ第3位のシェアを獲得しています。 依然としてApache HTTPやMicrosoft IISのシェアは高いものの、Nginxの認知度は日に日に高くなって

    高速・軽量・高機能……Nginxの基礎知識
  • Bootstrapの使い方超入門 (1/4) - @IT

    話題のレスポンシブWebデザインも簡単にできる、CSSフレームワーク「Bootstrap」の概要と基的な使い方をサンプルとコードを交えて紹介します。 最近はやりのHTML5、JavaScriptライブラリ、CSS3、APIの紹介、またそれらを組み合わせたサンプルアプリケーションの紹介と解説を厳選して紹介、解説していく連載「HTML5アプリ作ろうぜ!」。今回紹介するフレームワークは「Bootstrap」です。 話題のレスポンシブWebデザインも簡単にできる、CSSフレームワーク「Bootstrap」とは 現在のWeb制作、開発では、ともにスピードが重視されています。「Bootstrap」を使用すると、既に用意されているスタイルを適用するだけで、格段に速く見栄えを整えられます。事実、Webシステムの管理画面などでBootstrapを使用するケースも増えてきました。 Bootstrapは最近

    Bootstrapの使い方超入門 (1/4) - @IT
  • 初心者のためのJavaラムダ式入門とJDKのインストール、IDEの環境構築

    2014年3月18日に一般公開予定のJava SE 8へのバージョンアップでは、新たな表記法として「ラムダ式」が追加されます。このラムダ式を使うことによって効果を発揮する数々のAPIも追加されることになり、今回のバージョンアップはJavaを使う人にとって無視できないバージョンアップとなります。 しかしラムダ式は今までJavaプログラミングをやってきた人でも前提知識なしにソースだけを見て理解するのは難しい内容となっています。この連載では、今までJavaの経験はあっても「ラムダ式は、まだ知らない」という人を対象にラムダ式について解説していきます。 JDK 8は2013年9月10日に開発者向けプレビュー版が公開され、2014年2月18日現在、Early Access版がリリースされています。 コラム「ややこしいJavaのバージョン番号」 Javaのバージョン番号について、ところどころで1.8のよ

    初心者のためのJavaラムダ式入門とJDKのインストール、IDEの環境構築
  • WebSocket、組み込み、並列処理で進化するJava、そして最強のIDEはどれだ?

    WebSocket、組み込み、並列処理で進化するJava、そして最強のIDEはどれだ?:Java Day Tokyo 2013まとめレポート(2)(1/5 ページ) Java EEにおけるWebSocket、並列処理の過去・現在・未来、Raspberry Piとの連携、Eclipse、NetBeans、IntelliJ IDEAの中から最強のIDEを決める座談会、ミニ四駆の発表もあったLT大会などの模様をお届け。 日オラクルは5月14日、「Java Day Tokyo 2013」を開催した。Java EEの最新バージョンリリースを間近に控える中、JavaFXやRaspberry Pi、さらには来年リリース予定のJava SE 8など内容は多岐に渡った。 Java Day Tokyoは、その名の通りJavaが中心となったカンファレンス。Java開発者向けのイベントとして伝統ある「JavaO

    WebSocket、組み込み、並列処理で進化するJava、そして最強のIDEはどれだ?
  • 「JSON文字列へのインジェクション」と「パラメータの追加」

    「JSON文字列へのインジェクション」と「パラメータの追加」:NoSQLを使うなら知っておきたいセキュリティの話(2)(1/2 ページ) MongoDBを用いたWebアプリケーションで生じる可能性がある4種類の脆弱性のうち、今回は「JSON文字列へのインジェクション」と「パラメータの追加」のメカニズムと対策について説明します。 前回の「『演算子のインジェクション』と『SSJI』」では、MongoDBを用いたWebアプリケーションで生じうる脆弱性のうち「演算子のインジェクション」と「SSJI」について、攻撃の実例と対策について解説しました。今回はさらに、「JSON文字列へのインジェクション」と「パラメータの追加」について説明します。 JSON文字列へのインジェクション これまで見てきたように、PHP言語においては連想配列を指定してデータの登録処理や検索処理を実行できます。しかし型の扱いが厳格

    「JSON文字列へのインジェクション」と「パラメータの追加」
  • GitHubが実践するオープンソース式マネジメント法

    GitHubのミッションは、「1人で作業するよりも複数の人とコラボレーションしながら作業した方がいい。人のために、技術者のためにステキな環境を作ること」だ。GitHubは、2008年4月に「コラボレーションできる環境を作りたい」という夢を持った3人の想いが集まり始まったプロジェクトである。それから約5年経った現在では、300万人のユーザー数と500万のリポジトリが登録されている。 GitHubのはじまり 創業者の1人、ピージェー氏がプログラミングを始めたのは14歳のときである。ピージェー氏の父がパソコンを買ったことがきっかけで、「自分でいろんなものを作ってみたい」と好奇心が生まれたそうだ。 共同創業者のクリス・ワンストラス(Chris Wanstrath)氏と出会ったのは、「CNET Networks」で働いていたときであった。ピージェー氏とクリス氏は当時、Rubyを使ったプロジェクトやバ

    GitHubが実践するオープンソース式マネジメント法
  • natテーブルを利用したLinuxルータの作成

    natテーブルを利用したLinuxルータの作成:習うより慣れろ! iptablesテンプレート集(2)(1/6 ページ) PCはネットワークインターフェイスの増設が容易なため、市販のブロードバンドルータの代わりにPCLinuxをルータにするケースもあります。そこで、Linuxホストをルータとして使用する際に必要な設定を紹介します。ブロードバンドルータの重要な機能であるNATをLinuxで実現するのもiptablesの機能の1つです。 natテーブルによるNATの実現 NAT(Network Address Translation)は、パケット中のIPアドレスを書き換える技術です。ソース側を書き換える場合を「SNAT」、ディスティネーション側を書き換える場合を「DNAT」と呼びます。「1つのグローバルアドレスを複数のプライベートアドレスで同時に共有する」こともNATと呼ぶことがありますが、

    natテーブルを利用したLinuxルータの作成
  • 【図解】Xcode 4.5の使い方リファレンス超まとめ

    【図解】Xcode 4.5の使い方リファレンス超まとめ:iOS SDKで始めるObjective-C入門(3)(1/3 ページ) Windowsを使っていたけど、iOSアプリを作るためにMacを使い始めた初心者を対象に、開発ツールXcode/iOS SDKを使ってiPhoneiPadアプリを作る方法を、プログラミング言語「Objective-C」の書き方/文法を交えて解説。今回は、iPhoneiPadアプリ開発に必要なiOS SDKの概要や標準開発ツール「Xcode」の画面構成を紹介。iOS SDKはInterface BuilderやInstrumentsなど便利なツールを備えています

    【図解】Xcode 4.5の使い方リファレンス超まとめ
  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • 少ない手間と知識でそれなりに見せる、ズルいデザインテクニック

    少ない手間と知識でそれなりに見せる、ズルいデザインテクニック:ズルいデザイン(1)(1/2 ページ) デザインが自分でイイ感じに作れたらいいなあというプログラマのみなさん。少ない手間で簡単に、ちょっといい感じのデザインに見せるための、ちょっとした小ズルいTipsを紹介します Webプログラマ、Webエンジニアの皆さんが、個人で作るWebサービスやハッカソンなどで、短期間に集中してサービス開発してローンチしたいときに、もうちょっと自分でイイ感じにデザインできるといいなあという声をよく聞きます。 この企画は、そんなプログラマが、少ない手間で簡単に、ちょっといい感じのデザインに見せるための、ちょっとした小ズルいTipsを紹介します。 (注)このページでは、個々のデザイン要素を分かりやすく説明するために、実寸サイズより画像を拡大して使用しています。 ズルいデザインはSassとCompassを利用し

    少ない手間と知識でそれなりに見せる、ズルいデザインテクニック
  • 「使う」から「公開する」へ

    この連載では、オープンソースソフトウェア(OSS)を使うだけでなく、自ら公開することのメリットを紹介し、1人でも多くのエンジニアの方がOSS界へデビューしていただけるよう支援します。レッツ、OSS! はじめに――オープンソースソフトウェアは「使う」だけ? 今では考えにくいことですが、かつてオープンソースソフトウェア(以下OSS)は、「無料で公開されているソフトウェアにはどんなウイルスが紛れ込んでいるか分からない」「障害発生時に責任を担保できない」といった考えから、利用を敬遠する企業が少なくありませんでした。 しかし今では毎日のように、大規模なOSS利用事例や新しいOSS製品がニュースをにぎわせています。OSSは情報系/基幹系、B2B/B2Cを問わず、システムに欠かせないものとなりました。これは、OSSの進化やバグフィックスの早さ、コードが多くの目にさらされておりセキュアであること、コスト削

    「使う」から「公開する」へ
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • 開発者が知っておくべき、ドキュメント・データベースの基礎

    開発者が知っておくべき、ドキュメント・データベースの基礎:特集:MongoDBで理解する「ドキュメント・データベース」の世界(前編)(1/3 ページ) ドキュメント・データベースの最大の特長は、「パフォーマンス、大量データ、スケーラブルといった課題を克服するためのシンプルなセットを提供している」という点だ。 もちろん既存の多くのリレーショナル・データベース(以下、RDB)でも、ドキュメント・データベースが備えている特徴的な各機能に類似することが実現可能だし、さらに広範な概念や機能性を提供している。例えばシャーディング(Sharding。詳細後述)についても、既存の多くのRDBでデータの分散化が可能だ。しかしドキュメント・データベースでは、「そもそもデータ構造がこうした構成に適している」という点と、「それに付随して、考え方もシンプルである」という点が優位な特徴である。 万人が、データベースが

    開発者が知っておくべき、ドキュメント・データベースの基礎