タグ

ブックマーク / codezine.jp (31)

  • ソフトウェア署名をクラウドで実現し、CI/CDパイプラインをセキュアに構築する方法とは?

    証明書新基準は、開発現場においてさまざまな影響を与えている 続いて中村氏は、そのコードサイニング証明書をローカルの環境、あるいはリモートのビルドアンドデプロイ環境に直接配置し、従来型のコード署名を行う方法が、ソフトウェアベンダーにとってリスクを引き起こす理由について説明した。コードに署名する理由は3つ。1つはマルウェアの拡散を防ぐため。2つ目は、ソフトウェアが会社を代表するものとして、その身元を確認し、コンプライアンスを維持するためだ。そして3つ目はセキュリティ警告を回避するためだ。しかしながら、コード署名の管理は難しく、これが脆弱性を生み、サイバー犯罪者がこれを突く方法を探し始めていると言われている。 署名キーは盗難に対して脆弱だ。ユーザー間で共有されていたり、あるいは安全でないストレージに保管されていたりすると、盗まれやすくなる。すべてのアプリケーションを同じキーで署名する運用をしてい

    ソフトウェア署名をクラウドで実現し、CI/CDパイプラインをセキュアに構築する方法とは?
  • データベース内で機械学習!? なぜ求められるのか、そしてどのように実装されるのか

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    データベース内で機械学習!? なぜ求められるのか、そしてどのように実装されるのか
    makun2
    makun2 2023/11/02
    データベース内で機械学習
  • 新用語「ASPM」とは? ソフトウェア品質を高めるためのセキュリティ最新動向を解説!

    ガートナーの予測で「2026年までに、自社でアプリケーションを開発している組織の40%以上がアプリケーションのセキュリティ問題をより迅速に解決するためにASPMを採用する」というものがある。これはソフトウェアの品質をいかに効率良く確保していくかという問題でもある。ASPMが生まれた背景にあるアプリケーション開発におけるセキュリティに関連する課題について、日シノプシス合同会社 ソフトウェアインテグリティグループ 松岡正人氏に訊いた。 今回お話を伺った、日シノプシス合同会社の松岡 正人氏 成果が見えづらいソフトウェアの安全性向上、しかしそうは言っていられない現状も 概して、ソフトウェアの安全性向上というと、起こるか分からないリスクを未然に防ぐ、あるいは被害を最小限にするためのものだ。かけた工数やコストが成果や売上に直結するものではないので、なかなか積極的に進めにくい。 一方で、ソフトウェア

    新用語「ASPM」とは? ソフトウェア品質を高めるためのセキュリティ最新動向を解説!
  • ドラッグ&ドロップで簡単にファイルが選択できる「react-dropzone」を解説

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    ドラッグ&ドロップで簡単にファイルが選択できる「react-dropzone」を解説
  • 【新刊紹介】『速習 React 第2版』発売、最新のReact 18やReact Hooksに対応

    書は、Reactの基について、10のPartに分けてサンプルコードとともに詳しく解説しています。Create React Apps環境をベースに、コンポーネントの基から、Props/Stateによるデータの受け渡し、React RouterによるSPA開発、React Testing Libraryによる自動テストまでを学べます。 書掲載のサンプルは、サポートページからダウンロード可能です。どんどん動かして試してみてください。 担当編集者からのコメント 「「速習」シリーズ」は、WINGSプロジェクトが進めるAmazon Kindle電子書籍のシリーズ。気になる技術をサクッと短時間で学ぶ、「時間もお金も低コストに」をコンセプトとしています。 おかげさまで、隙間時間に基を学習するのにちょうど良い、といずれもご好評いただいており、今回はシリーズとして21冊目になります。 その書「速習

    【新刊紹介】『速習 React 第2版』発売、最新のReact 18やReact Hooksに対応
  • Laravelのエラーハンドラを理解しよう

    連載ではPHPフレームワークのひとつであるLaravelを紹介していきます。Laravelは、「Web職人のためのフレームワーク」というキャッチコピーのもと、ここ数年で人気がうなぎ上りのフレームワークです。連載を通して、その人気の秘密を味わっていただこうと思います。第6回である前回は、サービスコンテナとサービスプロバイダを紹介しました。今回は、Laravelのエラーハンドラを紹介します。 Laravelでのエラーの扱いとエラーページ アプリケーションにはエラーや例外はつきものです。このエラーや例外をLaravelがどのように扱っているのか、を見ていきましょう。 すべてのエラーや例外はLaravelがキャッチ エラーや例外というのは、開発途中では頻繁に発生し、それを修正することで、アプリケーションを完成へと近づけていきます。ところが、完成された状態のアプリケーションでも、エラーは発生し得ま

    Laravelのエラーハンドラを理解しよう
    makun2
    makun2 2023/01/13
    エラーハンドラ
  • CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン
  • Hough変換による画像からの直線や円の検出

    はじめに Hough変換は、画像から直線や円を検出する技法として知られています。通常の直交座標上の画像を、極座標の二次元空間(直線検出の場合)に変換したり、三次元の空間(円検出の場合)に変換したりして、そこで最も頻度の高い位置を求め、それを逆変換して、直線や円を検出します。 Hough変換は数学的に興味深く、プログラムの対象として面白いため、多くの論文が見られますが、実用化には多くの問題点もあります。 ここでは最初に、一般的なHough変換の基プログラムを紹介し、次に交通標識認識への応用に特化したプログラムについて述べます。 基図形認識版アプレットを見る 交通標識認識版アプレットを見る 対象読者 画像から直線や円を検出する方法に興味を持ち、その一つであるHough変換の仕組みを学びたい人。 必要な環境 J2SE 5.0を使っていますが、J2SE 1.4.2でも大丈夫です。円のためのHo

    Hough変換による画像からの直線や円の検出
  • PHPUnitでできる単体テスト

    はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 記事では、連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

    PHPUnitでできる単体テスト
  • 格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する

    はじめに Virtual Private Server(VPS)とは、一台のサーバー上で仮想サーバーを何台も起動させることで、個々のユーザーに対して管理者権限を付与し、専用サーバーのような環境を提供するサービスのことをいいます。VPSのユーザーはサーバーのリソースを自由に使用でき、CGI実行環境のカスタマイズや大規模データベースの利用などが可能です。 ServersMan@VPSは、そのVPSを格安で提供するサービスの一つ。例えば、ServersMan@VPSの「Entryプラン」では、HDD容量10GB、メモリー容量256MBのVPSが、初期費用無料、月額490円で利用できます。 また、料金の安さだけではありません。申し込んでからすぐ利用できる、VPS環境を簡単にリセットできる、マニュアルや管理ツールが充実しているというメリットもありますので、試験的な開発や個人的な開発でサーバーのチュー

    格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する
  • Groovyってどんな言語? JavaプログラマのためのGroovy入門

    Ruby on Railsの登場以後、さまざまな言語でRailsタイプのフレームワークが普及する中、Javaは一人取り残されていました。そこでJavaプログラマ向けに登場したのが、GroovyによるRailsライクなフレームワーク「Grails」です。Groovyは、Javaではありませんが、Javaプログラマなら、ほとんどJavaと同じ感覚でスクリプトを書くことができます。第1回目はまず、Javaプログラマのために「Groovyとはどんなものか」について、ごくかいつまんで説明します。 はじめに Ruby on RailsRails)が登場して以後、さまざまな言語でRailsタイプのフレームワークが登場し使われるようになりました。そんな中、一人ぽつねんと置き去りになっていたのが「Java」でした。Javaの世界では、既にStrutsというデファクトスタンダードとなるフレームワークがありま

    Groovyってどんな言語? JavaプログラマのためのGroovy入門
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
  • PHPアプリケーションからGoogle Calendarを利用しよう(前編)

    連載では、PHP上で動作するアプリケーションフレームワーク「Zend Framework」と、Googleの提供するサービスを扱うための関数の集合体である「Google Data API」との連携について紹介します。今回はGoogle Calendarを利用して簡単な会議室予約システムを作成してみましょう。前回のYouTube検索と違い、Google Dataのクライアント認証が必要となります。 はじめに 連載では、PHP上で動作するアプリケーションフレームワーク「Zend Framework」と、Googleの提供するサービスを扱うための関数の集合体である「Google Data API」との連携について紹介します。Zend FrameworkのZend_Gdataというパッケージを使用することでGoogleカレンダーなどを利用したアプリケーションを開発することができます。 今回はG

    PHPアプリケーションからGoogle Calendarを利用しよう(前編)
  • jQuery入門(その1)(1/7):CodeZine

    はじめに 実を言うと、私はずっとJavaScriptを嫌っていました。JavaScriptのコードを書くのが嫌でしたし、いろいろなブラウザに対応するために大量のスクリプトコードを使わなければならないのも嫌でした。そうした点は今でも変わらないのですが、最近になってJavaScriptへの理解が深まったことと、jQueryという小さなJavaScriptクライアントライブラリのおかげで、クライアント中心のAJAXスクリプトコードを書かなければならないときでも恐怖を抱かなくなりました。それどころか、今では喜んで引き受けるほどになっています。クライアントロジックがもっと複雑になり、ブラウザの機能や実装の多様化がさらに進んだとしても、jQueryをはじめとするクライアントライブラリが、JavaScriptHTML DOMを扱う際に必要な正規化を提供してくれます。 私はJavaScriptの初心者と

    jQuery入門(その1)(1/7):CodeZine
  • jQueryを使ってAJAX/JavaScript開発を単純化する

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    jQueryを使ってAJAX/JavaScript開発を単純化する
  • 記事:CodeZine(コードジン)

    VB.NETWindows VB.NETで仮想CPUを作ろう (9) - INC命令&DEC命令の実装と命令長 インドリ [著] 稿では、VB.NETを利用し、簡単な機械語で動く仮想CPUを作ることでバイナリプログラミングを満喫します。実際の業務で直接使えるケースは少ないと思いますが、デバッグやプログラミングの地力向上に役立つでしょう。今回はINC命令とDEC命令の実装を通じて、長さが違う機械語の実装法を解説します。 [2008年10月10日] その他の言語 F#で学ぶ関数型プログラミング入門 Adam Granicz [著]、 japan.internet.com [訳] F#による関数型プログラミングでは、単に良いコードを書くだけでなく、コードを迅速かつ効果的に書くことの楽しさを実感できます。稿では、関数型プログラミングの主な概念と、これらの概念をF#でとりあえず使ってみる方法

    makun2
    makun2 2008/03/19
    c#スレッド処理
  • SQL Serverにおける日付/時刻計算のベストプラクティス:CodeZine

    前回はHadoopを1台のマシンにインストールし、簡単なサンプルプログラムを実行しました。また、HDFSやMapReduceについても解説しました。今回は複数のマシンへのインストールを行います。その後、大規模なデータを実際に処理し、その性能を測ってみたいと思います。

  • Ajax開発用Eclipseプラグイン「Eclipse Rich AJAX Platform 1.0」リリース:CodeZine

    The Eclipse Foundationは15日、Ajax開発用プラグイン「Eclipse Rich AJAX Platform 1.0」(RAP)をリリースした。公式サイトより無償でダウンロードできるほか、Eclipseの更新機能に以下のURLを登録することで入手できる。 http://download.eclipse.org/technology/rap/update-site RAPのアキーテクチャはRCPに似ており、RAPのフレームワークを利用することで簡単にRIAを作成することができる。開発者はEclipseで提供されているData Tools Platform(DTP)などと連携しながら、Ajaxアプリケーションの開発やデバッグなどを行うことが可能となる。 すでにRAPを利用したワークベンチアプリケーションやメールクライアントなどのデモが用意されており、これらを参考に

  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl

  • セカンドライフの世界に外部Webアプリケーションから乗り込む:CodeZine

    はじめに セカンドライフは、オンラインゲームの類ではなく、3次元オブジェクトのレンダリング・ツール、モデリング・ツールであり、作成したオブジェクトを共有するための空間を提供するストレージ・サービスであると考えるべきです。そして、オブジェクトにLSL(Linden Scripting Language)と呼ばれる専用のスクリプト言語を実行させられる、一種のアプリケーション実行環境であるとも捉えられます。 ところが、経験あるアプリケーション開発者であれば、すぐにLSLが貧弱であまり実用的ではないということに気が付くでしょう。LSLは柔軟性に乏しく、簡単な計算と用意された関数の呼び出し、定められているイベントの実装程度の機能しか持ちません。クラスや構造体のようなユーザー定義型を作ることはできず、ポインタを使った多態性のあるコードを書くこともできません。 こうした制限からLSLはデータ処理に弱く、