Primary Key(主キー)もUnique制約も「一意性」を設定して、データの整合性を高める点では一致しています。 「なにがちゃうねん」と思ったので調べてみました。 PRIMARY KEY PRIMARY KEY(主キー)とは 「Table内で行データを識別するために1つだけ設定できる、…
文字列内に大文字があるか判定 正規表現(Regular Expression)をあつかうreモジュールをimportする。 reにある.search()メソッドを用いて、search('調べたい条件', 変数)で調べる。 大文字アルファベットが含まれるかを調べたいときは’[A-Z]’を第1引数に渡し…
最終的には「文字列に数字が含まれているのか」を判定したい。 その前段階として、「文字列が数字か」という日本語的に危うい判定をこなす。 文字列が数字か判定 .isdigit()メソッドを使用。 s = "hoge" s2 = "1hoge" n = "101" print(s.isdigit(), s2.isdig…
Nobel Prize Dialogue 2018で行われた大隅良典教授の講演、「オートファジー研究から食について考える」。 一見すると細胞レベルの出来事と私達の食事にはあまり関係がなさそうにも思えますが、講演は「食事」について考え直すきっかけを与えてくれる示唆に…
Auto Layoutやアダプティブデザインについて調べているとよく目にする「サイズクラス」という言葉。 「クラス」という言葉があるからどこかに定義されているものかと思っていたけど、 そんな単純な話ではないらしい。 (実際に) ざっくり サイズクラス=画…
以下の記事で出てきたUIWindowについて、少し調べてみた。 sona.hateblo.jp ざっくり かんたんに言うと window = ViewControllerを扱っていろいろなタスクやイベントをパフォーマンスさせる場 「通常はXcodeがメインwindowを与えてくれるけど、異なるStoryBo…
ifやswitchを使えば条件分岐、for-inやwhileやrepeat-whileを使えばループ処理ができる。 処理を記述する部分は「{ }(中括弧)」で囲う。 let memberScore = [5, 7, 3, 9] var teamScore = 0 for score in memberScore { if score > 5 { teamScore += 2 } els…
久々にGit Hubをつかってみようと思ったら $ ssh github git@github.com: Permission denied (publickey). と言われてしまった。 色々試してみる Git Hubのほうで「Settings > SSH and GPG keys > New SSH key」にSSH keyを追加し直してみるとSSH接続はでき…
swap()メソッドを用いてswap(&変数1, &変数2)とすると、2つの変数がそれぞれ持っている値を入れ替えることができる。 使い方 var hoge = "hoge" var piyo = "piyo" swap(&hoge, &piyo) print(hoge, piyo) -> "piyo" "hoge" 可変コレクションの場合 ミュータ…
ちょくちょく目にするようになったジェネリクス(Generics)という言葉。 ジェネリック薬品とトットちゃんしか思いつかないので、調べてみた。 Generics generic[dʒənérɪk]:一般的な、包括的な、総称的な 今では多くのプログラミング言語にある「型を明示せず…
ただでさえわかりづらいOptional型についてまわる「unwrap」「unwrapped」「unwrapping」という単語群。 かんたんに整理してみた。 そもそもOptional型とは? nilを許容する変数をOptional型といい、宣言時に明示した型の末尾に?か!をつける。 詳しい説明は…
Add New Constraintsにいるコイツ。 デフォルトでチェックが入っている事が多く、チェックの有無によって何が変化するのかいまいちわからなくて気持ち悪い。 チェックの有無で確認してみた 左leadingに対するConstraintを参照してチェックをつけた状態の値、…
公式のSwift Development Resourcesを参考にしています。 変数と定数 型について 変数の型を確認する方法 型変換は暗黙的に行われない 複数行の文字列を扱う方法 辞書型と配列 空の配列と辞書 変数と定数 varを使えば変数、letを使えば定数を定義できる。 va…
元記事 ご本人(Nick Babichさん)から翻訳の許可を頂きました。 表題は語弊を承知で無理やり日本語に訳しているのでわかりづらいかもしれません。 (もっと適当な訳があったら教えてください。) 図はすべて元記事から引用し、クレジットなどもそのまま記載しま…
1つにまとめた完全版書きました。 sona.hateblo.jp 元記事 ご本人(Nick Babichさん)から翻訳の許可を頂きました。 表題は語弊を承知で無理やり日本語に訳しているのでわかりづらいかもしれません。 (もっと適当な訳があったら教えてください。) 図はすべて元…
1つにまとめた完全版書きました。 sona.hateblo.jp 元記事 http://babich.biz/mobile-ux-trends-2018/ ご本人(Nick Babichさん)から翻訳の許可を頂きました。 表題は語弊を承知で無理やり日本語に訳しているのでわかりづらいかもしれません。 (もっと適当な…
1つにまとめた完全版書きました。 sona.hateblo.jp 前回に引き続き以下の元記事。 ご本人(Nick Babichさん)から翻訳の許可を頂きました。 表題は語弊を承知で無理やり日本語に訳しているのでわかりづらいかもしれません。 (もっと適当な訳があったら教えてく…
1つにまとめた完全版書きました。 sona.hateblo.jp 元記事 ご本人(Nick Babichさん)から翻訳の許可を頂きました。 表題は語弊を承知で無理やり日本語に訳しているのでわかりづらいかもしれません。 (もっと適当な訳があったら教えてください。) 図はすべて元…
(随時更新) チートシートは巷にあふれているので個人的に抑えておきたいと思ったものだけメモ。 リンクを埋め込み形式で表示する いわゆるこれ。 sona.hateblo.jp [http://sona.hateblo.jp/:embed:cite] コードのシンタックスハイライト 「`(バッククオート)…
初期状態では「戻るボタン」を非アクティブや非表示にしたい。 それ以外にも条件に応じたアクティブ/非アクティブの切り替えをしたい。 方法 viewDidLoad()で.isHiddenメソッドを使ってあげる。 IBOutlet var backButton: UIButton! override func viewDidLo…
アプリをインストールしたあとの初回起動時のみ開くチュートリアル的なアレを実装したい。 調べてみると半端じゃなく時間がかかった…。 今回はとりあえず本当に適当なメモ。 あとでUIWindowとかUserDefaultsについてもまとめたい。 何か間違ってたら指摘お願…
久々にPythonを触っていて、文字列に連続したピリオド(...)が入っているか判定しようとして気がついたこと。 text = [“…”, “as”, “soon”, “as”, “…”] print(text[0] in “.”) => False (CheckIOのアレ) ピリオドが文字列に一つでも入っていればその要素を削除…
ファイルの新規作成時になんとなく毎回選んでいるCocoa Touch Class。 他の形式はさておき、いつも使っているものぐらい正体を把握しておきたい。 Cocoa Touch Classについて 一言で言うと「Cocoa Touch」はiOSにおけるフレームワーク。 ButtonとかLabelとい…
Page View Controllerからコーディングで画面遷移を行おうとしたところ Storyboard doesn't contain a view controller with identifier というエラーに遭遇。 こいつがなかなか手強かった…。 解決法 調べると概ね3つの方法がありました。 Use Story board I…
Labelに複数行表示する際に設定するLinesという項目。 表示させたい行の分だけ値を入力すればいい、ということはなんとなくわかる。 じゃあ制限を設けず複数行表示させるにはどうすればいいか。 方法 Linesを「0」に設定する。 ちゃんちゃん♪ (LabelのWidth…
今までiPhone8のレイアウトでそれっぽく作ってきたけど、他の機種で確認するとレイアウトがガタガタになってしまう…。 (iPadだと右上に寄っていて、iPhoneSEだと画面外にラナウェイする) 調べるとAuto LayoutやらSize ClassやらConstraintsやら、様々な情…
ページを捲るようにラベルのテキストが切り替わるのに連動して、今が何個目か可視化したい。 方法 View ControllerにPage Controlをにゅっと持ってきます。 そうすると驚きの白さのPage Controlが現れますが、これは初期設定で丸の色が白になっているせいで…
配列内にある要素が入っているか判別したい、あるいはインデックスを取得したい。 方法 .indexメソッドを用います。 var hogeArray = (“foo”, “bar”, “piyo”) print(hogeArray.index(of: “bar”)) -> 1 ある要素を配列から削除したい場合.removeメソッドと.in…
配列の中にある要素数が一定数に達したときの処理を実装したい。 直感でlen(hogeArray)やhogeArray.lengthとしてみるもエラーになってので調べました。 方法 lengthではなく.countメソッドを用います。 hogeArray = (“hoge”, “foo”, “bar”) print(hogeArray.…
空の配列を宣言しておいてあとから要素を格納したり引っぱり出したりしたい。 何回やっても覚えられないから覚書に。 方法 String型の配列なら、 var hogeArray = [String]() Int型の配列なら var hogeArray = [Int]() 他の型でもやり方は[]内で型を宣言して…