2017年8月31日木曜日

EXCELのハイパーリンクについて

こんばんは、もりーです。
最近私が困ったことについて紹介したいと思います。

とあるお気に入りのサイトがシングルサインオン認証対応されているので、
直接ページによく見ているページにアクセスしようと、
URLをEXCELのハイパーリンクを設定したのですが、、、

ハイパーリンクを押すと、普段OKのはずが何故か認証エラーに・・・。
調べていると、実は2007以降のオフィスの不具合らしく、
ハイパーリンクでURLを開くと、Cookie(セッションも)が紛失してしまうらしいです。
https://support.microsoft.com/ja-jp/help/899927/you-are-redirected-to-a-logon-page-or-an-error-page-or-you-are-prompte

なので、ログイン情報をCookie(セッション)で保持しているWEBサイトは、
ハイパーリンクで開くことができないということらしいです。

…ややこしいですね。
色々調べてみましたが、ハイパーリンクではどうしようもないらしく、
他の方がどうやっているか見ていると、マクロでボタンを作ったりなどして回避しているようです。
マイクロソフト側も不具合と認識しているのであれば、根本的に何とかして欲しいですね…。

2017年8月25日金曜日

携帯のセキュリティについて

皆さんこんにちは。ノムノムです。

以前、会社の研修でセキュリティを学ぶ機会があったのですが、そこでスマホでのセキュリティについて学びました。

スマホのセキュリティなんて画面ロックだけだろと思っていたのですが、他にもSIMカードロック設定があることを知りました。SIMカードロックを設定すると、電源を入れた時やスリープから立ち上がる時にPINコード(SIMカード用の暗証番号)を入力しないと本機が使用できなくなります。これは第三者の無断使用を防ぐために有効です。
この「SIMカードロック設定」はAndroidでの名称であり、iPhoneでは「SIM PIN」として表記されています。

さらに最近は顔認証・指紋認証もできるようになっていると教えていただいたので、今回は私が持っているスマホでどのような認識機能があるのかを調べます。

私が所持しているスマホの機種は「Xperia XZs(Android 7.1.1)」です。
ロックの設定を行うには「設定」の中にある「ロック画面とセキュリティ」の「画面のロック」で行います。次に認証についてですが、「画面のロック」の下に「指紋設定」があります。その下には「Smart Lock」というものがありますが、これだけを見てもわかりません。


Smart Lockは条件が合致すればロック状態を解除する機能です。条件は「持ち運び検知機能」「信頼できる場所」「信頼できる端末」「認識済の顔」「信頼できる音声」の5つの条件で設定できるようになっています。


今回はたくさんあるセキュリティ機能の中で指紋設定について調べます。

指紋設定の方法は、登録したい指を様々な角度で電源ボタンに数回触れることで行います。設定が完了すると設定した指紋としてリストに追加されます。


では実際にスマホをスリープにしてロック状態にした後、解除してみます。現在の設定は、指紋設定の他に画面のロック設定とSIMカードロック設定をONにしているので、指紋を登録していない者がロックを解除するには、画面ロック解除用のパスワードとPINコードの2つを入力する必要があります。

スリープから立ち上がりロック画面が表示された後、スワイプしてパスワードの入力画面に遷移します。画面ロックのパスワードを正しく入力した後にはPINコードの入力画面に遷移します。登録したPINコードを入力すればやっとHOME画面が表示されます。

指紋設定をした場合は、スリープから立ち上がりロック画面が表示された後、登録した指を電源ボタンに当てます。
するとどうでしょう!画面のロックとSIMカードロックの解除をしなくてもHOME画面が表示されました。
これは便利!他人であれば画面ロックとPINコードを入力するのに手間がかかるところ、指紋を登録した私であればなんのストレスもなくロック画面からHOME画面に遷移することができます。


この便利さには驚愕を憶えました!皆さんのスマホにも指紋設定があれば是非とも試してください。

次回は、Smart Lock内の条件付きのロック状態解除について調べます。

それでは、今回はこのへんで、またよろしくお願いします。

2017年8月18日金曜日

Visual Studio Online (VSO) でソースを管理しよう

こんばんは。よーです。2回目の投稿です!
今回は前回よりはちょっと?かなり??メジャーな情報だと思いますがVisual Studio Online (VSO) でのソース管理(バージョン管理)についてお話ししたいと思います。

いきなり質問ですが、開発拠点が複数(離れている)場合、ソースの受け渡しやバージョン管理をどのように行っているでしょうか?
私は今までVisualStudioで作成したソリューション、プロジェクト、ソースの一式をZIP圧縮してメールに添付していることが大半でした。
で、送られてきたZIPファイルを解凍し、こちらにあるソースとマージ⇒ビルドエラーがないことを確認⇒マージ後のソースをZIP圧縮⇒メール添付とするたびに「何かもっと効率的な方法はないかなぁ・・・」とよく思っていました。

そんなとき、インターネットで調べ物をしていると、「クラウド上でソースを管理できて、しかも5ユーザーまでは無料(*1)」なるものを見つけました。
 *1・・・一部課金や機能制限があるようです。
それが今回の「Visual Studio Online」。
これがどんなものか知りたくてイチから調べることにしました。

・・・と前置きが長くなりましたが、今回は「クラウド上にソースをチェックイン!」まで一気に実現したいと思います。

  • 兎にも角にもクラウド上に場所がなければ始まらない
まずはマイクロソフトさんに場所を提供してもらいましょう。
「Visual Studio Team Services」の「無償利用の開始」をクリック。

えっ?「Visual Studio Team Services」?「Visual Studio Online」ではないの?
ここの説明は少しややこしいので本家マイクロサイトや他サイトにお譲りしますが・・・
簡単に言うとこういうことです(こういうことだと理解しています・・・)

  ・Visual Studio Team Services ・・・自社にサーバーを立ててソースを管理する(オンプレミス)
  ・Visual Studio Online    ・・・インターネット上でソースを管理するサービス(クラウド)

まぁ難しい話は追々理解するとして(笑)。先に進めましょう。

自分だけの場所を作るために世界中でユニークな名前(早い者勝ちです)
Manage code using はお好みで♪。入力したら「Continue」をクリック。
すると、クラウド上に場所を作成してくれます。

はい!クラウド上にソースを管理する場所が出来ました。ほら、かんたんかんたん♪
  • サンプルソースは定番の「Hello World」
次にVSOにチェックインするサンプルソースを作成します。
言語は何でも良いので、C#でサクッと作成したいと思います。
あくまでサンプルです。期待しないでください。
「Hello World」ボタン押すと、「Hello World」とメッセージが表示されるだけですので。。。

  • いざ、チェックイン!

サンプルソースが出来れば、Visual Studio 2015 の「チーム」->「接続の管理」をクリック。
チーム エクスプローラーの「接続...」をクリック。


新しく接続先を設定するので、「サーバー」をクリック。
「追加」をクリック。
初回はログイン確認があるので、VSO登録時のアカウントでログイン。

VSOアカウント登録⇒接続と続けて行うとエラーが発生するかもしれません。
VSOアカウント登録後は、一度ブラウザを閉じる等しておいた方がよさそうです。
(今回、VSO接続まで続けて行うとエラーが発生し上手くつながりませんでした・・・)
(そのため、色々試した挙句、最後の手段。PC再起動でなぜかあっさり接続できました。ナゼだろう。。。)

気を取り直し。VSOに接続出来れば選択し「閉じる」をクリック。
VSOに接続できれば、チームエクスプローラから「ソース管理エクスプローラー」をクリック。

今回チェックインするフォルダを追加するため、ソース管理エクスプローラーで右クリック「新しいフォルダー」をクリック。
コメント入力して、いったんチェックイン。
さきほど作成したソースをローカルパスにコピー。
再びVisual Studio2015を起動し、ソリューションの右クリック「チェックイン」をクリック。
コメント入力して、チェックイン!

クラウド上の「Code」ページを確認すると・・・
結果!クラウド上にソースを管理できましたさ。めでたしめでたし。

2017年8月12日土曜日

Unityで1日ゲーム制作

お久しぶりです。
夏休みの宿題は最終日にする派のやっまむーです。

夏季休暇に入る直前に懐かしい記事を見つけました。

「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」

今から8年前のものですが、わずか1時間でテトリスを作る、その手際の良さに非常に衝撃を受けたことを記憶しています。

さて、この記事に触発されまして、Unityで1日で何かアプリを作れないものかと挑戦しました。
以下はその記録になります。

インベーダー風シューティングゲーム

できるだけシンプルなものを!ということで、某インベーダーゲーム風のものを作りました。
所要時間…約5時間

一先ず基本的なことは一通りやってみました。
  • キー入力
  • 当たり判定
  • 弾の生成
  • 敵の移動制御
  • シーンのリロード

ただし時間の都合でエフェクトやサウンドはパスしています。

色々と調べながらのため1時間では無理でした。
もう少し知識をつければスピードアップできそうですので、
今後も頑張っていこうと思います。

では今回はこのあたりで。

2017年8月4日金曜日

GoでAndroidアプリを作成 ~環境構築(on Windows)~

どうも

もりもりです。

GoでAndroidアプリを作りたいと思ったので今回も環境についてです。

Androidの環境はSDKもNDKも既に入っています。
OSはWindows10です。

gomobileのインストール

まずはgomobileをインストールします。

$ go get golang.org/x/mobile/cmd/gomobile

次はgomobileで必要なツールをインストールします。

$ gomobile init -v

※「-v」を付けて進捗を確認できます。

ちなみに、環境変数に「ANDROID_HOME」をセットしておかないと
NDKが見つからないと怒られます。
(そらそうですよね。。。)
元々NDKは入ってたので、initして別のところにNDK入るのかなと気になり
ソースを見ていて発見しました。
下記サイトにも書かれてありますし、
ソースを見てもAndroidのパスを見ているところがありました。

<サイト>
https://godoc.org/golang.org/x/mobile/cmd/gomobile
<ソース>
$GOPATH\src\golang.org\x\mobile\cmd\gomobile\init.go

サンプルアプリのビルド

さぁ、これでビルドできます。

$ gomobile build -target=android golang.org/x/mobile/example/basic

サンプルアプリのインストール

さて、Android端末でサンプルを動かしてみましょう。

$ gomobile install golang.org/x/mobile/example/basic
Success

Successと出たので成功です。

Android端末を見てみると。。。

目がチカチカしますが動きました。



今日はこのへんで。

ではまた~。