月別アーカイブ 8月 2018

著者:杉浦

地理院地図(電子国土Web)

 地理院地図(電子国土Web)は国土地理院の公開している電子地図です。3D版に地理院地図globというものもあります。
 
 国土地理院というだけあって日本に縁の深い情報と地図を絡めて表示する機能がとても優れています。下図の様な地域の避難場所を始めとして、日本の歴史、地理、災害、土地の特徴など様々です。

 単にこの画面だけのサービスでも有用ですが、ソースコードの公開、よく使われるライブラリとの連携方法などの説明もあり、開発者向けでもあります。

  • この記事いいね! (0)
asaba 著者:asaba

【android java】アーバンなUIを提供してくれるBootstrap

android版ライブラリbootstrapを試しに使ってみたので、今日はそのダウンロード方法や踏みつけたエラーを備忘録として残します。

アプリを作る時は、どうせならスタイリッシュなUIにしたいですよね。bootstrapは、twitter社生まれのcssフレームワークです。数あるフレームワークの中でも特に多彩なバリエーションのUIを揃えており、多くの企業がアプリやwebサイトを作るのに採用しています。そんなbootstrapは元々webアプリ向けに開発されましたが、androidでも一式用意されているので使ってみました。

導入方法ですが、まずgitからhttps://github.com/Bearded-Hen/Android-BootstrapREADME.md に説明が記載されているのでそれに沿って進めます。build.gradle(Module.app)内のdependenciesの中に下記のコードを加えます。

implementation 'com.beardedhen:androidbootstrap:2.3.2'

2.3.2はbootstrapのバージョンを指しているので、現在のバージョンに合わせて書いてください。余談ですが、自分は上記のコードをproject:〇〇〇というgradleファイルに書いてしまったためandroidstudioに怒られてしまいました。

なので、もう片方のapp:〇〇〇というgradleファイルに書いてください。

よく見るとファイル下に書いてありましたね・・・ここには書くなって・・・はい。

<pre>// NOTE: Do not place your application dependencies here; the belong
// in the individual module build.gradle files</pre>

次に、MainActivityと同じフォルダ内にTestBootstrapというアクティビティを新しく作ります。

package com.example.swift0910.myapplication;


import android.app.Application;

import com.beardedhen.androidbootstrap.TypefaceProvider;

// Applicationを継承
public class TestBootstrap extends Application {
    @Override public void onCreate() {
        super.onCreate();
        TypefaceProvider.registerDefaultIconSets();
    }
}

 

Applicationを継承するクラスのコードを書いたら、次にAndroidManifestに以下のコードを追加します。

android:name=".TestBootstrap"

以上で設定は完了になります。デザインはhttps://akira-watson.com/android/android-bootstrap-library.htmlのnyanさんのが一番しっくりきたので参考にさせていただきました。xmlコードや機能も載っているので、使いこなしたいという方は色々いじってみると本質がわかってくるかもしれません。

ライブラリって記載されているコード全部をコピーしてandroid studio内のローカルフォルダに入れていると思っていたので、まさかこんな簡単にダウンロードできるとは思っていませんでした。

  • この記事いいね! (0)
takahashi 著者:takahashi

サイトへのDDoS攻撃をモニターし、通知、表示してくれるサービス”DDoSMon”

先日、ふとMastodonのTLを見ていたらこんな投稿が…


日本最大級のMastodonインスタンスであるmstdn.jpに対して、DDoS攻撃が行われた旨を管理人のぬるかる氏が投稿していました。

DDoS攻撃はとても単純ながら厄介な攻撃で、一つの発信元(IPアドレス)から大量の通信を行うDoS攻撃とは違い、まったくバラバラな複数の発信元(IPアドレス)から大量の通信を行うため、IPアドレス制限などの単純な防御策では防ぐことができず、通常の通信と見分けがつきづらいという特徴があります。

このmstdn.jpのDDoS攻撃の話題が上がった際にこんなトゥート(ツイート)が回ってきました。

DDoSMon というWebサービスを利用すると、DDoS攻撃が発生した際に通知を受け取ったり、過去に攻撃を受けた際の履歴をを表示したりできるようです。

試しにmstdn.jpのDDoS状況を見てみました。

このような形で直近の攻撃や攻撃の種類など、DDoSを受けたときの細かい情報を見ることができます。

仕組みは不明ですが、有名なサイトであればデータはありそうですので、目的のサイトにアクセスできなくなった時の状況確認に利用できそうです。

  • この記事いいね! (0)
著者:ym

TLS1.3

TLS1.3 が正式に動き出した様です。早速 Firefox は対応しているので接続ができる。Chrome は遅れて対応となる予定。

いずれセキュリテイ業界的に TLS1.1 が廃止となって来ている今、1.2 だけではなく TLS1.3 への対応も準備しておかなければならない。

SSL ライブラリとしては OpenSSL のほかに LibreSSL という、もっとセキュリティの高いライブラリも存在するようです。このLibreSSLは、セキュリティを重要視しているOpenBSDの方たちが、OpenSSLから派生させたライブラリなので、そのへんは安心できるのですが、参照しているアプリケーション側の対応もあるので、なかなか手が出せないではあります。

「TLS 1.3」正式リリース、Firefoxなど主要ブラウザが対応 – ITmedia エンタープライズ

LibreSSL の意義

  • この記事いいね! (0)
著者:杉浦

ダミーデータ作成サービスMockaroo

 Mockaroo – Random Data Generator and API Mocking Tool | JSON / CSV / SQL / Excel
 Mockarooは様々なダミーデータを作成してくれる基本無料サービスです。無料ではダウンロード数の限界が1000個に制限されます。有料の場合、10万個、1億個などの大容量のデータを作成することができ、無料に比べて高速にダウンロードできます。無料でも簡単な動作テストに使用する程度ならば問題ありません。

 リンク先のタイトルにある様にMockarooはJSON、CSV、SQLを始めとして様々なフォーマットでダミーデータを作成できます。

また、Fxの関数マークからデータの欠け率やバイアス、偏りなども細かく指定できます。式のヘルプ

 このデータの指定部分も無料で使用可能な機能に含まれています。小さなデータであれば大体無料で不自由なく作ることが可能です。

  • この記事いいね! (0)
村上 著者:村上

【Windows10】PC起動時にアプリを自動的に起動する方法

今日の記事は、タイトル通り、WindowsのPCを起動した時に、メールソフトなどの特定のアプリを自動的に起動する方法についてです。
Macだとアプリのアイコンを右クリック → メニューから簡単に設定できるのですが、Windowsだと少々面倒だったので、備忘録もかねてメモ。

なお、参考にさせていただいたサイトはこちらから。

Windows10 起動時にアプリを自動起動 – スタートアップに登録 – PC設定のカルマ
https://pc-karuma.net/windows-10-app-startup/

 

作業ですが、まず事前準備として、デスクトップなどのアクセスしやすい場所に、PC起動時に自動起動したいアプリのショートカットを作成しておきます。
次に、画面左下のWindowsスタートボタン(四角形が4つ組み合わさったボタン)を右クリックします。
で、メニューから「ファイル名を指定して実行」をクリック。
そうすると、下のようなウィンドウが表示されるので、そこに「shell:startup」と入力してOKをクリック。

すると「スタートアップ」フォルダーが表示されるので、ここに先程準備しておいたアプリのショートカットを移動させます。
作業としては以上で完了です。

 

PC起動と同時に、自動的に必須アプリが立ち上がるのは便利ですね。
パソコンを使うときに毎回必ず起動させているアプリがある人は、この方法を使って自動起動の設定をしておいてはいかがでしょうか。

  • この記事いいね! (0)
asaba 著者:asaba

【office】office365が使えなくなるというメールが・・・

最近になってoffice365の利用期間が終了しましたというメールが来ました。買ったときはそのような契約はした覚えはないし途中でソフトを買ってインストールしたことはなかったです。

ExcelとかWordが使えなくなるの?買ったばかりなのに・・・と一瞬困惑しましたが、一旦落ち着かせて調べてみることに

すると、officeのソフトとoffice365は全く別物ということが分かりました。こいつはソフトではなく、クラウドサービスのようです。

・最新のofficeをどのデバイスでも使うことが出来る。

・どのバージョンのofficeソフトも互換性を気にせずに使える。いちいちアンインストールしてまたインストールしなくてもいい

・セキュリティ更新が自動

というメリットがあるみたいです。https://www.microsoft.com/ja-jp/office/2013/business/vp/user/office365.aspx

色々便利ですが、自分用パソコンではそもそもofficeのソフトをあまり使わないし使ったとしても大人数で管理するなんてことはないので当然スルーしました。

こういうのびっくりするから買ったときに説明してほしかったです。(若しくは自分が聞き逃したか)

  • この記事いいね! (0)
村上 著者:村上

【JavaScript】Mapboxの「There is already a source with this ID」エラーの対処法

先日投稿したMapboxのエラーについて、対処法が分かったのでご紹介!
というか、まさにほぼ同じことにお悩みの方がいらっしゃり、そこで対処法が紹介されていたので、それをコピー&ペーストしたら、動きました。
検索が下手だったようです…反省。

なお、以前の記事はこちらから。

【JavaScript】Mapboxで「There is already a source with this ID」エラーが発生【未解決】
https://cpoint-lab.co.jp/article/201808/【javascript】mapboxで「there-is-already-a-source-with-this-id」エラーが発生【未解決】

ざっくりと状況を説明すると、Mapboxで追加できるナビゲーション機能を追加してから一旦削除し、もう一度追加しようとすると、「There is already a source with this ID」という IDの重複エラーが発生し、ナビゲーション機能を追加できない状態でした。

 

さて解決策ですが、ナビ機能を削除する、removeControl() を実行したタイミングで下記の項目も削除するだけでした。

map.removeLayer('directions-route-line');
map.removeLayer('directions-route-line-alt');
map.removeLayer('directions-hover-point-casing');
map.removeLayer('directions-hover-point');
map.removeLayer('directions-waypoint-point-casing');
map.removeLayer('directions-waypoint-point');
map.removeLayer('directions-origin-point');
map.removeLayer('directions-origin-label');
map.removeLayer('directions-destination-point');
map.removeLayer('directions-destination-label');
if (map.getSource('directions')) map.removeSource('directions');

なお、この解決策が紹介されていた投稿はこちらから。

Error when adding controls dynamically #5089・mapbox/mapbox-gl-js・GitHub
https://github.com/mapbox/mapbox-gl-js/issues/5089

実際に、ソースコードに追加するとこのような感じ。

var directions;
function navi() {
    if(['条件:ナビ機能が追加済みだったら']) {
        map.removeControl(directions);

        /* ここから */
        map.removeLayer('directions-route-line');
        map.removeLayer('directions-route-line-alt');
        map.removeLayer('directions-hover-point-casing');
        map.removeLayer('directions-hover-point');
        map.removeLayer('directions-waypoint-point-casing');
        map.removeLayer('directions-waypoint-point');
        map.removeLayer('directions-origin-point');
        map.removeLayer('directions-origin-label');
        map.removeLayer('directions-destination-point');
        map.removeLayer('directions-destination-label');
        if (map.getSource('directions')) map.removeSource('directions');
        /* ここまで */

        directions = null;
    } else {
        directions = new MapboxDirections({
                        accessToken: mapboxgl.accessToken
                    });
        map.addControl(directions, 'top-left');
    }
}

どれか一つがなくてもダメなようで、試しに2行ほど削除してみたのですが、当然ながらその行でエラーが発生し、実行できませんでした。

作業は以上で完了です。
画面をリロードして動作確認をしたところ、問題なく動作しました!

 

以上、Mapboxのエラーの対処法でした。
前回の記事でも書いたのですが、Mapboxのナビ機能ってそこそこサイズが大きいので、特にスマートフォンでは表示/非表示を行いたかったんですよね。
最初はCSSを操作して、ナビゲーションウィンドウを消すことも考えたのですが、ウィンドウが見えないだけでナビ機能は有効だったので、どうしても機能自体のON/OFFを切り替えたかったんです。

あとは…ラベルとか、ナビの道順のところを日本語化できないかな…と考えています。
こちらもとっかかりが見つかったら、改めてご紹介したいと思います。

  • この記事いいね! (0)
asaba 著者:asaba

画面真ん中に出てくる「アレ」を駆逐する方法

半角あるいは全角変換するときに「あ」もしくは「A」と表示されることはありませんか?

作業中やネット閲覧中にいちいち出てこられるととてもうっとおしいのでここではそれを表示させなくする方法を書いていきます。(すごく簡単ですが)。

まず、画面右下のA(あ)をカーソルに合わせて右クリックします。

一覧を表示後プロパティタブを選択します。

上のダイアログが表示されたら下部の画面中央に表示するについているレ点チェックを外します。これだけで消えてくれます。調べたらどうやらWindows10からの仕様みたいですね。右下アイコンが小さくてみにくいので、視覚的な補助をするためなのかな?と思いましたがどれが真説化は不明です。短いですがおしまいです。

 

  • この記事いいね! (0)
asaba 著者:asaba

WRO Japan 浜松予選会 2018に出席しました

今日は、浜松市可美公園にてWRO Japan 浜松地域実行委員会様主催のロボットコンテストに動画撮影役として出席しました。

今回のWROの大会も、種目別で小中学生ミドル・小中学生エキスパートと二つの種目があり、決められたコースで何点取れるかどれだけ早いタイムを残せるかで優勝を争い、高い得点を出した3位までのチームが表彰の対象になります。

コースアウト、若しくは動きが一定時間止まってしまった場合はリタイアとみなされます。車検おいても、決まった大きさの箱に収まらなければ組み直し、それができなければ失格とやや厳しめに取り決められています。

自分は学生時代ロボコンは参加したことはないのですが、プログラムでレゴを動かした経験があるので組立やプログラミングでわいわいしている子供たちを見てちょっとノスタルジックなを感情になってしまいました。

会場はかなり蒸し暑かったです(途中から空調効きすぎました。)が、この暑さに負けずに選手、審判そしてスタッフさん方も真剣にコースを確認したりプログラムを入れ直したりと会場内は8月の残暑に負けないくらいに熱気に包まれました。

自分も、順調にオブジェクト(車で運ぶレゴ)を運んでいたのにコースアウトしてリタイアしてしまったときは思わずあー・・・とため息w感情が入ってしまいました。

車両を撮っていると、チームごとに車の構造が違っていることに気づきました。きっと筆者の思いつかないであろうプログラムを組んだうえでの計算されたデザインなんだろーなと思わず見とれてしまいました。そして、自分もプログラマーなので小中学生に負けたくないと大人げない感情が出てしまいました(汗)

そんな感じで間近で撮影していると、あっという間に終了時刻の3時30分に。大会は終了しましたが、予期せぬアクシデントにも落ち着いて対応する姿、役割についてしっかり声かけて確認したりする姿がよく見受けられ、純粋にものづくりを楽しんで熱中しているなと感心しながらも自分も子供たちから学ぶことがたくさんあると感じた一日でした。

リタイアが多発したり、競技寸前に車検をやり直したりと本当にほんっとうに色々ありましたが、優勝したチーム、優秀賞を受賞したチーム、改めておめでとうございます!次は全国大会ですが、自分たちの持ち前の想像力をフルに活かして更なる高みを目指してください!

 

 

 

  • この記事いいね! (0)