Microsoft Teamsって?
Microsoft Teams - グループ チャット ソフトウェア
約一年前にリリースされたサービスです
ニュース - Microsoftが業務用チャット「Microsoft Teams」を発表、「Slack」に対抗:ITpro
こちらのサイトによるとMicrosoft Teamsは約一年前の2016年11月2日にリリースされたサービスです。
Slackというチャットサービスに対抗して作られたMicrosoftのエンタープライズ向けのチャットサービスです。
価格体系は?
Office 365に含まれるサービスです。一部低価格帯のOffice 365だと使えないみたいですが、Office 365 Enterprise E1,E2,E3など主要なエンタープライズ向けOffice 365で使用できます。
Slackとの違い
Office 365に含まれるWord,Excel,OneNote,OneDriveなどとの親和性が高く、Office 365をすでに利用しているなら追加料金なしで利用を開始できます。
Notepad++を使ってみる
Windowsのテキストエディタなにがいいのか
皆さんはWindows環境でいったいどのエディターを使っているのでしょうか
やっぱりWindows標準のメモ帳ですか?!
僕はUNIX系環境だとVimが一番好きですが、Windowsだとメモ帳が一番早いし標準で搭載してるので好きです(笑)
まぁ本格的なプログラミングするのには、メモ帳では不十分ですよね。
せめて空白文字の視覚化機能があればなぁ…
Notepad++を使ってみる
世界的にWindowsのテキストエディターとして高いシェアがあるnotepad++をインストールしてみました。
実は今まで使ったことがなかったんですよね。
Notepad++は、notepad(メモ帳の英語コマンド)のインクリメント版?
かなり期待できます。
インストールの仕方
https://notepad-plus-plus.org/
64bit版のWindowsでも32bit版のNotepad++を入れたほうがいいかもしれません。
32bit版でも速度は快適だし、プラグインなども32bit版の方が対応が進んでいるみたいです。
ライセンス
notepad++のライセンスはGPLです。
notepad++という名前ですが、Microsoft製ではないみたいです。
テキストエディタでもMicrosoft製にこだわるならVisual Studio Codeがいいと思います。
Notepad++のいいところ
起動が速い
めちゃくちゃ軽いです。Visual Studio CodeだとPowerShellなどからコマンドで呼び出すとき、初回起動だとかなり時間を取られるのですが、Notepad++なら全く待たされることなく、すいすいとストレスなくコードが書き始められます。
テキストエディタの起動、停止をこまめに行うVimの感覚に慣れてしまっているのでこのスピード感はすごくいいです。
編集機能も爆速
自宅で軽いプログラミングを書いたり、ブログを書いたりするために使用しているひ弱なパソコンに入れて使ってみたのですが、テキストのシンタックス解析などもVisual Studio Codeに比べるとすごく速いです。
今後もメインとして使うかも
今回、さっさとインストールして使ってみましたが、なにより爆速で小回りが利くので、Windowsでの開発ではメインのテキストエディタになるかもしれません。
もう少しプログラムを書いてみて、自分用にカスタマイズしたら最高なテキストエディタになりそう。
余談
シンゴジラを家族で見ててたら、ブログを昨日中に書き終わりませんでした。
テレビ版で初めて見たので、すごかったです。
大問題!!WSLをつかえばWindowsでもBillをやっつけるゲームが動くぞ
XBillという過激なゲームを皆さんはご存じですか?
Wingdowsというウイルスを入れてこようとするビルからシステムを防衛するというゲームです。
防衛するには画面内のビルをできるだけ早くクリックし、やっつける必要があります。
オープンソースソフトウェアでX Window Systemで動作します。
WSLでインストールしてみよう
aptパッケージ管理システムでインストールします。
sudo apt install xbill
起動するには、
xmingを起動した上で、コマンド
xbill
を実行するだけです。
インストールが面倒くさい人は動画で確認してください
どう見ても悪質なパロディです!
このゲームのビルのモデルは、絶対Microsoftの創業者のあの人だし、ウイルスという設定のWingdowsは完全にWindowsのスペルもじっただけです。
なにより、ビルをやっつける演出が過激すぎます。
こんな教育上よろしくないソフトが簡単にWindowsでインストールできてしまうなんて…
WSLをインストールしたら気をつけよう
Windows Subsystem for Windows(WSL)は、aptなどのパッケージ管理システムは、ウイルスソフトをインストールする危険性こそ少ないですが、このような過激で教育上よろしくないソフトウェアがインストールできてしまいます。
特にWindowsが好きでWSLを使用しているMicrosoftファンの皆さん、要注意です。
このようなソフトウェアがインストールされないようにMicrosoftは対策を打たないのでしょうか。
Microsoftさん、こんなことされてても「Microsoft ❤ Linux」なんてのんきに言ってていいんですか?
ちなみに、たぶんRHEL on Azureでも動かせると思います。ショボーン(´・ω・`)
WindowsでのLinux準拠環境まとめ
Windows 10でLinux?
Windows 10でLinuxのアプリケーションを動かすための環境についてまとめます。
ここで紹介するのは、必ずしも完全なLinuxではないです。
Linuxにある程度の互換性はありますが、それ自身ではないので、完全なLinuxを使いたい人は、LinuxのOSを普通にインストールした方がいいと思います。
WindowsシステムをLinuxに対応させる
WindowsのWin32APIの上でLinux準拠の環境を再現する方法です。
Cygwin
POSIX準拠のシステムコールをDLL(ダイナミックリンクライブラリ)によって再現し、その上にGCCやUNIXの主要なコマンドを動作させる。
POSIXのシステムコールをWindowsAPIに変換しているため動作は遅いが、POSIX準拠のため多くのソフトウェアを動作できる。
Windows上のGUIによるパッケージ管理システムとともにCUIでapt-cygというパッケージ管理システムがある。
オープンソースソフトウェアである。
MinGW
Cygwinから派生したソフトウェア。名前の由来はMinimalist GNU for Windows(Windowsのための最小構成のGNU)
WindowsでGNUツール群を用いた開発をするためのソフトウェア。POSIXに準拠していない分、高速化を実現している。
POSIXに準拠していないとは、システムコールのreadやwriteを使えないということである。
GCCコンパイラやGit(分散バージョン管理システム)をWindowsで使用したいときに使用する。
オープンソースソフトウェアである。
Windows Subsystem for Linux(WSL)
Microsoftが開発したLinux互換のカーネルインターフェース。
Windows 10 Fall Creators Updateにより、Windows OSに組み込まれた。
公開されているWindows APIではなく、非公開のWindowsのOSの内部でLinuxのカーネルを再現することにより高速化を実現している。
デーモンなどのバックグラウンドタスクは動作しないなど制限も多い。
ソフトウェアが対応しているかどうかは実際試してみないとわからない。
Windows StoreよりUbuntu、SUSE、Fedoraのディストリビューションがインストール可能である。
ディストリビューションはオープンソースだが、それを動作させるインターフェースは、Windows内部のシステムなのでソースコードは非公開である。
Xamarinの仕組みを勉強したらiOSとAndroidの仕様を少し理解できた
少しだけXamarinの勉強してみました。
今日のブログは備忘録的な面が強いかもしれません。
『xamarin 仕組み』で検索
XamarinがどのようにiOSとAndroidというクロスプラットフォームに対応しているのか気になって、
Bingで『xamarin 仕組み』で検索してみました。
すると次の良記事を発見!!
Xamarinの仕組み ( 超簡単バージョン ) | Developers.IO
Xamarin 2.0 | ++C++; // 未確認飛行 C ブログ
Xamarin.Androidの仕組みと、ソフトウェア構成 - Build Insider
Xamarin.iOSの仕組みとアプリケーションの構成 - Build Insider
クロスプラットフォームの仕組み、まとめ
Androidの場合
Android上でmonoVMと呼ばれる仮想マシーンを実行する。
JIT(Just-In-Time)での動作する。
C#はもともとJITで動作することを前提に作られているので、本来の力を発揮できる。
JITとは、中間コードを解読しながら動作する仕組み。
ちなみにC#はスクリプト言語と違い、あらかじめプログラミング言語を中間コードにコンパイルすることで、高速化を実現している。
AndroidではJavaで作られたものと同じぐらい高速で、C#本来の力が発揮できるJITで動作できるが、
monoVMはアプリケーションと一緒にインストールする必要があるため、アプリケーションのファイルが大きくなりがちである。
デメリットがありながらもXamarinを使う理由
かなりのコードを共通して、書き直すことなく再利用することができる。
HTML5ハイブリットアプリより高速だから。
エンタープライズ向けのアプリならCordovaの方がよいかも
Apache Cordovaは、Xamarinのようにクロスプラットフォームを実現する技術です。
CordovaはHtml5、Javascript、CSSといったWebのフロントの技術で、スマホアプリを開発します。
オープンソースのCordovaにもMicrosoftがかなり出資をしているらしく、Visual StudioやVisual Studio Codeでの開発も可能です。
エンタープライズ向けのアプリ開発にかなりの実績があります。
Onsen UIでモバイルアプリっぽくデザインすることで、スマホアプリらしい雰囲気を出すこともできます。
もっとクロスプラットフォームアプリ開発を勉強したい
今回Xamarinの勉強してみて、Androidの仕組み、iOSの仕組みを改めて理解をすることができました。
実際に開発してみたときの感覚や、さらに詳しいところで、クロスプラットフォーム開発について勉強したくなりました。
XamarinとCordova、近いうちにどちらも開発を試してみたいと思います。
今月の購入予定のマイクロソフト関連書籍
Azureテクノロジ入門2018
- 作者: 久森達郎、真壁徹、大田昌幸、藤本浩介、佐藤直生、安納順一、松崎剛、高添修,日本マイクロソフト株式会社
- 出版社/メーカー: 日経BP社
- 発売日: 2017/11/17
- メディア: 単行本
- この商品を含むブログを見る
過去に『Azureテクノロジ入門2016』というものが発売されていて、それが良かったので今回も購入したいと思います。
PostgreSQLやCustom Vision Serviceなどの新しい気になるサービスについても取り扱うということで楽しみです。
11月17日発売予定、たぶん2016年版同じくKindle版はなく、単行本版のみの発売になると思います。
MS新CEOが書いた本『Hit Refresh』
- 作者: サティア・ナデラ,グレッグ・ショー,ジル・トレイシー・ニコルズ
- 出版社/メーカー: 日経BP社
- 発売日: 2017/11/16
- メディア: Kindle版
- この商品を含むブログを見る
すでにKindleで英語で購入し、途中まで読んではいるのですが、技術的な話題というより、サティア・ナデラさん自身について、そして今後のマイクロソフトの思想について語っている本です。
日本語版が出ると言うことで、どのくらい一般の人の興味を惹くかはわかりませんが、マイクロソフトが好きな人は読んでおくといい本だと思います。
こちらはKindle版があります。
Xamarin本もなにか買うかも
iPhoneとAndroidにあまり興味ないので、Xamarinをやりたいという強い気持ちはないのですが、クロスプラットフォームアプリケーション開発をC#でどのように実現しているのかという点に結構興味があるので、1冊ぐらい解説本を買うかもしれません。
上のリンクはアソシエイトではないです
Amazonのアソシエイトプログラムに落ちました。
一応、応募してみたのですが、何らかの理由で落ちてしまったようです。
シンプル過ぎるブログデザインが問題なのかもしれません。
このブログまだ未完成に見えるのかも…
記事も増えてきたのでもう少し見やすい形にしようと思います。
VBAをマスターするにはオブジェクト指向の理解が必要
久しぶりにVBAを触ってみたら、以前書いたときとコーディングの感覚が大きく違っていたので、そのことを書きます。
VBAとは
VBAはVisual Basic for Applicationsの略で、MicrosoftのExcelやWordなどのOffice製品で動作するマクロ言語という種類のプログラミング言語です。
C言語を習いたてのとき挫折したVBA
VBAを書いた一番最近の記憶は、大学一年生でC言語のプログラミングを習いたてだったころだと思います。
他の大学に通っている高校の時の友達が、大学でVBAを習っているという話を聞いて、自分も少しやってみようかなと思って少しだけ触ってすぐ挫折したのを思えています。
VBAの基本的な文法が、C言語と大きく異なること、そしてオブジェクト指向の考え方がまだよく理解できてなかったからだと思います。
オブジェクト指向を学習した今は、VBAを比較的、楽にプログラミングできるようになりました。
VBAとオブジェクト指向
オブジェクト指向とは
オブジェクトを中心に考えるプログラミングの手法です。
説明するとかなり長くなってしまうので、詳しくはWikipediaを見てください。
オブジェクト指向プログラミング - Wikipedia
VBAはかなりオブジェクト指向な言語です
VBAがオブジェクト指向型言語であるかということについては、細かいところで議論があるようですが、個人的にはVBAはかなりオブジェクト指向的なコーディングスタイルだと思います。
VBがオブジェクト指向言語でない理由 -一般的にVBはオブジェクト指向で- Visual Basic(VBA) | 教えて!goo
なのでオブジェクト指向でのプログラミングを一度経験しておいた方が、より理解を深められ簡単にVBAでコーディングできるようになると思います。
実際に自分もC#とJavaでオブジェクト指向を勉強した今の方がVBAでのコーディング能力が高くなっていると思います。
なんとなくこんなプログラムを書いてみました
Sub Macro1() ' ' Macro1 Macro ' For i = 1 To 10 Cells(i, 1).Value = i Next ' Application.Goto Reference:="Macro1" End Sub
セルA1からA10まで1から10を表示するプログラムなのですが、はじめfor文を次のように書いてしまったため
『実行時エラー '1004' アプリケーション定義またはオブジェクト定義のエラーです。』と怒られてしまいました。
For i = 0 To 10 Cells(i, 1).Value = i Next
C言語の配列操作のためのfor文のように0から指定してしまっています。
そうです。ExcelにはA0というセルはありません。
ないはずのセルに代入をしろと言われ、Excelはエラーを吐いてました。
かなり初歩的なミスですが、新しくプログラミング言語を始めるときには、このようなちょっとした違いを覚えることが大事だと思います。
気づけて良かったです。