「オブジェクト指向・システム開発」カテゴリーアーカイブ

Windowsの元号の設定

情報源: Era Handling for the Japanese Calendar (Windows)

Windows 7/ Windows Server 2008 R2移行は元号の設定がバイナリファイルではなく、レジストリのエントリー化されています。基本的に改元時の新元号への対応はWindows Updateにて行われますが、閉塞環境等でWindows Updateがかけられないとか、パッチ適応さえ難しいといった場合には最悪レジストリの書き換えで何とかなるかもしれません。

それ以前のシステムはって?(ry

.NET Frameworkは動作しているWindowsが持つ元号の設定を使用するので気にする必要はありません。.NET Coreも原則同じなのでLinuxやMacの場合もOSが持つ元号を基本的には使用するので、ディストリビューションやAppleの対応次第になります。

Rider 2017.1.1 リリース

Please welcome the new .NET IDE’s first bugfix release: Rider 2017.1.1. You can either download the new build’s installer, or use Rider’s Help | Check for Updates menu to install a patch without the burden of downloading it all over … Continue reading →

情報源: Rider 2017.1.1 is released – .NET Tools Blog.NET Tools Blog

バグフィックスのみのようです。修正内容については以下を参照ください。

https://youtrack.jetbrains.com/issues/RIDER?q=Fix%20versions:%202017.1.1%20%23Resolved%20sort%20by:%20votes

ダウンロードは以下からになります。

https://www.jetbrains.com/rider/download/

TOKAIケーブルネットワーク ひかりdeネット10G  に関するすったもんだ

情報源: ひかりdeネット10G | ケーブルテレビ (TOKAIケーブルネットワーク) 本日契約しました。工…

情報源: ひかりdeネット10G  | OPC Diary

上に書いたようにTOKAIケーブルネットワークのひかりdeネット10Gを契約したのですが、契約後以下のことがわかりました。

  • 営業さんがルーターと言っていたのは、営業さんが混乱していただけで、ただのD-ONUでルーター等の貸し出しは無い。
  • D-ONUにはEthernetポートが2ポートあるが1ポートは電話アダプタ専用なので、インターネット接続に使用できるのは1ポートのみ。
  • 配布されるグローバルIP(IPV4)は1つのみ、有料でも複数配布するサービスは今のところない。

つまり、ひかりdeネット10Gというインターネット接続サービスは、下り10Gb、上り1Gbの回線を提供しながら、その先はすべてお客にぶん投げるという、まさに「投げっぱなしジャーマンサービス」というべきものでした。


三沢さんの懐かしい映像をどうぞ

全く素人にはお勧めしないというか、本当にどうしろとw

普通の一般人ではこの段階で絶望して終わりです。

この段階で契約を白紙に戻すことも考えたのですが、フレッツNext隼1Gが最近特に夕方から夜中にかけてはフレッツNext隼10Mぐらいの通信速度しか出ず、もういい加減どこかに乗り換えたいので、そこは思いとどまりどうするか考えることにしました。

まず、10Gb対応のNAT/IPマスカレード環境を構築しないと行けませんが、10Gb対応の安いブローバンドルーターとか当然無く、10Gb対応のヤマハルーターもない(お願いヤマハ様RTX810クラスで出してください!)ので、棒C社とかのエッジルーターとか見てみるわけですが、当然のように金額的にも技術的なハードルも個人でどうこうできる感じでも無いなぁって感じになるわけです。

いろいろ考えて見ましたが、せっかくの10Gbの回線にMAX 1Gbのルーター繋ぐのももったいないので、いっぱんじんである私は、PCでブロードバンドルーターを作る事にしました。ルータ用PCの構成は以下のようになります。

  • CPU : Intel Core i5 6600K
  • RAM : 16GB
  • SSD : 128GB
  • マザー: ASROCK H110M-ITX (miniITX)
  • 電源: 玄人志向 KRPW-SX400W/90+ (SFX 400W)
  • ケース: Silver Stone SST-SG06S-Lite/B(miniITX Case)
  • NIC : Intel X540-T2(10G BASE-T * 2)
  • OS : Fedora 26 Workstation

CPU, RAM, SSDはどこのご家庭にもある余り物です。オンボードのNICはUEFIで殺しています。NICはお値段がこなれてきた2ポートのIntelのX540を使用し、これで速度低下無しでルーティングできますね。

OSがFedora 26なのは、わたしがyum野郎で、「そう言えばまだFedora 26使ってなかった」からで、Workstationなのは私がWindows野郎なのでGUIがないと怖いから。

動作しているサービスは今のところfirewalld、upnpd、dhcpdのみで最低限のブロードバンドルーター機能を実現しました。とりあえずupnpdが起動時に一度こけるのが困りものですが、サービスを再起動すれば問題無くUPnPも動作しています。個々のインストールセットアップについては書きませんので、興味のある方は各位お調べください。いやーでも今本当に簡単ですね。

ゆくゆくはVPN環境等も整えていきたい所存。

また、ルーターとPC他を接続するためにバッファローのBS-XP2008という8ポートの10Gbのスイッチを購入しました。特に何も期待していなかったのですが、専用ユーティリティを使えばVLANとQOSの設定ぐらいは出来るようです。

ま、あと使ったお金のことは考えたくない。

最後になりますが、ネットワーク構成案を添付いたしますのでご査収ください。

さて、実際の工事はどうなりますことやら。次回は工事完了後にレポートいたします。

Gitのサブモジュール脆弱性とWindows, Visual Studioでの対策について

情報源: Advisory: Git vulnerability with submodules – Service Blog – Visual Studio Team Services

問題点

リモートリポジトリからフェッチするとき、URL内に埋め込まれたコマンドラインオプションでGit URLの解析を混乱させることができます。 これは、特定のコマンドラインオプションをssh実行可能ファイルに渡すために悪用される可能性があり、それらのオプションは “ProxyCommand”機能を使用して実行するコマンドを指定することがあります。

例:

このようなURLでメモ帳が開かれます。

もちろん、このURLは非常に面白く見えるので、誰かが自分自身をクローンすると確信することはまずありません。 代わりに、このURLがむしろ無邪気に見えるリポジトリにサブモジュールとして埋め込まれている場合、リスクが大きくなります。

攻撃者は.gitmodulesファイルを編集することによって、リポジトリ内のサブモジュールのURLを簡単に変更できます。

上記の悪用URLを指すように変更された例:

この無邪気なリポジトリで再帰的なクローンを実行すると、任意のコードが実行されます。

この問題はCVE 2017-1000117として報告されています。

対策

この問題の解決法は非常に簡単で効果的です:サブモジュールのURLは、Gitクライアントによってより詳細に調べられます。 SSHホスト名がコマンドラインオプションのように見える場合(つまり、「 – 」で始まる場合)、サブモジュールはブロックされます。 上記で参照した更新されたGitクライアントにはこの修正が含まれており、できるだけ早くインストールする必要があります。

  • 最新のGit for Windows(v2.14.1)は対策済みです。
  • Visual Studio 2017はこの週末公開予定のパッチを適応する必要があります。VS2017より前のVisual Studioが影響を受けることはありません。
  • また、Visual Studio Team ServicesのホストされたビルドエージェントをパッチバージョンのGitで更新しています。独自のエージェントを実行するチームでは、今週末に更新されたビルドを提供します。
  • 独自のGUIツールに関しては提供企業のサポートもしくは提供コミュニティに確認をお願いします。

Source TreeはWindows版がVer. 2.1.10、macOS版が2.6.1で対策がされています。以下のAtlassianのBlogを参照してください。

Security Warning (Git,Mercurial,SVN) – Atlassian Developers

Visual Studio 2017 Update 3, .NET Core 2.0関連の雑なまとめ

メモっす。

15.3の物に更新されています。

何か見つけたら足していきます。

Windows Subsystem for Linux on Windows Server

The Windows Subsystem for Linux (WSL) is available in Windows Insider builds of Windows Server. Now developers and application administrators can run tools they use in Linux environments alongside Cmd and PowerShell. If you want to jump straight in, the installation guide is available here. Why include WSL on Windows Server? We want Windows, including […]

情報源: Windows Subsystem for Linux on Windows Server – Building Apps for WindowsBuilding Apps for Windows

Windows ServerにWSLを組み込む理由

Windows Serverを含むWindowsを開発者にとって最適な場所にしたいと考えています。開発者、システム管理者、サービス管理者、サービス構築者は、Linux上で利用可能なツールを必要とすることがあります。利便性の問題として、Linuxツールをワークフローの一部として実行したいと考えている人がさらにいます。

LinuxツールをWindows Server上で使う方法には二つの方法がありました。一つはCygwinなどを使ってWindowsへ移植されたツールを使う方法ですが、しばしばこれはGemやライブラリの互換性の問題に直面し上手く行かないことが有ります。またそもそも移植されていないツールを使用することは出来ません。二つ目の方法はWindows Server上で仮想マシンを使う方法ですが、これではホストのWindowsとは切り離されすぎています。

WSL上でLinuxを動かすことで、この二つの方法での問題を改善できます。WSLは変更されていないLinux(ELF64)バイナリをネイティブに実行します。この事によりWindowsに統合された環境でほぼ全てのLinuxコマンドラインツールをインストールして実行できます。

あなたがサーバーエンジニアで、Linuxの環境、ファイルレイアウトを前提とするnode.js, Ruby, Python, Shell Script, その他のツールを実行させる必要があるなら、WSLを使用してLinuxをインストールして実行する機能により、Windows Server上で自由にツールを拡張できます。

WSLはLinuxサーバーでは無い

Windowsクライアント上のWSLと同様に、MySQL、PostgreSQL、sshdなどのデーモンやジョブを対話型シェルで実行できますが、WSLを使用して永続的なLinuxサービス、デーモン、ジョブなどをバックグラウンドタスクとして実行することはできません。

Windowsで永続的にLinuxのサーバーアプリケーションを動作させたい場合については、Build 2017の発表からHyper-V分離コンテナ上でのLinux実行について参照してください。

Windwos Server上でWSLを使用するにはどうすれば良いか?

WSLはWindows Server Insider Build 16237から追加されました。

次のインストール手順に従ってインストールすることが出来ます。

Install the Linux Subsystem on Windows Server

ひかりdeネット10G 

情報源: ひかりdeネット10G | ケーブルテレビ (TOKAIケーブルネットワーク)

本日契約しました。工事は26日の予定です。

サービス開始からそれなりの時間が経っているとは思うのですが、びっくりするぐらい使ってみた系の記事が無く、ONU一体型で無線LANが有り10Gbイーサネットが1ポートあるとしかわからず、どんなルーターが来るかもわからないのですが、ヒトバシラーになる覚悟で契約いたしました。

何故契約するの?

現在NTT西日本 フレッツNEXT 隼ファミリータイプ+Biglobeなのですが、契約当時は大体600Mbps程度出ていた回線速度が良くて300Mbps、ヒドイと20Mbps程度まで落ち込んできて速度低下が激しいためです。

というのはあくまでも建前で、ろくにレビューもされていない10Gbpsのインターネット接続サービスってどんなものか興味あるじゃないですか。

サービス内容は?

  • 下り10Gbps、上り1Gbpsの非対称10G-EPONのサービスです。
  • ONU一体型のルーターが貸し出されます。無線LAN(ac)もあり、10Gbイーサが1ポート他は1Gbイーサが数ポート有るようです。担当者が型式等認識しておらず、実際何が来るのか不明
  • オプションはひかり電話も契約
  • 標準でカスペルスキーが付いてくるようなのですが、FSB(旧KGB)に盗聴されそうなので、多分インストールしないだろうな。
  • フレッツテレビを契約していたので、同時にひかりdeTV(CATV)も契約しました。

切り替えに当たってのデメリットは

  • 電話番号が移行できない。通常の回線ならMNP出来るのですが、フレッツ光の電話番号からは移行できないようです。
  • CATVに切り替わることで、CNN等いくつかお金を払っても見られないCSチャンネルがある。ま。BBCは見られるので何とかね。そのかわり日経CNBCは見られるようですが。
  • フレッツの解約めんどくさい
  • 固定電話番号が変わるので諸手続が。。。

という事で、多少ドキドキしながら26日を待つ感じですね。

このあたりを物色しているのですが、良いNICが有ったら教えてください。

.NET IDE, Rider RTM (2017.1)

情報源: Rider 2017.1 – JetBrains .NET IDE hits RTM – .NET Tools Blog.NET Tools Blog

InteliJ IDEAなどを手がけるJetBrainsが開発する、.NET開発用マルチプラットフォーム(Windows, Linux, Mac)IDEであるRiderが正式リリースとなりました。

ダウンロード

購入

Riderとは?

Riderはマルチプラットフォーム(Windows, Linux, Mac)で動作する.NET開発用のIDE(統合開発環境)で、ASP.NET、.NET Core、.NET Framework、Mono、Xamarin、Unityの開発をサポートしています。ただし、Windows Forms、WPFなどWindowsのGUI開発用のデザイナー等は有りません。

Riderがサポートするプログラミング言語は、C#, VB, F#, ASP.NET’s Razor syntax, JavaScript, TypeScript, XAML, HTML, CSS, SCSS, LESS, JSON, SQLとなっています。

Riderの機能セットには、サポートされている言語、500以上のリファクタリング、さまざまなコードベースナビゲーションヘルパ、単体テストランナー、デバッガ、豊富なコーディング支援、さらに高度なIDE機能など、2,000以上のライブコード検査が含まれています。

以下の図が現状Riderで用意されているプロジェクトテンプレートとなります。

Riderのライセンス

Riderのライセンスはサブスクリプションのみとなっており、価格については以下のBlogもしくは上「購入」のリンク先を参照してください。

既に、JetBrainsのAll Productsライセンスのサブスクリプションをお持ちであれば、追加のライセンスは必要ありません。

Rider: licensing and pricing – .NET Tools Blog.NET Tools Blog

Riderの今後

今年少なくとも二つのリリースを予定しており、一つ目はどうしても回避できないバグ修正リリースを数週間後に。二つ目は秋頃に予定しているメジャーリリース(2017.2)を予定されています。このメジャーリリースでは、MSTestと.NET Core 2.0のサポートが目指されています。

また、フィードバック、バグ報告については以下で受け付けられています。

サポートフォーラム

イシュートラッカー

ということで、ついにRTMとなりました。

Riderは簡単に言ってしまうとInteliJ IDEAのIDEフレームワーク+ReSharper+αです。このため、InteliJ等JetBrainsのIDEになじみ深い人にとっても使いやすいIDE接続のとなっていますし、Visual Studio + ReSharperのユーザーに取ってみるとReSharperの強力なコード解析機能やリファクタリング機能をMacやLinuxでも使用する事を意味しています。

VS Code, Visual Studio for Mac、そしてRiderと.NETのクロスプラットフォームな開発環境もそろってきて、益々楽しみな状態になってきました。

追記(2017/08/05)

サムライズムさんからなら日本円でクレカ決済、銀行振り込みでライセンス購入が可能です。

Rider | サムライズム

やはり専用計算機化への流れなんだと思う

6400万のニューロンと同等のニューロシナプティックシステムを搭載:IBMと米空軍が「人間の脳」をヒントにしたAIスパコンを開発へ 「IBM TrueNorth」を使用 – @IT

それ何てSky Chipって話なんですが、ムーアの法則の限界点が現実的に見えてきているので、特定アルゴリズムを実装した半導体開発が必然になってきているのだと思います。ムーアの法則の限界点が現実的に見えてきているということは、見方を変えると計算量的な意味で汎用計算機の限界という事にもなるわけです。

汎用計算機自体無くなるわけでは無いと思いますが、今後限りあるトランジスタ数を有効に活用するため、このように汎用計算機から専用計算機への回帰が行われていくと思います。GoogleのAIチップや、MSのFPGAでの検索エンジン補助や機械学習実行などもその流れです。

参考: 

グーグルがAI向けの半導体を開発した意味 – 竹内研究室の日記