システムについて

S-Collectionのシステムについて

Git使いこなしていますか?Git、GitHubの使い方③—利用手順編―

簡単!GitHubを始めるための2ステップ

これまで、GitやGitHubの特色、Gitのインストール方法について紹介してきました。最後に、GitHubの使い方について紹介します。

 

GitHubスタート手順を丁寧に紹介

①アカウント作成

GitHubをつかうには、まずアカウントを作成する必要があります。GitHubのWebサイトにアクセスするとユーザー名、メールアドレス、パスワードを入力する欄が表示されますので、まずはここで登録をします。

 

②リモートリポジトリの作成

GitHubのWebサイトにログインした画面において、右上の+マークを押すと「New Repository」と表示されますので、そちらをクリックします。
リポジトリ作成画面になりますので、リポジトリの名前を入力したうえで画面下方にある「Create repository」ボタンを押します。これで、リポジトリが作成されます。

 

次の画面では、下記のようにコマンドが表示されます。
echo "# リポジトリ名" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git push -u origin master

 

各コマンドの意味は以下のとおりです。
READMEファイルを作成
ローカルリポジトリの作成
READMEをインデックスに登録する
コミットをする
リモートリポジトリの追加
リモートリポジトリに反映(pushする)

 

コマンドを実行すると、GitHubのWebページ上でpushしたREADMEが反映されます。
GitHubではREADME、ライセンス、.gitignore(Gitのトラッキングの対象外設定ファイル)をおくことを推奨しています。

 

上記のコマンドは、READMEの配置するためのコマンドになっており、READMEはGitのチュートリアルの役割にもなります。

 

最後に

GitHubの強みは、ソーシャルコーディングにあります。
プログラムソースコードクラウド上で共有して、他者とコラボレーションしながらプログラム開発できる環境が簡単に用意できるため、多くの人の力を借りてソフトをつくることができます。
GitHubにはSNS機能もあり、問題の共有、新しく書かれたソースコードの構成管理、および情報共有を行うことも可能です。

 

S-Collection株式会社もこのようなツールを活用することで、バージョン管理の徹底を行っています。それによってプロジェクトを正確に進めていき、質の高いシステムサポートを実現しています。

Git使いこなしていますか?Git、GitHubの使い方②—インストール編―

クライアントツールも便利!Gitインストール

前回は、Git、GitHubの特色について紹介しました。今回はGitのインストール方法についてお伝えします。

 

すぐできる!Gitのインストール

Gitのインストールは、GitのWebサイトからインストーラーをダウンロードして行うことができます。

Linuxの場合は、yumやget-aptコマンドが使える環境であれば、コンソールから次のコマンドを入力することでインストールが可能です。
sudo yum install git-all
sudo apt-get install git-all

また、「コンソールには慣れていないのでGUIクライアントを使いたい」というユーザー向けには、SourceTreeというクライアントツールもあります。
使用するOSがWindowsの場合は、tortoiseGitというクライアントツールもサポートされています。

このように、Gitはユーザーがよりインストールして活用しやすいよう、多くの配慮がされています。次回は、このようにGitをインストールした後、実際にGitHubサービスを活用する方法について紹介していきます。

Git使いこなしていますか?Git、GitHubの使い方①—概要編―

バージョン管理システムGit、GitHubの魅力とは?

システム開発をするうえで、バージョン管理システムは欠かせません。
一例をあげると、バージョン管理システムを導入すれば、複数人でソースコードの編集を行う際に、誰が、どんな編集をしたかを管理することができ、さらに以前の状態に戻すことも可能です。
今回は、そんなバージョン管理システムのひとつである、「Git」の使い方と「GitHub」というWebサービスについて紹介します。

 

複数人でも、個人でも!Gitという選択

Gitは、Linuxカーネルの開発のためにつくられたバージョン管理システムで、リリース以降ほかの多くのプロジェクトで採用されております。そのため大きなプロジェクトにも対応できるように、動作速度に重点が置かれてます。
また、Gitは「分散型」のバージョン管理システムのひとつです。
「集中型」のバージョン管理システムにおいてリポジトリ(開発過程が保存されるデータベース)はひとつですが、分散型では、複数人で共有するリモートリポジトリと、個人が作業するローカルリポジトリで構成されています。

Gitは、リモートリポジトリとローカルリポジトリに別れているため、最適なタイミングで同期させることができます。
また、ネットに繋がっていない状態でも、履歴の閲覧をすることが可能です。
特にオープンソースの開発であれば、Gitを選択して間違いないでしょう。

 

これが無料!ユーザーの声に応えるGitHub

Gitには、リモートリポジトリがあると先ほど紹介しました。
ユーザー自身がサーバーを立ち上げ、そこにリモートリポジトリを作成するということも可能です。さらに、基本的に無料でリモートリポジトリが用意され、活用できる、「GitHub」とよばれるWebサービスがあります。

GitHubは、ユーザーの「自作の作品を世に公開したい」、「修正を加えて欲しい」、「お手軽にGitの機能を試したい」の声に応えることができます。

GitHubに公開した作品は、基本的に誰でもみることができます。
インターネットでの公開を避けることも可能で、プライベートリポジトリを月額7ドル(約700円)で作成する有料サービスが用意されています。

実際にGitHubをつかうためには、端末にGitをインストールする必要があります。次回は、Gitのインストール方法について紹介します。

プログラミングをはじめよう②ー開発環境の紹介ー

言語に合った開発環境の種類を知っておこう

前回の記事ではプログラミングを行うメリットと言語の種類について説明をしました。今回は開発環境について、ふれていきます。

 

3.開発環境を準備する

プログラミングを行うには開発環境を整えることが必要です。開発環境とは、開発をするためのさまざまな機能を備えているソフトウェアで、プログラム入力やバグ取り、プログラム公開などを便利にできるようにしてくれます。
各言語によって開発環境が変わりますので、自分が使いやすいものを調べて設定していく必要があります。こちらもいくつか開発環境の例をあげます。

Eclipse(Javaなど)

IBMによって開発された開発環境です。Plugin(プラグイン)と呼ばれる拡張モジュールを追加することにより、さまざまな機能を追加できることが特徴です。Javaの開発で使用されることが多いですが、PHPRubyなどの言語による開発も行うことができます。

Microsoft Visual Studio(C#など)

マイクロソフトが提供する開発ツールです。C#C++Visual Basicなとのさまざまな言語で開発をおこなうことができ、プログラミング初心者や新しい言語の学習に最適な環境となっています。

③PhpStorm(PHP)

このPhpStormはPHPの開発環境になりますが、有償で提供されています。とても高機能で、PHPのほかに、Web開発に必要なHTMLやCSSJavaScriptSQLもしっかりサポートしています。30日間のフリートライアルがあるので、気軽に試すこともできます。

Aptana Studio(Ruby)

こちらはRuby開発にお勧めですが、PHPやHTML、CSSJavaScriptにも対応しており、Web開発でよく使われる言語をカバーしています。無償で公開されていますので、導入もしやすくなっています。

IntelliJ IDEA(Java)

IntelliJ IDEAはJavaの開発環境です。他にも、IntelliJ IDEAはAndroidアプリ公式開発環境の「Android Studio」のベースにもなっており、信頼性の高い開発環境です。幅広いJavaプログラミングを行う方にお勧めです。

 

4.プログラミングの仕様を知る

プログラミングを始めるにあたって各言語の仕様を知る必要があります。
また、コーディングルール(企業やオープンソースコミュニティやあるいは特定のプロダクトごとに定められた、プログラムのコーディングに当たっての統一的なガイドライン)というものもあり、各言語ごとに標準的なものが決められているため、チェックすることをオススメします。
しかしプログラミングを行ううえで大切なのは、暗記ではなく理解して使えるようになることです。そのため、しっかりと自分が使用する言語のルールを知り、そのルールにしたがってプログラムを記述していく必要があります。

 

5.最後に

今後、情報化社会が進んでいくにつれ、プログラミングを用いたシステム開発の需要は高くなっていくでしょう。新しくシステムを作る人の需要も高まることが予想されます。
S-Collection株式会社ではそういった技術者の方と共に、よりよいシステム構築を支援する技術力を提供しています。

プログラミングをはじめよう①ーメリットと言語ー

プログラミングをはじめるうえで知っておきたいこと

プログラミングに興味があり、いざ動き出そうとしても、何から取り掛かればいいか分からない人が多いと思います。
そこで、この記事ではプログラミングを始めるうえで、最低限必要な知識をまとめていきます。

 

1.プログラミングをするメリットとは?

まず、プログラミングに取り組むことでどんなメリットがあるかを2点紹介します。

ノマドワーカーのように仕事ができる!

プログラミングはパソコンさえあれば作業ができるため、仕事の内容によってはノマドワーカーのように、好きな場所で好きな時間に仕事ができます。

高い問題解決能力が身につく!

また、現在日本ではプログラミングを2020年に義務教育化を検討されているほど社会全体で注目されています。
その理由としてはプログラミングを覚えることで、高い問題解決能力が身につくからです。
プログラミングをすることで、情報検索能力やエラー解決能力を身につけていくことに直結します。

 

2.使用する言語を決める

プログラミング言語は世界になんと200種類以上もあります。その中から目的に合った言語を選ぶことがプログラミングを組む上でとても大切です。各言語の特徴や特性をしっかり理解して選びましょう。
ここでは代表的な言語について、コンパイル言語、スクリプト言語に分けて、特徴を簡単にあげていきます。

 
コンパイル言語

ソースコードをコンピュータの理解出来る言葉に変換する作業をコンパイルと呼びますが、そのコンパイルが必要な言語をコンパイル言語と言います。

JAVA
WebアプリからAndroidアプリまで幅広く、いろいろなアプリケーションを作成することができます。また、エミュレータや実機での動作確認が簡単にできるのが特徴です。

C++
産業用ロボットや家電製品、OS、OS上で動くソフトウェアによく使われています。C言語に「オブジェクト指向」を追加したもので、より効率よくプログラミングができるように作られており、C言語よりさまざまな拡張機能が追加されています。

オブジェクト指向・・・プログラムを「モノ」の組み立てのように表現して、コンピュータに動作をさせる考え方のこと。

C#
サーバー用のプログラムによく利用されています。また、WEBアプリケーション、WEBサイトなど、幅広く作成できます。企業向けの業務システムで利用されることも多いです。

 

スクリプト言語

コンパイルが必要なく、ソースコードを変換せずとも、そのままコンピュータがソースコードを上から順番に理解して実行してくれる言語です。

PHP
PHPはHTMLに埋め込むことができるため、Webアプリ開発でよく使用されるスクリプト言語です。「関数」(値を渡すとさまざまな結果が返ってくるというとても便利なもの)が豊富にあるため、ほかのプログラミング言語と比較して初心者向きです。

JavaScript
PHPと同じく、Webアプリ開発でよく使用されるスクリプト言語です。Webサイトの外観デザインや使い心地から、サイト内の情報表示に至るまで、高機能な画面動作に使われています。

Python
人工知能(AI)やWeb開発など広い分野で使われています。文法のシンプルさと可読性の高さからプログラミング初心者にもわかりやすく、学びやすい言語と言われております。

Ruby
簡単なWebサービスから大規模なものまで開発ができます。例えばTwitterクックパッドなどの業務システムで運用されています。手早く作成でき、すぐ動かせたりするので、バグ対応やコーディングのサイクルが早いのが特徴です。

このように、それぞれの言語で特徴が異なります。そのため、使用する言語はしっかり特徴理解して作成するものに対して最適なものを選ぶ必要があります。

次回の記事では、開発をするためのさまざまな機能を備えているソフトウェア、「開発環境」についてふれていきます。

IoTとは何か?

リアルタイムでデータ収集できる最新技術とは!?

IoT(Internet of Things)とは、私たちの生活にあるさまざまなものがインターネットに接続することで、制御できたり、情報取得できたりする仕組みです。
例えば、牧畜、家電、自動車、スマートフォンなどの状態をインターネットを通じて逐次データ収集し、まとめることで、それらの状況をリアルタイムで把握することができます。
これにより、さらに最適な稼働状態を実現することが可能となってきました。
この背景にはコンピュータの発展や通信技術の確立があり、なかでも重要なブレイクスルーの要因となったのは、LPWA(Low Power Wide Area)と呼ばれる通信技術の進歩です。
LPWAネットワークは言葉通り、低い電力で広域に通信するための技術です。
この通信技術は、BluetoothLTEのような高速な通信が出来ませんが、システムの省電力性や電波の広域性、価格的に安価な性能を持ったものです。この特性はIoTとの相性が非常によく、多くの産業に応用できるようになった要因の一つです 。
実際にこの通信技術が活躍しているシステムの例をいくつかあげていきます。

 

・自動車事故自動通報システム(Automatic Collision Notification)

これは自動車が何かの原因でエアバックが作動した際に、この情報を管理センターまで送るための仕組みです。
この「エアバックが作動した」という情報を報告するためには高速なデータ通信は必要なく、省電力かつどこからでも通信が行われることの方が重要になってきています。

 

・トイレや農作物/牧畜の遠隔監視システム

トイレの空き状況をネットワーク上に公開することで、稼働状況を見える化できます。
また、農業分野では、作物の発育や家畜の放牧中の所在をすぐに把握することができるようになりました。
これらのシステムには、電波の送信機が安価であることが求められます。
IoTによって、今までは自分が足を動かしていたり、誰かが報告するのを待っていたりしたところから、自動的にインターネットを通じて情報が蓄積されるようになってきました。
こうした情報をいかに効率的に活用できるようになるかが、事業の拡張において、大きな差を生み出していきます。

 

S-Collection株式会社はイベント事業を始め、Webチケットの関連事業に携わっています。
これらにIoT技術を導入することによって、いち早く動員状況やイベント進行を確認したり、物販販売コーナーでスマートフォンとWebチケットを用いたりすることで、販売した客層を集計することができるようになります。
S-Collection株式会社もよりよいサービスを展開していくために、最新技術を積極的に取り入れていきます。

 

アジャイル開発とは~②内容・成功事例~

早いシステム開発を実現!アジャイル開発手法の魅力

前回はアジャイル開発手法が生まれた時代背景についてお伝えしました。今回は、アジャイル開発手法が誕生する以前に主流であったウォーターフォール開発手法と比較しながら、内容とメリットを説明します。


ウォーターフォール開発手法とは

かつてのソフトウェア開発手法の主流は「ウォーターフォール開発手法」でした。この手法は名前が示すとおり「滝(ウォーターフォール/waterfall)」のように、プロジェクトが上流(企画段階)から下流(案件定義、設計、実装、テスト)へ流れるように進行していくものです。この手法の課題としては、下流へいってから、問題や仕様変更があった際、上流へ戻って変更を加えることが難しく、変化への対応に課題があります。


アジャイル開発手法とは 

上流から下流への一定方向で進めるウォーターフォール開発手法と異なり「アジャイル開発手法」では「設計、実装、テスト」の小単位での開発を繰り返していきます。その繰り返しのなかで完成度を徐々に高めていきます。この手法は、ウォーターフォール開発手法のように役割別(システム設計者、プログラマーやテスターなど)にチームを編成するのではなく、関係者全員が一丸となって動く必要があります。


それぞれのメリット

ウォーターフォール開発手法は、それぞれの担当者が計画通りに作業を行うことで、プロジェクトは進行していきます。そのため、アジャイル開発手法ほど、こまめで綿密なコミュニケーションは必要とされません。
アジャイル開発手法は、プロジェクトの進行途中で当初よりよいものがあれば、そちらに舵を切って進んでいく柔軟さがあります。また、プロジェクトチームが一致団結して、小単位の開発を繰り返すため、早い段階である程度のプロダクトを見ることができ、関係者間で見解の違いがあった際などは、早い段階で気づくことができ、修正にかける工数を減らすことができます。


アジャイル開発の成功事例

アジャイル開発手法の成功事例を紹介します。連邦捜査局(FBI)にて、3万人以上のFBI捜査官・アナリスト・管理職が利用する巨大システムの開発にアジャイル開発手法が用いられ、成功した事例があります。(引用元:公共部門におけるアジャイル導入: FBIとロッテルダム港の事例
このプロジェクトは、採用されたウォーターフォール開発手法で、当初5年間、約500億円を費やしても完遂できない状況でした。
そこで、アジャイル開発のマネジメント経験のあるCIOとCTOを採用し、アジャイル開発手法に切り替えた結果、修正にかける工数を減らすことができ、たったの1年で、費用は約36億円でプロジェクトは完遂することができました。


最後に

この記事では、アジャイル開発手法を採用するメリットを説明してきました。
S-Collection株式会社では、アジャイル開発手法によって、お客さまと密なコミュニケーションを取りながら要望に合わせたシステムを短期で作り上げ、事業を支えていきます。