HHKB Professional HYBRIDを買って半年ちょっと使っている話。

イメージ
昨年の9月に購入しましたHHKB。 一時期英語配列のキーボードを使っていましたが、今回は日本語配列をチョイス。 PFU キーボード HHKB Professional HYBRID 日本語配列/墨 良かったところ タイピング時の打鍵感、音が心地良い     これがかなりデカい。直近の生成AI周りの発展のおかげで直接タイピングしてコードを書くことは以前に比べるとかなり減ったけど、それでも全然使うのでここのストレスがないことは大きい。 ただ、これも人による部分が大きいと思う部分なので事前に触れる箇所があれば触った方が良い。 HHKBの公式サイトにタッチ&トライスポット というページがあるので実際の打鍵感や音を確認したい人はそこで検索してのをおすすめします。 僕の場合、当初は HHKB Studio を買おうと思って秋葉原の遊舎工房というお店で触らせてもらいましたが、正直打鍵感と音の感じが好みではなかったのでボツ。 横に置いてあったこっちのキーボードを触ってみたらかなりしっくりきた。他にも色んなキーボード(同モデルの静音タイプとか)が置いてあったけど、長いこと使うなら手に馴染むモデルが良いと思ってそのまま購入という流れ。 あと、個人的には気にならなかったけど、色んなところのレビューを見る感じ音に敏感な人と同居してるとか赤ちゃんがいる家庭とかだと少し苦情が出るかも、なくらいの音が出るのでそこは注意すべき。多分そういった人向けに静音モデルがあると思う。 Bluetooth接続できるデバイスの数が多め これもかなりポイント。仕事用のPCにもプライベート使っているPCも両方ともクラムシェルモード(PCを折りたたんだまま外部ディスプレイに接続して使用するモード)で使っているので、仕事を始めるタイミングや終えて切り替えるタイミングで物理ケーブルの切り替えに手間が掛かるのが嫌だった。 HHKBを使用する前に使用していたMagic Keyboardなんかは複数デバイスに対応していなかったため、いけてないなと思いつつ使っていた。 今はコマンドで接続先を切り替えるだけなのでそのストレスは大きく減った。お高いキーボードであれば標準的に乗っている機能なんだろうけど、なんでMagic Keyboardはこの機能がないんだろう・・・ 良くないところ 割と頻繁な頻度で単三電池...

LeetCodeのEasy問題を解いて勉強するSwift Valid Parentheses編



LeetCodeのEasy問題を解いて勉強するSwift Valid Parentheses編

新しくSwiftを触ることになりそうなので

ひとまずコードを書いてみることにする。
LeetCodeのEasy問題は比較的解き方を知っている(はず)なので、Python3で書いていた部分をどのような書き方に直すのかを色々思い出しつつ試行錯誤していく。

書いている人のレベル感

Swiftビギナー。基本的な文法すらあやふやなので始めて数日レベルと言っても過言ではない。

LeetCode

お題が与えられ、その内容に合わせてコードを書き、提出して合ってるかどうかを確認できる。
問題はソフトウェアエンジニアのコーディング面接で出されたお題をそのまま引用していることがほとんど。

前回
LeetCodeのEasy問題を解いて勉強するSwift Valid Palindrome編

次回

LeetCodeのEasy問題を解いて勉強するSwift Binary Search編

Valid Palindrome

Valid Parentheses
与えられた文字列の括弧の種類と数がイコールであるかを判定する関数を書く。

class Solution {
   func isValid(_ s: String) -> Bool {
       var stack:[Character] = []
       for c in s{
           switch c{
               case "(": stack.append(")")
               case "{": stack.append("}")
               case "[": stack.append("]")
               default: guard c == stack.popLast() else {return false}
           }
       }
       return stack.isEmpty
   }
}

guard

ここでguard文について。
guard文とはif文と似た条件分岐の文法。
じゃあif文でいいんじゃないの?となるが、if文とは異なり、guard文では最初の分岐条件がfalse判定の時に処理される。

具体例として

default:  guard c == stack.popLast()  else  {return  false}

という記述が回答内にあるが、これはc == stack.popLast()falseだった場合にのみelse内のreturn falseが実行される。

学べたこと

Swiftでのswitch分の書き方
SwiftでのStackの宣言方法(popLast)
guard else文の使い方

コメント

このブログの人気の投稿

【OSLog】How to log a Swift project

Principles of UX/UI Designでこんなことを学んでいるよ 第一週 User-centerd design①

Swiftで使うQueueのテンプレート