タグ

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

  • テスト自動化成功の鍵「テスト自動化アーキテクチャ」、構築のポイントと考え方とは

    開発の現場では、単体テストの自動化、結合テスト(APIテスト)の自動化、システムテストの自動化など、段階ごとにさまざまなテスト実行が自動化されている。だが、特に結合以降において、テスト自動化の導入を失敗するケースは少なくない。その原因の一つは、テストの自動化をツール導入と捉えていることにある。セッションでは、テスト自動化アーキテクチャという概念を通じて、ソフトウェアテストを自動化する仕組み、テスト自動化システム構築のポイントについて語られた。 テスト自動化成功の大きな鍵「テスト自動化アーキテクチャ」 テスト自動化アーキテクチャはその名の通り、テスト自動化の仕組みを構築するためのアーキテクチャを意味し、テスト自動化が成功するか失敗するかの大きな鍵と言われている。 セッションは、mablのQuality Advocateを務め、TestingやQAの啓蒙活動に取り組むおだしょーこと小田祥平

    テスト自動化成功の鍵「テスト自動化アーキテクチャ」、構築のポイントと考え方とは
  • VSCodeにChatGPTを! 導入方法や使い方を理解して次世代の開発環境を整えよう

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

    VSCodeにChatGPTを! 導入方法や使い方を理解して次世代の開発環境を整えよう
  • DockerとSSHでセキュリティと手軽さを両立したリモート開発環境を構築する

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

    DockerとSSHでセキュリティと手軽さを両立したリモート開発環境を構築する
  • RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう

    連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法について、順を追って説明していきます。初回となる今回は、WebAssemblyの概要を説明するとともに、Rustを利用した簡単なサンプルで、実装方法のイメージを紹介します。 はじめに 現在、Webフロントエンド開発においては、ページ構造を表すHTML、スタイルを表すCSSとともに、挙動を実装するためにJavaScriptが利用されます。JavaScriptの登場当初はWebページに動きをつける程度の扱いでしたが、その後の言語仕様の拡張や、WebブラウザーでのJavaScript実行速度の向上、Node.jsなどWebブラウザー以外でJavaScriptを動作させる環境の登場などにより、格的なプログラミング言語としてその

    RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう
  • PythonとCythonによる自然言語処理ライブラリ「spaCy 3.1」がリリース

    spaCy 3.1」では、トレーニング中に予測ドキュメントに注釈を設定するパイプラインコンポーネントを指定できるようになり、パイプライン内の前のコンポーネントの予測を、後続のコンポーネントの機能として簡単に使用可能になっている。 また、任意の重複する可能性のあるテキストのスパンにラベルを付けられ、重複する場合と重複しない場合があるスパンの候補を提案するsuggester関数と、各候補の0個以上のラベルを予測するラベラーモデルで構成される、SpanCategorizerが追加された。 さらに、EntityRecognizerが既知の不正な注釈で更新できるようになり、部分的でスパースなデータを利用可能になったほか、カタロニア語の新たなコアファミリとdanish-bert-botxo重み付けを使用したデンマーク語の新しいトランスフォーマーベースのパイプラインなど、5つの新たなパイプラインパッケ

    PythonとCythonによる自然言語処理ライブラリ「spaCy 3.1」がリリース
  • Python向け自然言語処理ライブラリ「spaCy 3.0.0」がリリース

    spaCy 3.0.0」では、新機能としてマルチタスク学習をサポートするトランスフォーマーベースのパイプラインや、18以上の言語用に再トレーニングされたモデルファミリーと5つのトランスフォーマーベースパイプラインを含む計58のトレーニング済みパイプラインが追加されている。 ほかにも、サポートされているすべての言語用に再トレーニングされたパイプラインとともに、マケドニア語とロシア語用の新しいコアパイプライン、新しいトレーニングワークフローと構成システム、PyTorch、TensorFlow、MXNetといった機械学習フレームワークを使用したカスタムモデル、前処理からモデル展開までのエンドツーエンドのマルチステップワークフローを管理するためのspaCyプロジェクトが実装された。 機能改善としては、データバージョン管理(DVC)、Streamlit、Weights&Biases、Rayなどとの

    Python向け自然言語処理ライブラリ「spaCy 3.0.0」がリリース
  • Linux上でコンテナを構築するには? 『Ubuntuサーバー徹底入門』からLinux Containerを紹介

    $ sudo lxc-create -t download -n test-container Setting up the GPG keyring Downloading the image index --- DIST RELEASE ARCH VARIANT BUILD      ← 利用可能な一覧が表示される --- alpine 3.4 amd64 default 20180412_17:50 alpine 3.4 armhf default 20180412_17:50 alpine 3.4 i386 default 20180412_17:50 alpine 3.5 amd64 default 20180412_17:50 ubuntu bionic amd64 default 20180413_03:49 ubuntu bionic arm64 default 201804

    Linux上でコンテナを構築するには? 『Ubuntuサーバー徹底入門』からLinux Containerを紹介
    morioka
    morioka 2018/06/20
  • 「技術系同人誌は出版社が手を出さないニッチなテーマを埋める」対談:TechBooster代表×CodeZine編集長

    翔泳社では、4月から取り組んでいるデジタルファーストの第一弾として、技術同人誌を制作しているTechBoosterの同人誌を出版しました。今回、プロジェクト始動を記念して代表の日高正博さんとCodeZine編集長の斉木による対談を実施。TechBoosterでの制作手法や、出版社側の意図が明らかになります。 翔泳社では「デジタルファースト」というプロジェクトを4月から始めました。これは流行やいまのニーズに合わせた書籍、ニッチなテーマだけれど広く知られる価値のある書籍、あるいは既存書籍のワイド版などをより多くの方に手に取っていただくために、まず電子書籍やPOD(Print On Demand、注文ごとに印刷する形式)で出版していこうという取り組みです。 CodeZineでは、技術同人誌を制作されているサークル・TechBoosterから既刊の『Android実践プログラミング 現場で生ま

    「技術系同人誌は出版社が手を出さないニッチなテーマを埋める」対談:TechBooster代表×CodeZine編集長
    morioka
    morioka 2016/05/11
  • 安全なシグナルハンドラを実装するには ――C/C++セキュアコーディング入門(4)

    UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されますが、シグナルハンドラで行える処理には制約があり、これを無視したコードを書くと脆弱性につながる恐れがあります。今回はシグナルハンドラの制約に関するルールを見てみましょう。 シグナルハンドラの制約 UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されます。ユーザが[Ctrl]-[C]キーを押してプログラムを中断しようとしたり(SIGINT)、整数オーバーフローが発生したり(SIGFPE)すると、それらのイベントに対応するシグナルがカーネルからプロセスに対して通知されるのです。プログラマは、これらのシグナルを受信した時に特定の動作を行わせる「シグナルハンドラ」を書くことが

    安全なシグナルハンドラを実装するには ――C/C++セキュアコーディング入門(4)
    morioka
    morioka 2016/04/19
  • 技術系同人誌の即売会イベント「技術書典」が6月25日に開催

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

    技術系同人誌の即売会イベント「技術書典」が6月25日に開催
    morioka
    morioka 2016/03/14
  • Dockerでソースコードのバージョン管理ツール「GitLab」を動かしてみよう

    連載は、コンテナ仮想化技術を使ったアプリケーション実行環境構築プラットフォームである「Docker」をつかって、ソースコードのバージョン管理ツールや継続的インテグレーションツールなどの開発支援ツールの導入を行う手順をご紹介します。前回の連載では、オンプレミス環境とクラウド環境にDockerの実行環境を構築する手順と、構築した実行環境で継続的インテグレーションツール「Jenkins」の環境を構築しました。今回は、ソースコードのバージョン管理ツールである「GitLab」の環境を構築する手順をご紹介します。 対象読者 記事は、次の方を対象にしています。 ネットワークやLinuxの基礎知識がある方 Dockerの概要を知っている方 オンプレミスサーバ(物理サーバ)にLinuxのインストールができる方 Amazon Web ServicesのEC2を利用したことがある方 Webシステムをチームで

    Dockerでソースコードのバージョン管理ツール「GitLab」を動かしてみよう
    morioka
    morioka 2015/12/16
  • Vagrantの後継ツールとして、開発環境だけでなく実際の動作環境も構築できる「Otto」がリリース

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

    Vagrantの後継ツールとして、開発環境だけでなく実際の動作環境も構築できる「Otto」がリリース
    morioka
    morioka 2015/09/29
  • 通信の基礎からIoTまで――『コンピュータネットワークとインターネット 第6版』監訳・神林靖氏に訊く

    Amazon /  SEshop / その他 コンピュータネットワークとインターネット 第6版 著者:Douglas.E.Comer 監訳者:神林靖 出版社:翔泳社 発売日:2015年7月16日 定価:5,400円(税別) 目次 第I部 序論とインターネットアプリケーション 第II部 データ通信の基礎 第III部 パケット交換とネットワーク技術 第IV部 TCP/IPを使用したインターネットワーク 第V部 コンピュータネットワークの他の概念と技術 コンピュータネットワークの全体像を網羅する解説書 翔泳社が7月16日(木)に刊行した『コンピュータネットワークとインターネット 第6版』は、コンピュータネットワークに関する分野を幅広く網羅した、全体を俯瞰できる解説書です。書初版の邦訳が1998年、それ以降の版では邦訳がなかったため、この第6版は実に17年ぶりの邦訳となります。 著者のダグラス・

    通信の基礎からIoTまで――『コンピュータネットワークとインターネット 第6版』監訳・神林靖氏に訊く
    morioka
    morioka 2015/07/28
  • 「護衛艦の構成管理にGitを使いたい」――厳しい制約の中、進化する護衛艦システム|CodeZine×サイボウズ式

    「護衛艦プログラマー」として活躍中の三菱スペース・ソフトウエア株式会社の中島康貴さん。前編では、護衛艦のシステムとは一体どういうものか、何ができるのかについて伺いました。後編では、厳密でありながら最新鋭な護衛艦システムの開発と改修を、実際どのように行っているかについて迫ります。 中島康貴(なかしま・やすたか)さん 三菱スペース・ソフトウエア株式会社 鎌倉事業部第一技術部に所属。横浜国立大学工学部卒業、専門は航空宇宙工学。入社後は防衛分野の大規模組込みリアルタイムシステムの新規開発及び保守改修のプロジェクトに携わり、現在、同社でエンジニアとして活躍中。 護衛艦システムの共通化のために、Gitも使ってみたい ――護衛艦システムの開発はどのように進められているのでしょうか。 システム要件が決まると、ハードウェアで実現するもの、ソフトウェアで実現するものに振り分け、それぞれの仕様が確定します。その

    「護衛艦の構成管理にGitを使いたい」――厳しい制約の中、進化する護衛艦システム|CodeZine×サイボウズ式
    morioka
    morioka 2015/07/08
  • 護衛艦のシステムはスマホの普及で変化した――護衛艦プログラマーに聞く、艦船を動かすソフトウェア|CodeZine×サイボウズ式

    国防の要である「護衛艦」。護衛艦の動作にもソフトウェアは重要な役割を担っています。護衛艦を動かすシステムはどのようなものなのか、システムにどんなトレンドがあるのかについて、「護衛艦プログラマー」こと、三菱スペース・ソフトウエア株式会社の中島康貴さんにお話を聞きました。 中島康貴(なかしま・やすたか)さん 三菱スペース・ソフトウエア株式会社 鎌倉事業部第一技術部に所属。横浜国立大学工学部卒業、専門は航空宇宙工学。入社後は防衛分野の大規模組み込みリアルタイムシステムの新規開発及び保守改修のプロジェクトに携わり、現在、同社でエンジニアとして活躍中。 護衛艦のシステムは、ほぼ「組み込みリアルタイムシステム」 ――護衛艦を動かすシステムにはどのようなものがあるのでしょうか。 護衛艦の航行を導く航法統制システム、レーダーや武器の統制システム、そして艦内情報の共有システムなどがあります。これらシステムの

    護衛艦のシステムはスマホの普及で変化した――護衛艦プログラマーに聞く、艦船を動かすソフトウェア|CodeZine×サイボウズ式
    morioka
    morioka 2015/07/03
  • IoTアーキテクチャ構築における4つの課題と、AWSサービス群の使いどころ

    IoTの背景と課題 6月3日に催されたセッション「米国におけるIoT/Big Data & Analytics活用事例の最前線~先進事例に学ぶIoTのベストプラクティス」では、米Amazon Web Services プリンシパルソリューションアーキテクトのミハ・クラーリ氏がIoTの概要を説明しました。 「IoTの定義」について まずは「IoT」そのものの定義についての再確認から。クラーリ氏は「少なくとも一つのコンピューティング機能を持っている、複雑なデバイス」「ネットワーク側に縛りがある、非常に小さな、シンプルなものであること」「数千台、またはそれ以上の数量で展開されるもの」「人的なやり取りなしに、クリティカルな用途で利用されるもの」とその定義について紹介。「現在に至るまでの過程で、マシンのサイズは改善を繰り返し、環境の中で小さなマシンやデバイスに発展進化してきた。スクリーンもキーボード

    IoTアーキテクチャ構築における4つの課題と、AWSサービス群の使いどころ
    morioka
    morioka 2015/06/26
  • Amazon Machine Learningの前提知識

    2015年4月に開催されたイベント「AWS Summit 2015 San Francisco」で発表されたアマゾン ウェブ サービス(以下、AWS)の機械学習に関する新サービス「Amazon Machine Learning」。発表当日から利用可能となっており、ビッグデータ系のサービスを使用していたユーザーなどには特に注目を浴びています。 『機械学習』というテーマが注目を浴びている一方で、いざ実践してみるとなるとどうすれば良いのだろうか、またこのテーマについては統計や分析に関する知識も求められる部分がありますので、気軽に触ってみる……というのもAWSの他のサービスと比べると少しハードルが高い印象があるかと思います。 そこで当連載では、機械学習について興味を持ってはいるものの、これまでそういった実戦経験がない(かくいう私もそんなステータスです)、そんな立ち位置の人が読み進め・実践し・理解で

    Amazon Machine Learningの前提知識
    morioka
    morioka 2015/06/16
  • Windows実行ファイルのバイナリ概要

    EXEファイルには具体的に、どのような情報が格納されているのでしょうか。通常、Visual C++やVisual Basic、Delphiなどのコンパイラが自動的に生成してくれるので、考えることはありませんが、今回はこの疑問に真っ向から勝負を挑んでいきます。 EXEは魔法の箱? 筆者は「ActiveBasic」というネイティブコンパイラ搭載型の統合開発環境を開発しています。コンパイラ開発イコール、EXEファイルの仕様をかなり細かい部分まで理解しなければならないという状況に置かれることを意味します。 Javaや.NETが騒がれる昨今、あえてEXEファイルというディープな内容に迫っていこうということで稿へ筆を入れ始めたわけですが、やはり、この手の話題はプログラマ魂がうずきます。このように感じる技術者の方は多いはず。しかしその反面、世の中にはアセンブラを書けないプログラマが数多く存在すると聞き

    Windows実行ファイルのバイナリ概要
    morioka
    morioka 2015/06/14
  • Microsoft、Windows 10 IoT Core上でNode.jsを利用可能にする取り組みについてブログで解説

    Microsoftは、Raspberry Pi 2とインテルのMinnowboard MaxをサポートしたWindows 10 IoT Core上で、Node.jsの利用を可能にする取り組みや、Node.jsを使用した開発環境を構築するための手順を、5月12日(現地時間)付の開発者向けブログ「Building Apps for Windows」で紹介している。 Windows 10は、従来のPCなどのデバイスに加えて、Raspberry Pi 2とインテルのMinnowboard Maxをサポートした、Windows 10 IoT Coreによって「モノのインターネット」にも対応する。 一方で、これまでARMプロセッサ上のWindows(WoA)では、IoT向け開発に適したNode.jsが利用できなかった。そこで、MicrosoftではWindows 10にChakra JavaScri

    Microsoft、Windows 10 IoT Core上でNode.jsを利用可能にする取り組みについてブログで解説
    morioka
    morioka 2015/05/14
  • フリーのVM環境を使って、ビッグデータ分析の学習環境をすばやく構築する

    はじめに Hadoopを使って大規模データを蓄積し分析するのは、もはや当たり前になってきた昨今ですが、大規模データ分析の環境を試すのは、なかなか難しいというのが現状です。確かに、Hadoop単体やSQLエンジン単体なら、Amazon EMRやGoogle BigQueryなどを使うことで体験することは可能でしょう。しかし、大規模データの分析基盤では以下のようなことを行っていく必要があります。 RDBMSからデータをHadoopにインポートする SQLを使って、大規模データを高速に分析する アクセスログなどの大量の非構造化データを分析する 大量のデータに対し、リコメンドに利用するための高度な分析処理を行う 大量のデータを全文検索できるようにする これらすべてを試す環境を構築するのは、たとえクラウド環境を使ったとしても困難です。また、(検証環境としては)意外と高額な費用がかかってしまい、永続化

    フリーのVM環境を使って、ビッグデータ分析の学習環境をすばやく構築する
    morioka
    morioka 2015/04/24