全プログラミングキッズ待望のゲームができた!コードで戦うゲーム

時々、思ったことはありませんか?

アニメとかゲームとかの設定でよくある、すごいプログラマーがいて、そのプログラミング力で敵を倒すやつ。やってみたいと…!

ガンダムSEEDみたいにモビルスーツのOSをチャチャッと書き換えて、敵に勝つやつですよ。

「男と生まれたからには誰でも一生のうち一度は夢見る「地上最強の男」」

ってよく聞きますよね(笑)。

まー私は女ですが、強さを決めるってなんかワクワクしますよね。( ˊᵕˋ )

競技プログラミングとかもありますが、

「なんかこう燃えないな~」

と思っていませんでしたか?

なんかもっと、直接バトルっぽいApexっぽいのがやりたいな~ とか!

(·:゚д゚:·)ハァハァ
すみません、中二病全開が過ぎましたね。

それがなんと、そんなゲームができたらしい。

JavaScriptを打ってキャラを操作する対戦ゲーム、Steamで配信 Rustなど計13以上の言語にも対応

https://www.itmedia.co.jp/news/articles/2204/08/news140.html

 

というわけで、早速やってみます。

最初につまづいたのが、

オール英語。

そっか。そりゃそうか。

なので操作方法とか、そもそもどうすればいいのかがわかんなかったところも多くありました。

APIのドキュメントも字が小さい(笑)

しかし、チュートリアルもついているのが優しい!これありがたかった~

自分のチームの部隊をどうやって動作させるか、などはチュートリアルにサンプルコードがあるので、それで大体わかります。

というわけで、早速作ってみました。

私が作ったコードは結局2時間ぐらい取り組んでチュートリアルをつぎはぎしたにすぎません…。

でも、対戦してそこそこ勝てた(笑)

下記の動画で、白いのが私のコマで、違う色が敵さんです。この動画では、2戦して、2戦とも勝てました v( ̄Д ̄)v イエイ (最初の敵さんはピクリとも動かなかったのと、2回目の敵さんは辛勝でしたね(笑))

 

 

これ、動作させている途中にコードを書き換えることはできません。

この動画で動作させているコードはこちら。javascript です。

import {getObjectsByPrototype} from '/game/utils';
import {findInRange} from '/game/utils';
import {Creep} from '/game/prototypes';
import {Flag} from '/arena/prototypes';
import { getTicks } from '/game/utils';
import { ERR_NOT_IN_RANGE, ATTACK, RANGED_ATTACK, HEAL, OK } from '/game/constants';

export function loop() {
    var enemyFlag = getObjectsByPrototype(Flag).find(object => !object.my);
    var myCreeps = getObjectsByPrototype(Creep).filter(object => object.my);
    for(var creep of myCreeps) {

        
        let targets = getObjectsByPrototype(Creep).filter(c => !c.my);

      if(creep.body.some(bodyPart => bodyPart.type == ATTACK)) {
         attack(creep, targets)
      }

      if(creep.body.some(bodyPart => bodyPart.type == RANGED_ATTACK)) {
         rangedAttack(creep, targets)
      }

      if(creep.body.some(bodyPart => bodyPart.type == HEAL)) {
         heal(myCreeps, creep)
      }

      creep.moveTo(enemyFlag);

    }
    console.log('Current tick:', getTicks());
}

function rangedAttack(creep, targets){
   let targetsInRange = findInRange(creep, targets, 3);
   let result
   if (targetsInRange.length >= 3) {
      result = creep.rangedMassAttack();
      console.log('遠隔全体攻撃 結果')
      console.log(result)
   } else if (targetsInRange.length > 0) {
      let result = creep.rangedAttack(targetsInRange[0]);
      console.log('遠隔攻撃 結果')
      console.log(result)
   }
}

function attack(creep, targets){
   let target = creep.findClosestByRange(targets);
   if (target){
      creep.move(target);
      const result = creep.attack(target);
      console.log('攻撃 結果')
      console.log(result)
   }
}

function heal(myCreeps, creep){
   var myDamagedCreeps = myCreeps.filter(i => i.hits < i.hitsMax);
   if(myDamagedCreeps.length > 0) {
      const heal_result = creep.heal(myDamagedCreeps[0])
      if(heal_result == ERR_NOT_IN_RANGE) {
         console.log('遠くてHealできないので近づきます')
         creep.moveTo(myDamagedCreeps[0]);
      }else if(heal_result == OK){
         console.log('Healした')
      }
   }
}

コードの説明を軽くすると、これを、PC内の所定のディレクトリにおいておけば、このゲームが勝手にサーバーにアップロードしてくれて動作するという仕組みみたいです。
なので、勝敗はもうPlayボタンを押したときに決まっているわけですね。

動作させるとタイムフレームが1個ずつ進み、loopという関数の中が実行されます。
console.logが使えて、出力内容は盤面の下に表示されます。

自分の部隊、敵さんの部隊はcreep というオブジェクトで、これの中にまたBody Partというものがあって、それにattack とかranged attack とかなどの属性があるようです。

ちょっとしょぼいコードではありますが、とりあえずやってみたい人の参考になればと思い、載せておきます!

やりこみ要素はもっとあって、例えば陣地の中にある塔からビームを出したり、その塔にエネルギーをチャージしたり(?)などもできるみたいです!

(すみません、時間の都合でチュートリアルの半分しかやってない)

 

Steamで配信中で、2000円ぐらいです。⊂(^-^)⊃

 

いや、でもこれ作った人達すごいわ。

感謝ですね!

 

余談ですが、今日は日曜日なんですけど、PHPerkaigiというPHPのオンラインの勉強会があったり、このゲームやったり、プログラミング三昧です。

それが楽しいんでいいんですけどね!⊂(^-^)⊃

「コンピュータシステムの理論と実装」という本を読みました

この本はですねー。

本当に読むのに時間がかかりました…。


多分、2年近くかかってると思う(;’∀’)

読むきっかけは、

ゼロから作るDeep Learningという本を読みました

で紹介した、「ゼロから作るDeep Learning」という本で、この本が紹介されていたからです。

Deep Learningを勉強していくなかで…NandとかXorとかがすぐに理解できなかったんですよね。

 

私は、ずっと文系で来て、学校でコンピューターのことを学んだわけではありません。

なんかねー、そういうことを勉強してきた人にかなわないなって普段思ってるんですよ。

 

読むのに時間がかかった理由は、内容が難しいというのにプラス、コードを読んで、それをエミュレーターで実行しないと理解が進まない(;^ω^)

そして、そのエミュレーターの使い方が英語でしか説明がない…(つД`)

ありがたい話で、nand to tetris(原題:Nandからテトリス)ってググるとどなたかが作ったサンプルにたどり着きます。

プログラマーとして、日々プログラムを書いてちゃちゃっと実行していますが、ここに人類がたどり着くのに、すごい、道のりがあったんだなと。

よくこんな仕組みを思いついたな~と感動があります。

 

本当にいい本ですよ。買ってよかったし、読んでよかった。勉強になったし、面白かった。

私のような文系出身プログラマーにはお勧めです!

 

量子コンピューターが世界を変えるのかも

表題の話は、おとといぐらいにニュースになってましたね。

スパコンで1万年かかる計算を3分20秒で? 量子コンピューター

https://www3.nhk.or.jp/news/html/20191024/k10012146191000.html

すごいことだと思います。

IBMが反論していることも話題になってますね。

私には、真偽のほどはまったくわからないですが!

AIって、計算にすごく時間がかかるんですよ。AIによる生産革命にもっと拍車がかかるかもしれませんね。

逆に、暗号がすぐに破られるのではないかという懸念もされてますよね。

秘密にしたいような情報は、ネット上にはおけない時代になるのかもしれないし、逆に誰もが見れる情報には価値がなくなっちゃうのかもしれません。

それにしても、こういうわくわくするようなニュースに出会えて、5年後はどうなっているかわからない。

新しいことにどんどん出会える。

それがIT業界のいいところだと思います!

それにしても、量子コンピューターのイラストがあるなんて、いらすとやさん、しゅごい…。

Gitクライアントの話

Gitクライアントって何使ってますか??

私は、実は昨日までCLI(コマンドライン)で使ってました。

Windowsのコマンドプロンプトで使うやつです。

その前まで、SourceTreeを使ってたんですが、SourceTreeがなんかの不具合で使えなくなって、直す気がなくなってCLIを使ってました。

 

CLIの利点がいくつかあって

・速い!!!!

・複雑なことをしやすい

・できるプログラマー感がある(笑)

ですね。

 

デメリットは

・ファイルの差分を見るのがめんどい!!

・視覚情報が少ない…

です。

これは私からした考えなので、ほかの人は違う意見だと思います。

 

しかし、今日、やっと思い立って、SourceTreeを直して、使いなおしました!!!

理由は…。

やはり、ファイルの変更差分を見るのに、GUIの方が圧倒的差があるからです。見やすいし、コマンドうつ面倒くささがない。

その差…っ!!圧倒的…っ!歴然…っ!!!

んで、ファイルの変更差分を見る、というのが私的には一番Gitでやりたいことなんだよなぁぁ。

そして、SourceTreeさんもなんだか早くなってる!!(現在のバージョンは2.5.5.0)₍ᐢ⑅•ᴗ•⑅ᐢ₎♡

 

とはいえ、コマンドラインでも操作ができたほうがいいときがありますね。なんかおかしくなっちゃった時とかの操作が、SourceTreeだとにっちもさっちもいかなくなる時があるからです。(´・ω・)

ちなみに、Githubご謹製のGitクライアントも試したことがありますが、SourceTreeの方が使いやすかったですね。

もし、ほかにオススメのGitクライアントがあれば、教えてください。

みちびきの話

さてさて、日本版GPSともいう「みちびき」が11月1日にスタートしましたね!

http://qzss.go.jp/

弊社では、Smart動態管理や、タクシー検索たくる といった、位置情報を使ったサービスを運営してますので、みちびきについては時々聞かれます。

よくある勘違いがコレ!!

「みちびきができたからさ~ 御社のアプリでもGPSの精度がセンチメートル単位になるのでは?」

残念ながら、そうではありません!!(´・ω・`) (そうだといいんだけど)

Wikipediaさんによると、

準天頂衛星システム

https://ja.wikipedia.org/wiki/%E6%BA%96%E5%A4%A9%E9%A0%82%E8%A1%9B%E6%98%9F%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
cm級測位に必要な補正情報を民間に無償で配信(日本国内限定)しているのは現状QZSSだけである。もっとも、2018年時点ではcm級測位に必要なモジュールやアンテナは車両や大型ドローンへの搭載レベルであり、携帯電話・スマートフォンへの搭載は大きさや消費電力の点から実現していない(これはQZSS以外のGNSSでも同様である)。

また、cm級測位は農耕車や工事車両、測量などを主眼としており、測定には衛星経由のため10数秒のタイムラグが生じる。よってカーナビなど高速で移動する車両等では、cm級測位は利用するとしても他の測位技術と組み合わせた補助的な利用となる[26]。

つまり、平たい言葉で言い直すと、スマホではまだセンチメートル級の測位はできない、ということです。

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ うわあああああぁぁぁぁぁぁぁ

 

日本では、iPhoneでみちびきが受信できます。

かといって、iPhoneは昔から測位がいいんですよね。ロシア版GPSである、GLONASSというシステムがありますが、それを受信しているからだともいわれています。

正直なところ、みちびき以前・以後であまり変わらないな~と思われます…。

Androidについては、GLONASSを受信しているかどうかは、機器によります。

 

ちなみに、衛星が今どの辺をどのぐらい回っているのかを、なんと見ることができますwww

GNSS View

http://qzss.go.jp/technical/gnssview/index.html

 

早速見てみましょう~

いっぱい飛んでる~ ⊂(^-^)⊃

実にムネアツ!!(…でもないか…)

QZSが日本のみちびき、GPSがアメリカの衛星、GLONASSがロシアの衛星、BDSが中国です。以下略。

 

OCテックノートができました。

弊社の新しいオウンドメディア、OCテックノートができました!

OCテックノート

 

パチパチパチパチ。(๑•̀ㅂ•́)و✧

実は、以前、「でじうぃき」って名前で運営していたWikiで作った情報サイトがあったのですが、それをWordPressに移行した形になります。

理由は、「でじうぃき」はPukiwikiというWikiのクローンでできていましたが、もう10年ぐらい前からあるので、劣化が激しかったからです…。

Pukiwikiも進化しないしね…。

移行はちょっと大変だったんですけど、弊社のMが移行プログラムを書いてくれました。ありがとう!⊂(^-^)⊃

こだわったのは、コードが見やすいこと。

どうでしょうか?

 

でじうぃきは、名刺を渡したりすると、

「あ、このロゴ見たことあります」

って言ってもらえることが多かったりして、それなりに世間の役にたってたのかなと思ったりしました。

 

んで、OCテックノートはどういう位置づけかっていうと、いわゆる、ITの会社が運営するテックブログとは違います。

もっと現場に近い形で、じゃんじゃん書いて、じゃんじゃん検索してもらえるサイトを目指しています。(๑•̀ㅂ•́)و✧

誰かがノートのはしっこに書いたことが、誰かの役にたてばいいな~。っと。

でじうぃきから変わらない方針ですね。

 

この業界って、日本語情報ってやっぱり全然少ないんですよね。

なので、Stack Overflow見て解決したことでも、誰かが日本語で書き直してくれると、助かりませんか?

私的には大変ありがたいです。

 

後は、

「みんなが!驚くような!最先端かつ全く間違いのない記事を書いてやるぜ!!ハハハ (゜∀゜)」

とか思っていると、おそらく永遠に書く日が来ません。。。(´ω`)

なので、勉強中でもいいし、間違っててもいいので、アウトプットすることが大切と思っています。⊂(^-^)⊃

アウトプットしていると、間違ってると誰かが教えてくれて、それが自分の進化につながりますからね!

それがこの業界っぽいじゃないですか!

 

後は、アウトプットすると、アウトプットした分、自分のものになるって側面ありますよね。

Alpha Go Zeroのすごさを機械学習とか知らない人向けに説明してみる

Deep Mind社のAlpha Goという囲碁のAIが人間のプロ棋士を負かした、というニュースは皆さんご存知かと思いますが、実はAlpha Goはそれからさらに進化していて、Alpha Go Zeroになっています。

Alpha Go Zeroの何がすごいかっていうと、

①自分自身との対戦で強くなった(教師とするデータがいらない)

②GPUなどの消費がずっと少なくなった

③以前のAlpha Goが数か月で達成した強さをAlpha Go Zeroは数日で達成

③それでいてAlpha Goよりずっと強い(100-0でAlpha Goに勝利)

 

というところなのです!!

この教師とするデータがいらない、というのはすごいことで、なぜかというとデータを集めるのが大変なんですよね。

碁の棋譜データとかは、もうデータになってるんですが(1000年以上分ぐらいらしい(´ω`))昔に紙に書かれたものを、集めるのも大変だっただろうし、データにするのはさぞかし大変だっただろうし、というわけです。

 

2017年10月19日に学術誌Natureに下記のAlpha Go Zeroの論文が発表されていますので、今これを勉強してます。

Mastering the game of Go withouthuman knowledge

https://www.nature.com/articles/nature24270.epdf?author_access_token=VJXbVjaSHxFoctQQ4p2k4tRgN0jAjWel9jnR3ZoTv0PVW4gB86EEpGqTRDtpIz-2rmo8-KG06gqVobU5NSCFeHILHcVFUeMsbvwS-lxjqQGg98faovwjxeTUgZAUMnRQ

 

自分でも考えをまとめるために、いろいろとここに記述しておきたいと思います。

このブログでは、あまり技術的なことは書かないつもりなんですが、現在弊社の技術的なオウンドメディアはメンテナンス中なので、ここに書きます。

 

さて、私の好きな名言に

『6才児に説明できなければ、理解したとはいえない byアインシュタイン』

というのがありますので、ならってやってみようと思います。

Alpha Go Zeroの理論のすごさをAiとか機械学習とかまったく知らない人に説明したいと思います。

 

私の大好きなマンガ、ドラゴンボールの主人公、孫悟空にたとえてみますね!

———————————————————————————————————————————-

孫悟空は亀仙人とか、カリン様とか、界王様とか、いろんな師匠に教えられたり、ピッコロ、ベジータ、フリーザなどの強敵と戦って強くなるじゃないですか。

しかし、孫悟空のクローンが作れるとしたら、孫悟空は自分自身のクローンとずっと対戦してた方が、いろんな先生に教わるよりも、敵と戦うよりも強かった。ということ発見されたわけですね。

 

ここでミソとしては、ただたんにクローンと対戦しててもダメなのです。

6人ぐらいの孫悟空のクローンが同時にいたとして、2人ずつ3組に分けます。

3組は同時に戦います。うち一組を①とすると、①チームは

「最初は軽いパンチ、次にカメハメ波を出したほうが強い」

とかそういうことをひたすら研究します。研究結果はメモって記録していきます。

もう一つの2組目②は、①の研究結果を使って実践で対決します。

んで、本当に強いのー??ということを研究します。研究結果はメモって記録していきます。

最後の3組目③は、②の結果を使って、本当に試合形式で対決します。

そして、勝ったクローンを残し、負けたほうは消滅する、という手段で最強のクローンを残します。

(③の結果は、①チームにも②チームにもフィードバックされます。)

 

これが同時に繰り返し行われることで、この最強のクローンがどんどん強くなっていく、ということです。

ただ、100万回ぐらい繰り返さないとダメなんですけどね(;^ω^) 「精神と時の部屋」でやればいいんでしょう。

 

悟空が強くなるためには、最初に格闘技の知識すら必要ありません。

———————————————————————————-

 

 

以上はだいぶ概略のイメージです。

伝わったでしょうかー?!( ゜Д゜)

 

しかし、6歳児には説明できてないなw

 

ドラゴンボール好きな人には説明できたかもしれないww

実はこのたとえ話を書きたかったw

 

AIの強さがどんどんインフレしていく感じが、少年漫画っぽいじゃないですか。

前回のシリーズで敵だったキャラが、今回の敵キャラにまったく歯が立たない、というのはよくある展開ですよね!!

Alpha Goは、もうAlpha Go Zeroにまったく歯が立たないんです。

「おめー、つええなぁ。オラ、わくわくすっぞ!!」

 

 

ところで、この仕組みを

「いたって単純」

という人がいます。上のたとえを読んだ人も、そう思われたのではないでしょうか?!

スゴイプログラムというのは、なんかもっとそんな単純なことじゃなくって、何万行もあったり、その中でヽ(*`Д´)ノ【ス】【ゴ】【イ】ヽ(`Д´*)ノことが行われたんじゃないか、と思われたのではないでしょうか?!

 

ちなみに、論文読んでるだけではわかりにくい部分もあるので、下記のソースコードをサンプルにして勉強しました。

下記はオセロをAlpha Go Zeroの仕組みで学習する、というプログラムです。

https://github.com/suragnair/alpha-zero-general

確かに、とってもシンプルです。

 

 

印刷すると、ホワイトボード一枚に収まるらしいですね。

 

「AlphaZeroのソースコードはわずかホワイトボード一枚に収まる : 情熱のミーム 清水亮」

https://japanese.engadget.com/2018/02/12/alphazero/

 

わかってしまえばそうだな、なんぜ今までやらなかったんだ!ということって、結局それを発見、発案した人はすごいですよね。

コロンブスの卵と一緒ですよね。

 

単純なことだとしても、「わかる」までの道のりは、果てしなく遠かったわけじゃないですか。

今までのAlpha Goでの取り組み、モンテカルロ木探索、強化学習、ResNetとか今までの研究結果のいろんなことを詰め込んでなされたわけですよね。

 

この仕組みを考えた方の努力と天才性に拍手喝采、そしてそれを公開してくれることに感謝感激です。

 

実用性に異議を唱える人もいますが、世のいろいろな人が試してみたところ

・完全情報公開ゲーム

・ゼロサムゲーム

では、この方法が相当強いことがだいぶ証明されているようです。

 

 

次回は論文の中身を真面目に紹介する予定でーす(`・ω・´)

国内のサーバー業者のクラウド

GWも明けましたね!急に寒いですが、体調大丈夫でしょうか?

私は、今日はヒートテック着てても寒かったです(>_<)

 

実は、GW中の1日に、とあるお客様向けに納入したシステムでサーバートラブルがありました。(Smart動態管理ではありません)

なぞの不具合で、私も一通り的なことはわかるのですが、対応しきれず、最終的にはサーバー管理者Tに出社してもらう羽目に…。

Tには申し訳ないことをしました。(>_<)

使っているのは国内事業者のクラウドなんですけどね。

なぜかどんどんファイルが破損していくという不思議な現象がおきまして。

突然の再起動を起こしたり。SSHでログインできなくなったり。

ハードの不具合かと思ったんですよね。

 

結局原因不明でして。復旧の方を優先させたんですが。

結局原因不明というのはこの世界でよくあることだから仕方ないんですけど、サーバー業者さんの対応があまりよくなかった(>_<)

2度も電話したんですけど、マニュアル見て返事してるって感じで

「OS立ち上がってるならこちらのせいではありません」

「こちらでは不具合起こってません」

とのお答え。

 

AWSって、サポート有料だけど、もっと突っ込んだことまで教えてくれるんですよ。

ま、同じ不具合が起きたことがないので同じことが起きたらどうかはわかりませんけども。

なんというか、技術力で彼我(USと日本)の差があるのは仕方ない。

しかし、対応の親切さで差があるのはなんかな~。わざわざ国内事業者選んだ意味がないですよ(つД`)

サーバー業者もこのままじゃ、MSとAWSの2強だけになっちゃうんじゃないかな。

 

同じような体験をした方がいたら教えてください。

パソコン作ったった

今日はネットワークの障害があって、大変でしたね…。

弊社も弊社のサービスがつながらない、とお客様からお問い合わせが多くありました。

こんなこともあるんですね。

さて、最近パソコンを作りました~(^_^)

目的は、新しいパソコンほしかったのと、単に勉強のため(`・ω・´)シャキ

今まで、メモリを増設したり、BIOSの電池変えたりぐらいのことはしたことがありますが、作ったことはなかったので、いっちょやってみるか!と。

 

私、機械ダメなんですよw

ナチュラルボーンマシーンブレーカー というか。

プラスとマイナス間違えてくっつけるとか、なんやかんや壊してしまうんですよねw

もちろん、仕事でそれではいけないですが、ハードウェアを触るような仕事はほとんどありません。

よかった!!最低限起こるハードウェア的な仕事も

「わっ わたしはソフトウェアを扱う専門だから!!」

と言ってほかのもっとそういうことが得意な人にやってもらってます。

Linuxをシェルで操作するぐらいはやるんですけどね。

 

ですが~

やっぱりソフトウェアはハードウェアの上で動くものなので、その仕組みって絶対知っておいた方がいいとはずっと思ってたんですよね(>_<)

 

それにしても、所要時間3時間ぐらい、結構大変だった…。(>_<)

このマザーボード使いました。

 

まだまだ勉強中ですが、楽しんでやっていきたいです~⊂(^-^)⊃

 

IoTの間口を広げる!ソラコムの導入サポートを発表しました。

本日、下記のプレスリリースを行いました。

リーズナブルな価格帯のSIMソラコム「SORACOM Air」の導入をサポート。

株式会社オンラインコンサルタント(所在地:神奈川県横浜市 代表取締役 後藤 暁子)は、株式会社ソラコムの「SORACOM Air」を利用したサービス提供を発表しました。運送業・配送業向けのアプリSmart動態管理の利用の際に、リーズナブルな価格帯のSIM 「SORACOM Air」の導入をサポートします。
IoT時代に、車とネットの結びつきを、低価格で中小の運送会社・配送会社でも導入しやすいようにします。

 

詳しくは、こちら↓!

http://doutaikanri.com/inroducing_reasonable_sim_service/

 

つまり、端的に言いますと、ソラコムさんを利用することで、月額300円ちょびっとでSmart動態管理で自社のトラックや車の位置が把握できるということなのです。

Smart動態管理は月額950円/1台ですから、月額1250円で利用できちゃうのです。

中小の運送会社・配送会社様が弊社のメインターゲットですが、やはりコストは大変気になるところだと思います。

IoTとか日経新聞とかにワーワー載ってますが、自社には関係ないわ~ とか、先端技術だからすごい投資しなくちゃいけないのでは?思われている会社さんも多いですよね。

そんなことはありません!

というわけで、Smart動態管理のダウンロードはこちらから。m(_ _)m

【ダウンロード】

Android版
https://play.google.com/store/apps/details?id=smart.location.admin

iOS版
https://itunes.apple.com/jp/app/smart_location_admin/id827594007?l=ja&ls=1&mt=8

 

弊社の別の担当がソラコムさんにお邪魔したことがあるのですが、マンションの1室でやられているそうですね。(半年ぐらい前なので、今は引っ越しされたかもしれません)

ソラコムさんって24億円調達したり、IoTベンチャーの中でも注目株とは思いますが、そういう地道なところはよいですよね!

若干手を広げすぎな感もありますが…。

あと、担当者さんの名刺に、担当者の携帯電話とメアドしかないんですよ。若干不安ですよね。

会社の固定電話ないらしい…。

…。

 

とはとは言いましても、IoT時代ですから、もう通信に余分なお金を払うのはナンセンスです!

 

早速、弊社のプレスリリースをValue PressさんのIoT特集で取り上げていただきました!ありがとうございます。m(_ _)m

https://www.value-press.com/detail_search?q=IoT&choice=OR