社内のOSS研修で使用したスライドです。 OSS 活動を始めるまでのガイドとなることを目的としました。 2019/02/28: 研修時に上がった Q&A の項目を追加しました
最初にまとめ 型を書くとオブジェクト指向をちょっと意識しやすくなるよ 本稿の目的 PHPは歴史的に型を書かない人が多いです。 そういう自分もPHP7.x系になるまで書いたことはほとんどありませんでした。 書かなくても動くしなんでそんなめんどくさい事をわざわざ、、、みたいな。 そんな自分でも今は型が書いていないと気持ち悪いと感じる位になれたので、その思考の過程をご紹介していきたいと思います。 ただ、本稿は型の素晴らしさや型安全なプログラミングとは等を正攻法で説明するというのが意図ではないです。 ちょっと普段とは違う目線で型を書くメリットを紹介してみようと思います。 型 is 何? 型とはそもそも何でしょう? 端的に言えばデータ型という事になりますが、今回は少し違った見方をしたいと思います。 それは 『型とはふるまいに対する主語です』 本稿はこんな視点で型について説明したいと思います。 そもそ
選択肢付きのプッシュの登場によってとんでもなく面倒くさい仕様変更が起こった。 registerForRemoteNotificationTypes:がiOS8から使用不可能になる Declaration 変更内容 APNsサーバへ登録する際に使用していた、registerForRemoteNotificationTypes:がiOS8から使えなくなった。 代わりに、registerForRemoteNotificationsを使用する。 UIRemoteNotificationTypeはUIUserNotificationTypeに変更。 UIUserNotificationSettingsで設定する。 UIUserNotificationSettings 以下のメソッドで設定クラスを生成する。
女子大生がたくさん働いているデリヘルのサービス。深夜でも使える風俗として、自分の暮らしを豊かにしてくれているデリヘルです。有名大学に通う女性を指名した今回は、思い出しただけでも興奮が甦ってくるほど。素股の気持ち良さは挿入を超えるくらいの感覚でした。その秘密は敏感なクリにあります。素股をするとどんどん刺激されてクリが固くなり、それが亀頭に当たって気持ち良い。相手も擦れて気持ち良いという相乗的な魅力に浸るのが、今までの風俗史上最高の体験になったのです。素股はぎこちなさもあるのですが、それでも密着度が高くてアソコへの刺激は十分すぎるほど。途中で耐えることを諦めていれば、きっとサービスから半分も消化しないうちに果ててしまっていたと思います。しかし、僕は風俗MASTERです。そんなことできません。キスも大好きらしく、クンニをした後でも何度となく「チューしてほしい」とお願いされたので、舌を絡めてじっく
前回紹介したdispatch_applyはブロックの処理が終わるまで待ってくれていましたが、dispatch_asyncは別スレッドで処理されてしまうので、どの順番で処理されるのかも分からない状態でブロックを処理させっぱなしになってしまいます。 グループというのを使えば、asyncで処理する複数のブロックをひとつのグループにまとめて、それらのブロック全部が終わったタイミングを受け取る事が出来ます。 まず、グループを作る関数がこれです。 dispatch_group_t dispatch_group_create(void); 次に、グループで処理させたいブロックを渡すのがdispatch_group_asyncです。グループはasyncオンリーでsyncはありません。 void dispatch_group_async(dispatch_group_t group, dispatch_qu
kishikawakatsumi/SECoreTextView · GitHub SECoreTextView はリッチテキストの表示と文字の選択(現在はOS Xのみ)やリンクがクリック可能だったりするテキストビューです。 別のアプリでテーブルビューのセルにリンクを含むテキストを表示するのに、既存のものでMacで使えるいい感じのものが今ひとつ見つからなかったので書きました。 OS X で使うだけだとなんなので、せっかくだから iOS にも対応してみました。 UITableVIewやNSTableVIewのセルで使うと便利だと思います。 iOS のほうは半日くらいでちょちょっと書いただけなのでおかしなところが結構あると思うので見つけたら教えてください。
Queueを作る ディスパッチの基本的な使い方は、処理したいコードをブロックや関数で用意しておいて、キューにそのブロックや関数を渡すという流れになります。 ディスパッチのキューには2種類あります。アプリ(OS?)に最初から一つ用意されているグローバルキューと、自分で作るキューです。グローバルキューは並列に処理できますが、自分で作るキュー(以後シリアルキューと書いて区別します)は入れていった順番に直列でしか処理できません。 キューはdispatch_queue_tという型のオブジェクトで表されます。ディスパッチのオブジェクトは他にもいくつかありますが、それは次回以降に後回しにします。 グローバルキューを取得するにはこの関数を使います。 dispatch_queue_t dispatch_get_global_queue(long priority, unsigned long flags);
基本的にはNSManagedObjectContextはスレッド毎に作成して利用しなければいけません。以下は、その為にスレッド毎にContextを作成して管理するためのコードです。複雑なアプリでなければ、この管理法で十分でしょう。シングルトンなManagerクラスでコンテキストを管理する方法は簡単ですが、スレッドを多用する場合はスレッド毎に管理する方が良いでしょう。 managedObjectContextForCurrentThreadでコンテキストを取得し、保存は[NSManagedObjectContext save:&error]のように、クラスメソッドを呼びます。保存するとNSNotificationでコンテキスト自身のmanagedObjectContextDidSave:が実行され、メインスレッドのコンテキストに変更が反映されます。スレッド毎に自動的にthreadDictio
I've read a number of posts here about NSManagedObjectContext and multi-threaded applications. I've also gone over the CoreDataBooks example to understand how separate threads require their own NSManagedObjectContext, and how a save operation gets merged with the main NSManagedObjectContext. I found the example to be good, but also too application specific. I'm trying to generalize this, and wonde
仕事を持つ女性が一段と増えて来ています。 自立する女性が多くその結果、晩婚化や少子化の原因とも言われています。 しかしながら自分で生活して男性に頼らなくてもいいということは、女性のが男性に依存しなくてもいいので自由度が多くなって来たと言えるでしょう。 働きながらでも結婚して仕事を辞める事なくやっていく事も、可能になってきました。 今でもいわゆるマタニティハラスメントと呼ばれるものもあり、妊娠したら辞めるように言われる事もあるみたいですが働きながらでも育児休業を利用している人も多くいるのです。 しかし、そのような環境で勤務されている人もまた少ないのではないでしょうか? 公務員や大企業では、育児休業などもきちんととれると思いますが一般の中小企業では難しいものがあると思います。 今の時代は女性が働ける環境が整っているところは、まだ少ないと思います。 その上この不景気が続いていては、給料が少ないた
iOS でデータを永続化する方法の続きです。今回は NSUserDefaults クラスを使ったデータの永続化方法について説明します。このクラスを使うと簡単にデータの保存と読み込みが出来るのでアプリ開発で頻繁に使用されています。 NSUserDefaults って何? アプリ固有の設定値を保存することに特化したクラスです。アプリ開発者は NSUserDefaults オブジェクトを通して Key-Value 形式でデータにアクセスします。データの保存場所の管理は NSUserDefaults オブジェクトがすべて行ってくれます。 実際のデータは ホーム/Library/Preferences 以下にプロパティリスト形式で保存されます。 データの保存と取得で使用するメソッド NSUserDefaults クラスにはデータ型に応じて以下の保存と取得メソッドが定義されています。 オブジェクトの型
Objective-Cの勉強がてら、辞書いらずの簡易形態素解析(分かち書き)ソフト、 「TinySegmenter」をObjective-Cに移植してみました。 ホントは人工無脳アプリを作ったタイミングでお披露目しようとしてましたが、 飽きた(!)のでライブラリとして先に公開しちゃいます。 tnantoka's TinySegmenter.m at master - GitHub 使い方は簡単です。 CocoaOnigurumaをプロジェクトに組み込んだ後、 TinySegmenter.hとTinySegmenter.mをClassesに放り込んで下さい。 あとは以下のようなコードで分ち書きができます。 #import "TinySegmenter.h" : : TinySegmenter* segmenter = [ [ TinySegmenter alloc ] init ]; NSA
2007年09月16日04:30 カテゴリArt LiveCodingに学ぶプログラミングの三原則 Mozilla24のLiveCodingの解説をやってきました。参加された方、お疲れさまでした。ほんと楽しかった。 言語もC++ありJavaありJavaScriptありActionScriptありPerlありとまちまちで、Editorもemacsありvimあり秀丸ありとまちまちでしたが、それでも全LiveCoderの共通項がはっきり見えたので、それを書き留めておきます。これらの共通項には私も含まれます。 コピペを恐れるな(don't be afraid to be a copycat) 参加者の一人として、100%フルスクラッチで書いていた人はいませんでした。たいていは関数単位でコピーし、それを適宜書き換えるというやり方をしていました。学校のテストでは反則もいいところですが、大人の世界ではこ
世間には非常にクリエイティブで独創的なプログラマーの人が数多くいますが、そんなプログラマーから学べることがたくさんあるようです。プログラマーに限らず、さまざまなことにも当てはまるようなことばかりで、ほかの仕事をするにしても非常に役に立ちます。ではクリエイティブなプログラマーからどのような事が学べるのか見ていきましょう。 詳細は以下より。Creative Code: 14 Ways to Learn From Creative Programmers | LifeDev 1.さまざまな分野に手を伸ばし学び続ける プログラマーは常に新しい言語を学んでいきます。同じように、さまざまな分野に手を広げ、学び続ける姿勢が大切である。 2.土台の部分から物事を始める 物事を土台から固める方がよりクリエイティブな解決方法を見いだすことができる。 3.すべての事に疑問を投げかける 何事にも疑問を投げかけてい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く