タグ

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

  • 開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)

    はじめに ここまで、さまざまなソフトウェアテストの考え方や種類を紹介してきました。開発者がソフトウェアテストを活用していくなかで、「どのように問題を分割してすすめて行けば良いのか」と「どのようなテストケースを選択するのか」という2つの課題は筆者に多く相談がきます。 今回は、この2つの課題に対して、どのような方法で自らのスキルを上げて行けば解決できるのかを解説します。具体的には、前者には「Mikadoメソッド」を、後者には「テスト技法」を活用します。 筆者がよく耳にするソフトウェアテストの課題 開発者がTDDやテスト設計に取り組む際、筆者はよく次のような課題を耳にします。 どのように問題を分割するのか問題に対してどのようなテストケースを選択するのか 「どのように問題を分割するのか」とは、TDDやテスト設計において「開発対象をどのような問題に分割してテストを作れば良いのかわからない」といった課

    開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)
  • データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話

    2018-01-28 10:00: 反響にお答えしてタイムラプス動画を追加しました! 2018年1月21日、東京近県の某所でデータセンターの開設式が行われた。日国内では毎年新しいデータセンターが複数開設されており、そのこと自体はそれほどのニュースバリューはない。しかし、この日オープンしたデータセンターは企業ではなく個人が所有しており、しかもほぼ手作りで建設したデータセンターだった。しかも、ビジネス目的ではなく、趣味で作られた日国内では初だろうし、欧米でもこんな話は聞いたことがないため、これは世界初の事件なのかも知れない。 趣味としてのデータセンター作り このデータセンターのオーナーは宇田周平氏、27歳。外資系IT企業に勤務するいたって普通の若手エンジニアだ。勤務先は確かにデータセンターとの関わりは深いが、彼が今回のデータセンター建設に至ったのは、業務上の要請ではないし、かといってサイド

    データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話
  • OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)

    過日のイベント「“Microsoft + OSS” Meetup」で行われたLT大会で、筆者がひときわ注目したプロダクトがある。脱Excel、脱メールを謳う業務ツール「プリザンター」だ。大手SIerに20年近く勤務していた内田氏は、日々運用現場で感じていた課題を解決するために業務外の時間で独りもくもくと開発を進めていたという。そしてプリザンターをコアに独立して会社を起こした。開発元であるインプリム社の内田氏と森井氏に詳しく話を聞いた。 ーーさっそくですがプリザンターについて教えてください プリザンターは、ノンプログラミングで業務アプリが作成できる「Webデータベース」というカテゴリの製品になります。オンプレ版のkintoneと考えていただくと分かりやすいかもしれません。.NET Framework 4.5が動作するWindows系のシステムをベースにしていて、オンプレ環境のほかAzureの

    OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)
    delimiter
    delimiter 2017/10/25
  • Reactによってネイティブ/Web論争は終わったのかもしれない

    PCで我々がWebアプリを多く利用するが、モバイルにおいてアプリは全てだ。今ではモバイルを使っている時間の90%はアプリの利用に費やされている。 ここでいうアプリとはネイティブアプリの事だ。 マーク・ザッカーバーグがネイティブではなくHTML5に投資したのは最大の失敗だったと宣言して以来、モバイルWebは着実に勢いを失ってきている。 しかし皮肉なことに、フェイスブックのエンジニアたちのおかげでそれも過去の事になる。 どういうことか説明しよう。 モバイルWebをReactする ザッカーバーグがHTML5は終わったと宣言した翌年、フェイスブックのエンジニアの一人であるジョーダン・ウォークがWeb開発の新しいアプローチであるReactJSを生み出した。 ReactJSは開発者がJavaScriptのスキルを活用し、アプリ開発をシンプルにできるようになった。しかし他にも多くあるイノベーションのうち

    Reactによってネイティブ/Web論争は終わったのかもしれない
    delimiter
    delimiter 2015/10/09
  • Dockerの導入前の設計、CentOS 7.xとDockerのインストール

    いよいよ、Dockerの導入前のOSレベルでの設計、さらに具体的な導入に入ります。DockerLinux OSにインストールする手順自体は非常に簡単ですが、導入前の基設計を怠ってはいけません。Dockerを導入するにあたって、採用すべきOSのファイルシステムや、パーティションに関する基的な知識を習得しておく必要があります。ここでは、Dockerをインストールする前段階での、ハードウェアに関する様々な留意点を概要レベルで紹介します。また、Dockerをインストールする前段階で知っておくべき各種パラメータと初期設定、Dockerのインストール手順を紹介します。 物理サーバーのCPUに関する留意点 2015年8月下旬現在、最新のDockerでは、64ビットのx86アーキテクチャのサーバーシステムやPCで稼働させることができます。CPUの動作周波数などに特に制限事項はありませんが、まずは、D

    Dockerの導入前の設計、CentOS 7.xとDockerのインストール
    delimiter
    delimiter 2015/08/26
  • Dockerの導入前に知っておくべきこと

    IT部門は、現在よりも柔軟性の高い効率的なITシステムにするために、開発部門と協調し、自社のシステムにDockerを採用すべきかどうかの妥当な判断をしなければなりません。このDockerの採用可否に関する「妥当は判断」は、短時間で結論が出るものではありません。ベンダーや自社の有識者が集い、導入目的、採用可否、設計指針などをある程度具体的に検討しなければなりません。章では、Dockerの導入を検討する場合に知っておくべき前提知識、検討項目を述べます。さらに、実際にDockerを導入時する際に知っておくべき項目を述べ、最後に、導入手順と注意点について述べます。 Docker導入前の検討事項 Dockerを導入する上で、検討しなければならない項目としては、まず、「そもそもDockerが自社に必要なのか?」ということです。Dockerは、コンテナを管理するためのソフトウェアであり、非常に優れた機

    Dockerの導入前に知っておくべきこと
    delimiter
    delimiter 2015/08/18
  • 巷で話題のDockerとは?

    Dockerが利用される背景 今、世界中の開発者やIT部門において「Docker」(ドッカー)が注目されています。もともと、DotCloud社(現 Docker Inc.)が、開発者やIT部門をターゲットとしたアプリケーションやOSの開発・配備を行うための基盤ソフトウェアとして開発され、2013年にリリースされました。このソフトウェアは、オープンソースソフトウェアの「Docker」として公開され、その使い勝手の良さから、多くの開発者、IT部門の管理者で瞬く間に利用されることになりました。Dockerは、仮想化ソフトウェアにみられるような性能面での劣化を極力排除したコンテナ技術の採用により、仮想化ソフトウェアに比べ、極めて集約度の高いITシステムを実現することができます。しかし、このDockerが注目される理由は、ハイパーバイザー型の仮想化ソフトウェアに比べてのハードウェア資源の消費や性能劣

    巷で話題のDockerとは?
    delimiter
    delimiter 2015/08/06
  • Dockerを理解するための8つの軸

    Docker」というキーワードが、サーバーまわりのキーワードとして定着しつつある。その一方で、触ったことのある人以外からは、「Dockerってよくわからない」「コンテナーって昔からあるのでは?」という声も聞く。 Dockerは、それまでにあった要素技術を組み合わせることで、サーバーアプリケーションを実行する便利な方法を作り出したものだ。そのため、1つの要素技術を見ただけでは、新しさや全体像がわかりにくい。 そこでこの記事では、Dockerを触ったことのない人向けに、Dockerを8つの軸から説明する。なお、ここではDockerそのものを解説するわけではないので、ご了解願いたい。 1. コンテナー Dockerはまず、コンテナー管理ツールだ。 コンテナーとは、1つのサーバーの上で、複数のサーバー環境をそれぞれ分離して実行する、一種の仮想化技術だ。「OSレベルの仮想化」とも呼ばれる。 複数の

    Dockerを理解するための8つの軸
    delimiter
    delimiter 2015/07/30
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
    delimiter
    delimiter 2015/03/19
  • CentOS 7のネットワーク管理基礎(後編)

    前回に引き続き、CentOS 7のネットワーク設定について取り上げます。新しい設定ツールの登場や、従来のCentOS 6まで慣れ親しんだネットワーク関連の基的なコマンド群の使用が非推奨になるなど、様々な変更点があります。CentOS 7から一新されたネットワークの具体的な設定手順、Tips等をご紹介します。 CentOS 7におけるリンクアグリゲーション 複数のネットワークカードを束ねて一つのネットワーク通信の可用性や性能向上を図るリンクアグリゲーションを実現するteamドライバーがCentOS 7で実装されています。現在の多くのサーバーは、ネットワークポートを複数持っており、このネットワークポートを束ねることで障害が発生してもネットワーク通信を継続させることができます。NICがチーミングされたCentOS 7が稼働するx86サーバーとネットワークスイッチの典型的な構成例を下図に示します

    CentOS 7のネットワーク管理基礎(後編)
    delimiter
    delimiter 2015/01/09
  • CentOS 7のログ管理「journald」

    今回は、CentOS 7で採用されている新しいログ管理の仕組み「journald」を取り上げます。またjournaldとrsyslogとの連携やシステム全体に渡って様々なログを収集するsosreportについても簡単に触れます。 CentOS 7におけるログ機構「Systemd Journal」を使いこなす CentOS 7は、ログの管理を行う新しい仕組みが導入されています。従来のCentOS 6系では、長年親しまれてきたsyslogがベースのログ管理手法が採用されていましたが、CentOS 7からは、ログに関するより細かい指定や操作を行うことができるようになっています。CentOS 7でのログ管理は、systemdが担当しています。サービス名は、「systemd-journald.service」です。一般的には、「journald」と呼ばれています。CentOS 6までのsyslog

    CentOS 7のログ管理「journald」
    delimiter
    delimiter 2014/12/18
  • CentOS 7インストーラーの新機能と注意点

    CentOS 7のインストーラーは、従来のCentOS 6までのインストーラーと比べると、様々な変更が施されています。今回は、CentOS 7のインストール時の注意点、インストーラーの新機能についてご紹介します。 CentOS 7のインストール前段階での注意点 CentOS 7に限らず、OSをx86サーバーにインストールする場合、目的の業務に応じたハードウェアの設定を整えておく必要があります。近年、x86サーバーに搭載できるメモリやディスクの容量が急激に増加しており、これに伴い、ハードウェア側の事前準備を適切に行わないと、購入したハードウェアの機能や性能を十分に発揮できないといった事態に陥る可能性があります。特に、データベースサーバー等で、巨大なメモリ空間を利用する場合には、注意が必要です。 例えば、1TB超を越えるメモリを装備するx86サーバーでCentOS 7を利用する場合、予めBIO

    CentOS 7インストーラーの新機能と注意点
    delimiter
    delimiter 2014/11/24
  • Serverspec誕生からインフラCIの今後までを開発者に聞いてみた

    インフラ構築の現場で活用が広がっている国産OSS「Serverspec」をご存知でしょうか。Think ITで活用連載を執筆したTISの池田氏と、開発者であるServerspec Operationsの宮下氏のインタビューが実現したので対談形式でお届けします。Serverspecってなに? という方はぜひこちらの連載もご覧ください。 宮下:宮下です。よろしくお願いします。4月からフリーランスでソフトウェアエンジニアとして仕事をしています。個人事業主の届け出を出すと屋号を付けられるので、「Serverspec Operations」にしてみました。ただ、特にそれを前面に押し出して活動しているわけでもなく、今はクックパッドでフルタイムで仕事をしています。主にインフラ周りの業務、たとえばVagrantを導入したり以前から使っているPuppetの整備をしたりなど、あとはインフラCI※の整備をしてい

    Serverspec誕生からインフラCIの今後までを開発者に聞いてみた
    delimiter
    delimiter 2014/11/12
  • PostgreSQLのログをFluentdで収集する

    データベースの運用管理にログの情報は不可欠ですが、オープンソースのDBMSであるPostgreSQLが出力するログは、直接取り扱うのに適した形式とは言えません。そこで記事では、オープンソースのログ収集ツールであるFluentdを使って、PostgreSQLのログを運用管理に活用しやすい形に加工する方法を紹介します。 PostgreSQLの運用管理に使う稼働統計情報とログ データベースを安定稼働させるには、データベースを健全な状態に保つ運用管理が必要不可欠です。データベースの運用管理には一般的に死活監視、リソース監視、性能分析、チューニング、バックアップといった項目が挙げられますが、まずは監視によって正しく現状を把握することが、運用管理の第一歩と言えるでしょう。PostgreSQLで監視に使える機能には、稼働統計情報とログがあります。稼働統計情報はPostgreSQLの様々な稼働情報を蓄積

    PostgreSQLのログをFluentdで収集する
    delimiter
    delimiter 2014/10/04
  • PostgreSQLのログをFluentdで収集する

    データベースの運用管理にログの情報は不可欠ですが、オープンソースのDBMSであるPostgreSQLが出力するログは、直接取り扱うのに適した形式とは言えません。そこで記事では、オープンソースのログ収集ツールであるFluentdを使って、PostgreSQLのログを運用管理に活用しやすい形に加工する方法を紹介します。 PostgreSQLの運用管理に使う稼働統計情報とログ データベースを安定稼働させるには、データベースを健全な状態に保つ運用管理が必要不可欠です。データベースの運用管理には一般的に死活監視、リソース監視、性能分析、チューニング、バックアップといった項目が挙げられますが、まずは監視によって正しく現状を把握することが、運用管理の第一歩と言えるでしょう。PostgreSQLで監視に使える機能には、稼働統計情報とログがあります。稼働統計情報はPostgreSQLの様々な稼働情報を蓄積

    PostgreSQLのログをFluentdで収集する
    delimiter
    delimiter 2014/10/04
  • ソフトウェア作成において、美しさや優雅さより大切なこと

    APIデザインの極意 Java/NetBeansアーキテクト探究ノート NetBeans開発プロジェクト10年超の蓄積!API設計の経験や考察をまとめた一冊 この記事は、書籍『APIデザインの極意 Java/NetBeansアーキテクト探究ノート』の内容を、Think IT向けに特別公開しているものです。 この連載では、何回かに分けて書の内容を紹介します。今回は前回に続き、第1章の一部を掲載します。 美しさ、真実、優雅さ みなさんの多くが、前述の無知を称賛していることをもどかしく思っていると私は確信しています。重量級のクローラ・トラクタで積み上げられたゴミの山をどうやって優雅なものにできるのでしょうか。アプリケーションが醜い時にどうやって正しくすることができるでしょうか。そんなのはうまくいかないのではと思われます。しかしながら、うまくやることはできます。私達の多くが持っている先入観をもっ

    ソフトウェア作成において、美しさや優雅さより大切なこと
    delimiter
    delimiter 2014/09/19
  • RailsのテストフレームワークRSpecの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく

    RailsのテストフレームワークRSpecの基礎知識
    delimiter
    delimiter 2014/07/09
  • Rubyプログラミングの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 インスタンス変数 「インスタンス変数」。単純そうで意外に奥が深い概念です。もう一度おさらいしておきましょう。 インスタンス変数とは インスタンス変数は、特定のオブジェクトが排他的に所有する変数です。そのオブジェクト自身だけがその値を参照できます。インスタンス変数という名前は、クラス変数との対比で用いられています。クラス変数は、あるクラスのすべてのインスタンスが共有する変数です。インスタンス変数は、それぞれのインス

    Rubyプログラミングの基礎知識
    delimiter
    delimiter 2014/07/03
  • 1ランク上のPHP技術者を目指す人のための教材と、勉強のポイント

    世界中で構築されたWEBサイトが2億5000万を超えるといわれているPHP。その秘密は言語習得の手軽さやCMSパッケージの発達により、初心者にも気軽に高機能なシステムが扱えることにあります。 WordPressやMovableTypeとの連携、OpenPNEなどはもはや語る必要もないくらいに有名になりました。 ちょっとしたCGIやネットショップはもちろん。ネットベンチャーやソーシャルゲームでも手軽に使われ、開発者の数もプログラミング言語の中で非常に高い位置を占めています。 そんなPHPですが、「PHPエンジニアのスキルが低い」「PHPはだめだ」といわれることが多々あります。なぜでしょうか。 気軽に利用できるが故にスキルレベルが低いエンジニアが多いのも事実ですし、さらに言うと前述のパッケージ等があるためにエンジニアでない人でも触ることができるからです。また、言語としての特性もかなり自由で、型

    1ランク上のPHP技術者を目指す人のための教材と、勉強のポイント
    delimiter
    delimiter 2014/06/11
  • Pythonで作られた便利なコマンドラインツール MySQL Utilities

    MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対

    Pythonで作られた便利なコマンドラインツール MySQL Utilities
    delimiter
    delimiter 2014/02/11