SSH認証界☆最高☆の秘密鍵「Ed25519鍵」を生成する。GithubのSSHキーを変更する。
Ed25519鍵って?
現在(本日は2017年12月3日です)もっとも安全なアルゴリズムとのことです。
参考サイト様
linuxfan.info
sshでed25519鍵を使うようにした - @znz blog
「Ed25519」でググるとなんだかよくわからないけど、ツイストしたエドワーズ曲線とかロマンを感じなくもないです(・∀・)
エドワーズ曲線デジタル署名アルゴリズムは、公開鍵暗号において、ツイストしたエドワーズ曲線(Twisted Edwards curve)に基づくシュノア署名(Schnorr signature)の一種を用いたデジタル署名の一つである。他のデジタル署名において見つかっている安全性に関する問題を回避した上で、高効率で暗号化処理が行われるように設計されている。エドワーズ曲線電子署名アルゴリズムは、ダニエル・バーンスタインが率いるチームによって開発された。
このエントリでは
Githubで登録しているSSHの秘密鍵をEd25519の鍵にします。
Ed25519鍵はホスティングサービスが対応していれば使用できます。
Githubは使用できます。
本当はBitBucketもEd25519の鍵に変更したかったのですが
対応されていないのか色々調べたのですがうまく行かなったです。
結局公式サイト(Invalid SSH Key - Atlassian Documentation)のとおりに設定しました。
Ed25519鍵を生成する
早速生成してみます。Ed25519鍵の生成は、「ssh-keygen -t ed25519」コマンドで行います。
$ ssh-keygen -t ed25519
いくつか聞かれますがエンターでOKです。
Enter file in which to save the key → そのままenter
Enter passphrase (empty for no passphrase): → そのままenter
Enter same passphrase again: → そのままenter
これで生成できたので、中身をコピーしてGithubやBitBucketの鍵を変更します。
$ pbcopy < ~/.ssh/id_ed25519.pub
GithubのSSH鍵を変更
こちらが公式サイトの解説ページです。
Connecting to GitHub with SSH - User Documentation
・githubにアクセスしてログインします
https://github.com/
・画面右上のユーザーアイコンを押して「Settings」をクリックします。
・左側の「Personal settings」の中から「SSH and GPG keys」をクリックします。
・古いSSH鍵が登録されていたら「Delete」ボタンで削除します。
この時削除するのは先程Ed25519鍵を生成したPCで登録した鍵です。
複数の端末から利用している場合は気をつけて下さい。
・「New SSH Key」ボタンをクリックします。
・「Key」の中にさきほどコピーしたテキストをペーストします。
タイトルはこの端末であるということがわかるように任意のタイトルを入力しておきます。
・「Add SSH Key」ボタンをクリックして保存します。
正しく追加されたか次のコマンドで確認します。
$ ssh -T git@github.com
「You've successfully authenticated, but GitHub does not provide shell access.」などと表示されればOKですが、
詳しくは公式サイトで確認してみてください。
Testing your SSH connection - User Documentation
Appleの公式iOS Swiftチュートリアル「FoodTracker」をやってみた感想と勉強の動機
なぜiOSの勉強をはじめたのか
ここ最近iOSのプログラミングの勉強をやっています。
元々Androidのアプリを開発してリリースしているアンドロイダーだったのですが
昨年からiPhone7をメインのスマフォにしてしまいました。
自分のアプリを使いたい時に、Android版しか存在しないため
サブ端末であるAndroid機をゴソゴソと取り出す日々に
「この状況はおかしい」
と苛立ちを感じました。
iPhone7は高かったし、まだまだ使うつもりなので状況を打破すべく
やっと重い腰を上げてiOSに取り組むことにしたのでした。
正直言いますと、Appleのデベロッパー税が年間1万円以上かかったり
アプリ審査が厳しく、時にちゃんと審査してないんじゃねえか?疑惑の話を
耳に挟むことがありましたので、今まで腰が引けていました。
しかし、取り組むと決めたからにはアプリをリリース出来るよう頑張りたいです。
「ポケット糖質量」とは
糖質制限をしている方などを対象に、糖質量をリスト表示
検索出来るようにしたシンプルなアプリです。
データも手元で作成しており、Web検索するより効率よく糖質量を見ることが
出来るようになっています。
Web版「ポケット糖質量」Ruby on Railsで作りました。
Android版「ポケット糖質量」Web版より使いやすいです(;^ω^)
Appleの公式iOSチュートリアル「FoodTracker」とは
Appleの公式iOSチュートリアル「FoodTracker」は↓ここ↓です。
developer.apple.com
Swift3(2017/11/22現在)を使って、
食品データ(食品名・画像・評価の★)をリスト表示、
詳細表示します。
データの追加・削除・更新も行います。
スマホアプリでは定番の処理なのですぐに役に立ちます。
学習者である私の現状
プログラミング経験
Android(Java)で開発経験ありですが、レベルは初中級ぐらいです。
英語は中学レベルの文章を読解出来るレベルです。
iOSは2年以上前に入門書をナナメ読みしたけど、全て忘れてしまったレベルです。
私の開発環境
Mac book pro Retina 15inch MID2015 メモリ16GB SSD512GB
Mac OS Sierra バージョン10.12.6
Xcode9.1
Swift3.2
Base SDK Latest(iOS 11.0)
iOS Deployment target iOS10.0
ソースコード
公式サイトには無いコードも入っています。
すぐ試せそうな処理を入れてみました。
アラートダイアログ、設定値などの永続化、画面の背景画像設定、スプラッシュ画面など
github.com
FoodTrackerで学んだこと
このチュートリアルで学んだことをざっと挙げますと以下のようになります。
Xcodeの使い方
プロジェクトの作り方
プロジェクト内の情報の見方
編集画面の切り替えや展開の仕方
ビルドや実行の仕方
ターゲットの端末でのプレビューの見方
storyboardを使ったUIの作り方
sceneに画面のパーツを配置する
inspectorで属性を指定する
Auto Layoutを使用しconstraintsでレイアウトに制約を指定する
StackViewで同じ方向にあるViewをグルーピングする
Navigation Barを使用する
Viewをソースコードに接続する
pushとmodalの画面の出し方の違いを理解する
セグエを使い画面遷移を行う
カスタムビューを作る
ソースコードから動的なViewを作る
storyboardにカスタムビューを表示する
InterfaceBuilderの機能を使用してアプリの実行をせずに表示確認する
asset catalogを利用してプロジェクトに画像を設置する
Controllerに処理を記述する
コントローラーのライフサイクルとコールバックを理解する
delegateメソッドの無いViewにTap Gesture Recognizerを利用する
Image Pickerを実装する
画面遷移した際にデータの変更が発生した時、遷移元の表示も変更する
データを永続化する
データモデルを実装する
データ構造を実装してデータの永続化や読み込みなどに使う
Swiftについて
Optional型の理解をする
guardを理解する
感想
簡潔でありながら大事な所は押さえてある良いチュートリアルだと思いました。
あくまでもアプリの作り方であって、Swift言語の説明はOptional型のところなど
を限定的に説明する程度でした。
言語仕様は別のところで覚えたほうがよいですね。
StoryBoardで画面を作っていく方法は独特で、チュートリアルでかなり
取り上げられていたのは良かったです。
たまに古いSwiftで書いてあるのか、コンパイルが通らない箇所がありました。
でもInterface Builderの接続が切れた?時の方がずっと訳わからなかったです。
英語は難しい表現は無いので、Google翻訳を併用すれば問題ないと思いました。
と、いいつつわからない箇所は日本語でググってQiitaとかを参考にしていました。
どんなに簡単なことでも、初学者にとっては情報を残していただけているという
ことはほんとに有難いことです。
情報を書いてくださってる方々、ありがとうございました!
今後ですが、
もうこういう公式チュートリアルって無いのでしょうかね(・・?
APIのリファレンス見ただけで実装出来る自信は無いんですが、
(実装出来たとしてもすごい時間かかりそう)
書籍を買った方がいいのかどうか、迷っています。
公式チュートリアルがSwift3なのにすでにSwift4が出てるんですが。。
書籍の陳腐化が激しいと聞いたことあるしどうしたものか。
とりあえず以下のことを知りたいと思っています。
しばらくはググってなんとかしてみようかな。
・複数の画面サイズに対応する良い方法
・CoreDataの使い方
・HTTP通信
・外部ライブラリの利用
・ローカルに保存したファイルの読み込み
以上です。
Appleの公式iOSチュートリアル「FoodTracker」でナビゲーションバーをダブルクリックしてもタイトル入力欄が現れない
私の開発環境
Xcode9.1
Swift3.2
Base SDK Latest(iOS 11.0)
iOS Deployment target iOS10.0
iOSでコードを書いてる人にはしょうもない話だと思いますが…
チュートリアルでナビゲーションバーをダブルクリックしてタイトルを入力すべき
箇所でタイトル入力欄が現れませんでしたので
一応メモしておきます。
チュートリアルの該当箇所はここです。
Start Developing iOS Apps (Swift): Implement Navigation
Double-click the navigation bar in the meal list scene.
A cursor appears in a text field, letting you enter text.
Type Your Meals and press Return. This sets the title for the table view controller’s navigation item.
とか書いてあるのですが、実際にナビゲーションバーをダブルクリックすると
画面が拡大、縮小します。
入力欄が現れることはありませんでした。
原因はわかりませんでした。
そのうちわかったら追記します。
対処方法というほどのことはないですが、
以下の方法でタイトルを入力できました。
その1.ナビゲーションバーを選択した状態でAttributes InspectorのTitleという
場所にタイトルを入力する
その2.Show the Object Libraryの中から「Navigation Item」を探し
ナビゲーションバーにドラッグする。
Titleと文字が現れるので、ダブルクリックして編集する。