サンフランシスコ滞在記Day1:到着〜TwitterHQ
完全プライベートな旅行としてサンフランシスコに来ています。
毎日夜にちょっとでもいいからブロクを書くぞ!
Apple Store 探訪記 (随時更新)
おかげさまで、仕事で国内様々な場所に行かせていただくようになって早3年ほど。
個人的な趣味として、もし行った先にAppleStoreがあればとりあえず行く、みたいなことやってる。
このエントリーには、行った時の写真と日付・コメントをまとめていくことにする。
Sapporo(北海道・札幌)
探訪日:2014年3月
今は亡きApple Sapporo。高1の冬、学校のスキー学校で北海道に行ったときの自由行動時間に友人と行ってきた。こじんまりとした場所だなーくらいにしか思ってなかったけど、全てはここからはじまった。
Sendai(宮城県・仙台)
探訪日:2017年8月
大きな商店街通りの一角に佇むStoreで、ちゃんと見てないとスルーしてしまうくらいの規模感だった。
MacBook Pro を買ったばかりだったので、HDMI-USB-Cの変換と、USB-C - Lightning ケーブルを買った。
Shibuya(東京都・渋谷)
訪問日:たぶん2014年6月
営業終了後の写真。ここもこじんまりとしてる。
Omotesandou(東京都・表参道)
訪問日:2014年6月
オープン初日にたまたま行くことができた。ガラス張りの大規模なStoreは新しいStoreって感じですごく好き。(RED)のシールをもらったのもここ。
Nagoya(愛知県・名古屋)
訪問日:2017年8月
心斎橋とおなじくらいの規模感。
Shinsai-Bashi
訪問日:2016年8月
2016年のDojoConのときに合間見つけて行ってきた。夏で暑すぎてしばらくシアターで休んで思い出。
Fukuoka Tenjin(福岡県・天神)
訪問日:--
海外編 南京东路(中国・上海)
訪問日:2017年2月
南京东路 - Apple Store 零售店 - Apple (中国)
上海の勢いがわかる、すごく大きなStoreだった。
本社編 Infinite Loop (アメリカ・クパティーノ)
訪問日:2017年9月
ついに本社ストアを訪問!ここでしか買えない限定グッズを買い込んだ。
いぬボードを触ってみた
先日Switchサイエンスから発売されたいぬボード。
www.switch-science.com
「学校のコンピュータ教室で使える」をコンセプトにして作られたこのボードは、コンピュータとのやりとりをヘッドホン端子とマイク端子を使って行うというもので、実際にかなり使えることになると思う。
僕の所属している研究会で大量に購入して、実際の授業でどう使えるか研究する必要があったので触ってみた。
明るさを取得する
いぬボード本体に明るさセンサーがついていて、簡単に明るさを取得することができる。
数値としては0-10でくるらしく、そのまま取得しただけだとおもしろくないので、×10とかして数値を加工してあげると使いやすいかな。
追記)こちら、間違いでした。通常の音量とおなじくマイクの音量設定で変化していきます。(@abee2 先生ありがとうございます)
明るさセンサーの値は0~10の範囲と決まっているわけではありません。マイクの音量設定で変化します。したがって、授業やWSなどで、みんな同じ結果になるようにするのであれば、最初にこの設定を合わせておく(校正する)必要があります。これは、LEDの明るさとスピーカーの音量も同じです。
— Kazuhiro ABE (@abee2) 2017年8月24日
マイク設定について、機種によってはAGC(Auto Gain Control)機能がついているものがあります。これがあると、大きな音が入ると自動的にボリュームを絞ってしまうので、正確な値が測れません。解除できるようであれば外すことを勧めます。ただし、解除できないものもあります。
— Kazuhiro ABE (@abee2) 2017年8月24日
サンプル
Scratchのサンプルプログラムはここに置いてあります。
scratch.mit.edu
ほんと、PCといぬボードを音声ケーブルでつないで、USBから給電して、ブレッドボードにLEDセットしてジャンプワイヤーで繋げばLED光るのはすごい!
いろいろ使いみちがありそうです。
MacBook Proを1週間使った感想
!!!!????👍👍👍💪💪💪👏👏👏 pic.twitter.com/dCZaaP5hCH
— Kirie Miyajima (@mjk_0513) 2017年7月28日
うぇーーい!
— Kirie Miyajima (@mjk_0513) 2017年7月28日
ハッカソン現場に新機材を投入して行くスタイル pic.twitter.com/FoPFRPREJ7
MacBook Pro Early2017 モデルを買いました。2代目の相棒です。
1週間使ってわかったことがあるのでメモしておきます。
スペック
今回買ったMacBook Proのスペックです。
- 名称:13インチ MacBook Pro TouchBarなし
- プロセッサ:2.3 GHz Intel Core i5
- メモリ:16GB 2133 MHz LPDDR3
- ストレージ容量:512GB
ちなみに、前に使っていたMacBook Air のスペックはこんな感じ。
- 名称:MacBook Air 13インチ Late2013モデル
- プロセッサ:1.4GHz Intel Core i5
- メモリ:8GB 1600MHz DDR3
- ストレージ容量:128GB
MacBook Air, よくがんばってくれた...
MacBook Airを使ってたときの課題感
MBAを使ってたときに感じていた課題感は以下の通りです。
MacBook Proを使って解決した点・よいところ
- ストレージ512GBは神:多ければ多いほうがいいのは、ストレージとメモリですね。ガンガン同期できて素晴らしすぎます。iCloud driveも200GB分契約しているので、快適なストレージライフを送っています。
- ビルドの速さ:ハッカソンでのビルドの早さにはびっくりしました。実機ビルドもサクッとこなしてくれる。素晴らしいです。
- Retinaディスプレイの美しさ:YouTubeで高解像度の動画見まくってます。美しすぎる...
- バッテリーは持つ:これは買ったばかりなので当たり前ですが、バッテリーもよく持ちます。よさです。
- 内蔵スピーカーのよさ:キーボードの左右にあるスピーカーがいい仕事してくれます。結構大きな音もでる。
MacBook Proの課題感
- USB Type-Cの罠:やはりType-Cオンリーだとめんどくさいなと思うときが多いです。拡張ポートとしてはこれを買いました。
www.amazon.co.jp
あと直面したのは外部ディスプレイにつなぐコネクタ問題ですね。HDMI-TypeCの変換は購入したのですが、VGAとの変換は間に合わず。仕事柄プレゼンする機会が多いのでこれは買わないと駄目かなって感じです。
あと、13インチTouchBarなしモデルだと、Type-Cのポートが左側2つしかないのも残念すぎます。差別化ってこういうことなのか...
- キーボードの音:キーボード自体はすごく打ちやすいです。この打撃感すごい好きなのでいいのですが、叩くたびにペチペチ音がするのはちょっとうるさいかも。電車とかバスの中でこれやってるとウザがられそう。
- 電源アダプタの爪がない問題:MBAのときは電源アダプタに爪がついてて、そこにコード巻き取っていたのですごく収納が気持ちよかったのですが、MBPの電源アダプタにはついていません。確かに断線しやすいとかっていう問題はあったけど、それ以上に収納性が悪くなったのは残念です。
- Type-CとLightningのサードパーティの質:以下の製品を買ったのですが、認識すらしない粗悪品でした。
www.amazon.co.jp
早く新しいもの調達しないと。
結局どうなの
すごくいい買い物だったかなと思います。これもあと3年くらいはお世話になるはずなので、大切に使っていこうと思います。
石巻ハッカソン2017に出た
昨年に引き続き、今年も石巻ハッカソンに来ました。
石巻ハッカソン2017
村脇くんが遅刻して新幹線乗り過ごしたこと以外順調な滑り出しですね👍 pic.twitter.com/HKUBE5ZjHA
— Kirie Miyajima (@mjk_0513) 2017年7月28日
まずいきなり同行者が遅刻して新幹線に乗り遅れるというハプニングがありつつも、どうにか無事に到着しました。
1年ぶり! (@ Ishinomaki Station in 石巻市, 宮城県) https://t.co/AqW4oqjYX3
— Kirie Miyajima (@mjk_0513) 2017年7月28日
実は今回のために新しくMacBook Proを買っていまして、カスタマイズしてたから届くのが1週間後になっちゃったので、千葉ではなく石巻に送りつけるという暴挙にでました。
!!!!????👍👍👍💪💪💪👏👏👏 pic.twitter.com/dCZaaP5hCH
— Kirie Miyajima (@mjk_0513) 2017年7月28日
うぇーーい!
— Kirie Miyajima (@mjk_0513) 2017年7月28日
ハッカソン現場に新機材を投入して行くスタイル pic.twitter.com/FoPFRPREJ7
これについてはまた後日書きます。
で、早速開発へ。
今回のテーマは「ひみつ道具」。某猫型ロボットをどうしても想像しがちなテーマですが、結構自由度が広くて逆に困った。
何も出てこなくてお散歩してたら、いきなりメンバーが鬼ごっこ始めたので、そこからヒントを得て一気に仕様作成。
こんなものを作りました。
今回初めてがっつりとAppleWatch対応のアプリを作ったんですが、結構めんどくさいなという印象です。
あとSeries1は限界。本格的に開発するならそろそろ買い替えかなぁという感じです。
初代Watchでデバッグしてるけど、アプリのlaunchが遅すぎてイライラするな
— Kirie Miyajima (@mjk_0513) July 29, 2017
購入案件ありえるけどどうせまたすぐ出る...
AppleWatch series1 はデバッグに耐えられるスペックではないことが判明したハッカソンだった(まだ終わっていない
— Kirie Miyajima (@mjk_0513) July 29, 2017
深夜遅くまでの開発は肉体的・精神的にもダメージの大きいものですね...
#ishinomakihack 追い込み pic.twitter.com/gMj8vAe8mO
— Kirie Miyajima (@mjk_0513) July 29, 2017
おはようございます☀#ishinomakihack pic.twitter.com/N7RSSjmMu8
— Kirie Miyajima (@mjk_0513) July 29, 2017
結果として入賞は逃してしまいましたが、「ひみつ道具賞」の最終選考までは残っていたということで、また来年リベンジを果たしに来ようと思います。
さて、これで今年3回目のハッカソンです。
ハッカソンに出るたびに、なんでこんな苦行をしてるんだと言われがちですが、完全にスポーツ感覚でやってるところが大きいのかなと思います。あと、なによりチーム開発はマジで楽しい。自分は現在現場の第一線でコードかいているバリバリのエンジニアではありませんが、自分の技術力上がってるのわかるし話合う人たちが周りにたくさんいる。こんな素晴らしい環境はハッカソン以外なかなかないと思います。
あとはハッカソンのゲーム性です。与えられた時間内に1から仕様策定・デザイン・実装という個々にやれば何人月も掛かりそうな作業を、たったの1日や2日で作ってしまう。時間直前のヒリヒリ感がたまらなく大好きです。
今の自分にとってハッカソンに出ることは完全に趣味の1つになりました。いい趣味が持てたと思います。
またどこかのハッカソンに出るかもしれませんが、その時までに頑張って技術力を少しでも上げておきます💪
【Swift3】UITableViewCellをタップしたときに画面遷移をさせる
このブログで1番読まれてる記事がこれ
mjk0513.hateblo.jp
これはSwift1.x系での記法のままなので新しくSwift3.x系で書き直します。
ViewController.swift
import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { let myTableView:UITableView = UITableView() let items:[String] = ["北海道", "青森", "秋田", "岩手", "福島", "宮城", "山形"] override func viewDidLoad() { super.viewDidLoad() myTableView.frame = self.view.bounds myTableView.dataSource = self myTableView.delegate = self myTableView.register(UITableViewCell.self, forCellReuseIdentifier: "MyCell") self.view.addSubview(myTableView) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return items.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell:UITableViewCell = UITableViewCell(style: .default, reuseIdentifier: "MyCell") cell.textLabel?.text = items[indexPath.row] return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { //セルの選択解除 tableView.deselectRow(at: indexPath, animated: true) //ここに遷移処理を書く self.present(SecondViewController(), animated: true, completion: nil) } }
次に遷移先のViewです
SecondViewController.swfit
import UIKit class SecondViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.white let backButton:UIButton = UIButton() backButton.frame = CGRect(x: 0, y: 0, width: 100, height: 100) backButton.setTitle("back", for: .normal) backButton.setTitleColor(UIColor.blue, for: .normal) backButton.layer.position = CGPoint(x: self.view.frame.width/2, y: self.view.frame.height/2) backButton.addTarget(self, action: #selector(back), for: .touchUpInside) self.view.addSubview(backButton) } func back() { self.dismiss(animated: true, completion: nil) } }
ポイントはdidSelectRowAtというメソッドを呼び出して、その中に遷移する処理を書くことです。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { //セルの選択解除 tableView.deselectRow(at: indexPath, animated: true) //ここに遷移処理を書く self.present(SecondViewController(), animated: true, completion: nil) }
ちなみに、tableView.deselectRow()をやらないとAppleの審査通らないので注意です。
これがSwift3での画面遷移処理でした!
ESDとか環境教育がおもしろい
環境教育論っていう授業のレポート書いてて、ESDとかSDGsについてdigりまくってたら結構いい感じに知見を得た。ココらへんの分野はすごく自分好みなのですっと入ってくるの嬉しい。
レポート書いててESDとかSDGsについて改めてガッツリ調べてたけどめちゃくちゃ面白くて俺好みなのでそっちについての知見がかなり付いた
— Kirie Miyajima (@mjk_0513) June 30, 2017
ESDは、Education for Sustainable Developmentの略で、持続可能な開発のための教育と訳される。つまり、持続可能な開発をしていくためには現世代だけではなく次世代にも必要だよねみたいな話。
ESD(Education for Sustainable Development):文部科学省
SDGsとは、Sustainable Development Goalsの略で、持続可能な開発目標と訳される。世界をより良い方向に修正するためにはこういうことが必要だよねっていう目標が示された。
www.unic.or.jp
SDGsで示されたゴールは以下の通り。
- 貧困をなくそう
- 飢餓をゼロに
- すべての人に健康と福祉を
- 質の高い教育をみんなに
- ジェンダー平等を実現しよう
- 安全な水とトイレを世界中に
- エネルギーをみんなに、そしてクリーンに
- 働きがいも経済成長も
- 産業と技術革新の基盤を作ろう
- 人や国の不平等をなくそう
- 住み続けられるまちづくりを
- つくる責任、使う責任
- 気候変動に具体的な対策を
- 海の豊かさを守ろう
- 陸の豊かさも守ろう
- 平和と校正をすべての人に
- パートナーシップで目標を達成しよう
確かにこれらすべてのゴールを達成できたら、すごくいい地球になるし、めちゃくちゃいいことだと思う。まあ当然すぐに達成できるようなものなどないけど、これらの問題にしっかりと取り組みましょうという意思を国連が示したのはとてもいいこと。
SDGsがリリースされたのは2016年1月1日のこと。対してESDのほうは1997年には草案が話し合われていた。
でも、ESDで扱う内容はまさにSDGsでゴールに設定されたことばかり。
具体的な定義付がされてESDは取り組みやすくなったんじゃないかなと思う。
で、環境教育はなにかっていう話ですが、ざっくりいうとESDの一分野だと自分は思っている。今回レポート書いてて自分なりに定義付けをした。
環境教育とは私たちが住んでいる地球という星の現状を知り、私たち人間も含む生き物たちがこれからどのように生きていくかを考えるためにある。
言ってしまえばこれはESDの目標にもなると思うのだけど、それだけESDの各分野は境界線がないということだ。さらに言うとESDには境界線がないほうが本来の意味に近づくのでほんとはよかったりする。
ココらへんの分野はけっこう好きなので引き続きリサーチがんばりたい。