茶漬けの技術メモ

Golang, Rubyで趣味開発します。テックニュース書いたり。ガジェット触ったり。

Ruby の define_method メソッドで動的にメソッドを定義できる!?

Ruby の define_method で動的にメソッドを定義できるのです。 define_method を使ったことがない人からすれば、 は? だと思うので、例をば

Ruby のメソッドオブジェクトとは?

メソッドオブジェクトって、あれなんだっけ? となったのでメモっておきます。 一言で言えばメソッドオブジェクトとは、 メソッドをオブジェクトのように扱えるようにしたものです。 そのまんますぎ、 なので、 ちょっと例を書いてみます。

Ruby のカリー化

カリー化とは 調べてみると、 カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこ…

Ruby の each_with_object と inject について

each_with_object とは each_with_object を使用すると、配列やハッシュの要素を使って、 新たに配列やハッシュを作成したりする際に、簡潔に書くことができます。 簡単な例を以下に示します array = [[:hoge, 1], [:fuga, 2], [:piyo, 3]] array.each_with_…

指定したTextField がkeyboardで隠れないようにする

iOSで開発する時、TextFieldをタップすると、 TextFieldが出でくるkeyboardに隠される時よくある。 ↓このように。 1. こういう時は下のTextField がkeyboardで隠れないように。

12月に読んだ本まとめ

ども、お茶漬けです。 2017年に入り1週間が経とうとしています。 9日まで冬休みの僕も、そろそろこのダラダラ生活から抜け出さないとなと思っており。まずは、先月読んだ本を振り返ってみようかなと思います。 なぜ、あなたの仕事は終わらないのか 中島聡 …

Swiftのエラー処理

Swiftのエラー処理の書き方について調べたので、まとめておこうと思います。 エラーを定義 Errorプロトコルを継承した列挙型でエラーを定義します。 Errorプロトコルの中身は空になっています。 enum myError: Error{ case stringError case unexpectedError…

Swiftでdefer文を使う

Swift2.0から追加されたdefer文。スコープを抜ける際に処理をするものですが、Swift3.0で試してみました。 func myFunc(){ defer { print("defer") } print("hoge") } myFunc() 実行結果は以下のようになります。 hoge defer 関数以外のスコープで使ってみる…

Swiftで正規表現を使って文字列の操作を行う

Swiftで正規表現を使いたかったんだけど、調べて行くうちに、Swiftで正規表現ってなかなか面等らしく、どーしようかなと思っていると。 とても便利なStringExtensionを書いている方がいらっしゃたので、使わせていただきました。 Swift 3.0での基本的な正規…

【2016年】 個人的おすすめアニメランキング!TOP10!!

ども!お茶漬けです!! 今年も残すところあと3日!! ということで2016年のアニメを振り返ってみました。あんまり数が多くなってもあれなので、個人的に本当に面白かった10作品をランキング形式で紹介していきます! 年末年始に見てみてはいかがでしょうか…

【Xcode】 UIButton に下線を引くには

よくアプリなどで、「パスワードをお忘れの方はこちら」みたいに下線が引かれていると思いますが、あれをXcode で実現する方法を紹介します。 UIButton を選択状態で、ユーティリティエリアからTitle をPlain からAttributed に変更します。

warning: result of call to '~~~' is unused が出た時の対処法

Swift3.0では返り値のある関数を使った時に、その返り値を使用しなかった場合に警告が出るようです。 func addOne(num: Int) -> Int{ return num + 1 } addOne(num: 2) // warning: result of call to 'addOne' is unused 対策としては

Swift error: argument labels '(_:)' do not match any available overloads が出た時の対処法

error: argument labels '(_:)' do not match any available overloads が出た時に少し迷ったので、その対処法を書いておきます。 struct Cube { var area: Int init(height: Int ) { area = height * height } init(half height: Int){ area = height * hei…

Swift3.0 関数呼び出し時は引数名が必要になっている

Swift で関数一つ呼ぶのに苦労した話し - Qiita Xcode Swiftでの関数 - tetu式 これらの記事を読む限り、ラベルなしの場合は引数名は2つ目以降必要なようですが

Swiftで文字列から部分的に文字列を取得する

Swift3.0で文字列から部分的に文字列を取得するには、substringを使いますが、その際引数にはIntではなく、Indexを使う必要があります。

松本人志プレゼンツ【ドキュメンタル】第4話 賞金1000万を手にするのは誰なのか.....!?

本日21日にドキュメンタル第4話が公開されました。 賞金1000万を手にするのは誰なのか!? www.youtube.com

この曲なんだっけ? を解決してくれる【SoundHound】は鼻歌でもいけた!?

【SoundHound】というアプリが最近人気らしく、調べてみると、 アプリに曲を聴かせると、曲名を特定しさらにアプリ内でビデオ再生することができるようです。ほう。試してみようじゃないか。 Android iOS

Server-Side Swift : Perfect のサンプルを動かしてみた

Perfectってなに?? 2015年11月に発表された、Swift製のサーバサイドフレームワークです。 公式サイトでは Perfect is a web server and toolkit for developers using the Swift programming language to build applications and other REST services. It le…

オキュラスリフト対応ゲーム HERO BOUND が面白すぎた!!!

ども!お茶漬けです。 先日、久しぶりにオキュラスストアを「ゲームでも追加されてるかな〜」と思い覗いてみたところ、HEROBOUND というタイトルのゲームがあり、無料だったので、ちょっと試してみるかと思い試してみたところ、これがなかなか面白かったので…

松本人志プレゼンツ【ドキュメンタル】第3話 脱落者続出....!!

12月14日、ドキュメンタル第3話が公開されました。 www.youtube.com 1話2話をまだみていないという方はこちらをどうぞ、 松本人志プレゼンツ【ドキュメンタル】の今後が楽しみ!! - 茶漬けの技術メモ 松本人志プレゼンツ【ドキュメンタル】第2話 ついに脱落者…

UIScrollView で縦スクロールを実現する!!

XcodeでUIScrollViewを使って、横幅は画面幅に固定の状態で、縦スクロールのみする画面を作成していこうとおもいます。 Viewを削除して、UIScrollViewを設置

松本人志プレゼンツ【ドキュメンタル】第2話 ついに脱落者が.....!!

松本人志プレゼンツ【ドキュメンタル】の2話が12月7日に公開されました。 www.youtube.com 1話では企画、参加者紹介でほとんど終わってしまったので、今回の2話から本格スタートという感じですね。 ドキュメンタルってなんぞや? という方はこちらをどうぞ。

Xcode Storyboardでローカライズ

前回、コードからローカライズをしました o-tyazuke.hatenablog.com 今回は、Storyboard を直接ローカライズしていこうと思います。

Xcode コードからローカライズする方法

コード内で文字をローカライズする方法を紹介していきます。 ※Stroyboard からローカライズの場合はこちら 作業を大まかに分けると、 Project -> Info -> LocalizationsでJapanese(ja)を追加 追加時に表示されるダイアログのStoryBoardとLaunchScreenにチェ…

松本人志プレゼンツ【ドキュメンタル】の今後が楽しみ!!

Amazonプライムビデオ独占配信「HITOSHI MATSUMOTO presents ドキュメンタル 」が面白かった! というか、面白くなりそう!! まだ1話を見ただけですが、これは早く続きが見たい! 今回はネタバレをできるだけ避けつつ、その概要と感想を述べたいと思います。

【iOS】URLスキームを使ってメールアプリを起動

URLスキームを使うことで、メールやマップ、電話など色々なアプリを自分が開発しているアプリから呼び出すことができます。 今回はアプリ内から宛先、件名、本文を設定した状態で、メールアプリを呼び出すところまで実装していこうと思います。

git clone できなかった時の対処法

git clone しようとしたら、 warning: remote HEAD refers to nonexistent ref, unable to checkout. と出てきた。調べてみると、

git でステージング前のファイルを元に戻す

ファイルをいくつか変更したけど、元に戻したい! という状況になったので、git reset について少し調べた。 結論から言うと、

storyboard は分割して管理しよう!!

iOS 開発をしていると、storyboard がどんどん膨れ上がってしまって、なかなかカオスな状態になってしまうことがあると思います。 そんな時に便利なのが、Storyboard Reference!! です!

An unknown error occurred が出た時の対処法

Xcode を触っていて実機で確認しようと思ったところ、 An unknown error occurred と出てきました。 対処法ですが、僕の場合は