サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.nilab.info
環境: Xcode Version 8.2.1 + Apple Swift version 3.0.2 サンプルの動作イメージ。 UITableView にカスタムセル表示を実装した UITableViewCell 継承クラスを接続。カスタムセル表示の実装は Auto Layout constraint 制約を使用してパーツを配置し、セルの高さを自動で計算。 [Pop]ボタンで項目を削除。[Push]ボタンで項目を追加。 ひっぱってリストを更新する機能は UIRefreshControl を使用。 Xcode で新規に Single View Application のプロジェクトを作成して、以下の3ファイル分のコードを追加すればOK(ViewController.swiftはデフォルトで用意されているものを上書き)。 ViewController.swift では、メインのUIパーツを配
Twitter にツイート投稿する iOS アプリのサンプルコードを書いてみた。 Storyboard を使わずに、GUIを組み立てなくても、サンプルコードをコピペするだけで動作する。 以前に書いた [ヅ] Swift で Twitter 投稿するサンプルコード (Storyboard を使わないお手軽コピペ版) (2015-11-17) のコードを Swift 3 対応したもの。 今回の動作確認環境: Xcode 8.0 + Swift 3.0 + 実機 iPhone 6 + iOS 10.0.1 Xcode で新規に Single View Application のプロジェクトを作成して、 以下のコードを ViewController.swift に上書きコピペすればOK。 // // ViewController.swift // import UIKit import Socia
資料を漁ってもよくわからないので、サンプルコードを書く。 $ cat p.js var f = function(resolv, reject){ console.log("hello"); resolv("goodbye"); }; console.log("f"); var p = new Promise(f); console.log("p"); p.then(function(result){ console.log(result); }); console.log("t"); 実行結果。Promise を new したらすぐに実行されてる。 $ node p.js f hello p t goodbye 実行された後でも、then メソッドで後の処理を指定できているのもわかる。then メソッドで指定した処理は非同期に実行されている。 Promise を new した時点で実行さ
-token minorityの意味・用例|英辞郎 on the WEB:アルク --http://eow.alc.co.jp/search?q=token+minority -->token minority -->トークン・マイノリティー、お飾りのマイノリティー◆組織のメンバーや、物語の登場人物などについて。「マイノリティー(少数民族など)の人も含めておいた方がイメージが良くなる・含めておかないと差別的と批判され面倒なことになる」という打算によって、そこに含められている人。◆「多様な人々が参加するのは良いことだが、形だけそう見せ掛けるのは偽善的だ」などの否定的ニュアンスを伴う。 -token characterの意味・用例|英辞郎 on the WEB:アルク --http://eow.alc.co.jp/search?q=token+character -->token charac
環境: Mac OS X El Capitan Go 言語を Homebrew でインストール $ brew install go $ which go /usr/local/bin/go $ go version go version go1.6 darwin/amd64 Go 言語で hello, world してみる ソースコード。 $ cat helloworld.go package main import fmt "fmt" // 入出力フォーマットを実装したパッケージ func main() { fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n") } 実行結果。 $ go run helloworld.go Hello, world; or Καλημέρα κόσμε; or こんにちは 世界 Go 言語
iPhone 用 Twitter クライアントアプリの投稿画面をいくつか集めてみた。だいたい同じような UI をしている。 → iOS アプリの Twitter 投稿画面あれこれ (iOS_Twitter_Post_Screen - MemoWiki) これらの画面を参考にして、Twitter でツイートを投稿する画面のテンプレート的な UI を Swift で書いてみた。 Storyboard を使わずに、サンプルコードをコピペするだけで UI を構築できるようにしてある (ファイルの追加は必要)。 UI部分のみで、ツイート機能などの実装はしていない。そのへんの機能が必要な場合は、このへんを参照 → [ヅ] Swift で位置情報付きの Twitter 投稿するサンプルコード (Storyboard を使わないお手軽コピペ版) (2015-12-09) 今回の動作確認環境: Xcode
iPhone で地図アプリ長押しピン立て比較スクリーンショット。標準マップ、Google Maps、Yahoo!地図、MapFan+。iOSマップアプリはピンが上から降ってくる。マップファンは暗い画面からワイプアニメーション。 http://twitter.com/nilab/status/677284173934018560/photo/1 元の画像を見る [t] 2015-12-17 09:28:25
iOS 標準の地図ライブラリ MapKit と位置情報取得クラス CLLocationManager を利用して地図アプリの土台になりそうなものを作ってみた。 Swift によるサンプルコード。ほぼコピペで動作する (他には Info.plist の編集が必要)。Storyboard は使わない。 今回の動作確認環境: Xcode 7.2 + Swift 2.1.1 + 実機 iPhone 6 + iOS 9.2 サンプルコードを動かすためにやること概要 Xcode で新規に Single View Application のプロジェクトを作成 ViewController.swift にサンプルコードをコピペ Info.plist に NSLocationWhenInUseUsageDescription または NSLocationAlwaysUsageDescription を追加
Twitter に任意の位置情報 (緯度・経度) を付加してツイート投稿する iOS アプリのサンプルコードを書いてみた。 Storyboard を使わずに、GUIを組み立てなくても、サンプルコードをコピペして動作する。 今回の動作確認環境: Xcode 7.2 + Swift 2.1.1 + 実機 iPhone 6 + iOS 9.2 Xcode で新規に Single View Application のプロジェクトを作成して、 Xcode のメニューから [File] → [New] → [File...] → [iOS] → [Source] → [Swift File] にて、「TwitterManager.swift」というファイル名で Swift のファイルを追加する。 以下のコードを追加した TwitterManager.swift に上書きコピペする。このコードに Twi
Twitter にツイート投稿する iOS アプリのサンプルコードを書いてみた。 Storyboard を使わずに、GUIを組み立てなくても、サンプルコードをコピペするだけで動作する。 今回の動作確認環境: Xcode 7.1.1 + Swift 2.1 + 実機 iPhone 6 + iOS 9.1 Xcode で新規に Single View Application のプロジェクトを作成して、 以下のコードを ViewController.swift に上書きコピペすればOK。 // // ViewController.swift // import UIKit import Social class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() buildToo
写真に写っている人の感情を認識してくれる Web サイトが公開されていた。 ロンドン発--Microsoftで人工知能(AI)の開発に取り組む「Project Oxford」チームが英国時間11月11日、同社イベント「Future Decoded 2015」において、感情を読み取る技術を披露した。顔の表情に関する知識を利用して、写真に写る人間の感情を識別するという。 開発者を対象にベータ版としてリリースされた同ツールは、怒り、軽蔑、恐れ、嫌悪、喜び、中立、悲しみ、驚きという8つの中核的な感情的状態を認識するようにコンピュータをトレーニングする。 マイクロソフト、顔の表情から感情を読み取る技術を開発 (CNET Japan) - Yahoo!ニュース まず、この画像から試してみたら、 Detection Result: Error:"0 face detected" って、認識に失敗(;´Д
Node.js の標準ライブラリとして、 File System モジュールという POSIX 関数のシンプルなラッパーが提供されているので、これの readFile 関数を使うのがスタンダード。 ⇒ File System Node.js v5.0.0 Manual & Documentation 同期処理できる readFileSync 関数と、非同期の readFile 関数が用意されている。以下、サンプルコード。 var file = "./hoge.txt"; var fs = require("fs"); // 文字エンコーディングを指定して、 // 同期的にテキストファイルを読み込む。 var contents = fs.readFileSync(file, "utf8"); console.log(contents); // 文字エンコーディングを指定して、 // 非同期に
Node.js の標準ライブラリとして、 File System モジュールという POSIX 関数のシンプルなラッパーが提供されているので、これの readdir 関数を使うのがスタンダード。 ⇒ File System Node.js v5.0.0 Manual & Documentation 同期処理できる readdirSync 関数と、非同期の readdir 関数が用意されている。以下、サンプルコード。 var path = "."; var fs = require("fs"); // 同期的にディレクトリ内にあるファイル名の一覧を配列で取得 // "." と ".." は含まれない var files = fs.readdirSync(path); files.forEach(function(file){ console.log(file); }); // 非同期にディレ
今回の環境 Mac OS X Yosemite 10.10.5 nodebrew で Node.js v5.0.0 をインストールする 事前に nodebrew をインストールしておく。参考 ⇒ [ヅ] Node.js のバージョンを nodebrew で管理する (with Mac OS X + Homebrew) (2015-03-13) $ nodebrew ls-all | grep 5.0.0 v5.0.0 $ nodebrew install-binary v5.0.0 fetch: http://nodejs.org/dist/v5.0.0/node-v5.0.0-darwin-x64.tar.gz ######################################################################## 100.0% Install s
以前から興味のあった電子工作絡みで littleBits というものを買ってみた。 ⇒ nilog: littleBits Deluxe Kit 開封の儀。日本語の説明書も同梱されてる。 (2015-10-06) littleBits(リトルビッツ)とは、磁石で電子回路をつないで電子工作を行うことを通して、電子回路を楽しく学べるオープンソースのライブラリーです。 littleBitsとは? - littleBits littleBits のパーツは個別に買うこともできるみたいだけど、まずはまとまったセットになっているキットを買いたい。 ⇒ littleBits(リトルビッツ) まずは一番オーソドックスな Base Kit を買おうかと思ったけど、Amazon で見たら Deluxe Kit が思ったほど高くなかったのでそっちを買ってしまった。 Amazon マーケットプレイスで 税込み・送
Force Touch (3D Touch) sample: Touch strongly the screen. 画面を強く押してください。
というネタ的な Web ページを作ってみた。 iPhone 6s (Plus) の Force Touch (3D Touch) 機能を使ったネタ的なサンプル。 ⇒ Force Touch (3D Touch) sample (音が鳴るので注意) iPhone 6s (Plus) + Safari でページを表示して、空の画像を強く押しこんでから離すと、 画面が割れたような画像が表示されてガシャーンて音が鳴るだけ。 Force Touch とは何か Force Touch は Apple の開発した感圧タッチパネル技術のこと。 3月10日のアップル Spring Forward スペシャルイベントで発表された Apple Watch と新MacBook はまるで別ジャンルの製品ですが、新技術「感圧タッチ (Force Touch)」を採用した共通点があります。 アップル、次期 iPhone
今回の環境。 $ uname -mrsv Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 $ cat /etc/debian_version 8.1 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.1 (jessie) Release: 8.1 Codename: jessie Apache のソースコードをダウンロードして、ビルドする。 $ wget http://www.apache.org/dist/httpd/httpd-2.2.31.tar.gz $ tar zxvf ./httpd-2.2.31.tar.gz $ cd
「【図解】ピケティ入門 たった21枚の図で『21世紀の資本』は読める!」という本を読んだ。 興味深いところをピックアップしておく。 世界人口増加率のグラフ (古代から2100年)。 ⇒ nilog: 世界人口増加率のグラフ (古代から2100年)。世界人口率は、1950-2012年は年1%以上だったが、21世紀末に向かって0%に戻る。 (2015-06-21) 世界1人当たりGDP増加率グラフ(太古から2100年)。 ⇒ nilog: 世界1人当たりGDP増加率グラフ(太古から2100年)。1950-2012年には2%を超えた。2012-2050年には2.5%を超え、その後1.5%以下に下がる。 (2015-06-21) 世界の資本分配のグラフ (1870-2100年)。 ⇒ nilog: 世界の資本分配のグラフ (1870-2100年)。21世紀末までに、世界資本の半分をアジア諸国が所有
今回の環境 Mac OS X Yosemite 10.10.2 $ uname -mrsv Darwin 14.1.0 Darwin Kernel Version 14.1.0: Thu Feb 26 19:26:47 PST 2015; root:xnu-2782.10.73~1/RELEASE_X86_64 x86_64 Node.js はインストール済み。 $ node -v v0.10.29 $ npm -v 1.4.14 プログラム開発の準備: package.json ファイルを用意する package.json には今回開発するプログラムの内容について記述する。 npm init コマンドを打つと、対話形式で項目を入力していき、 package.json ファイルを生成してくれる。 $ npm init This utility will walk you through c
コマンドの引数を手軽に扱える commander.js モジュールを試してみる。 The complete solution for node.js command-line interfaces, inspired by Ruby's commander. commander 今回の環境: Mac OS X Yosemite $ uname -mrsv Darwin 14.3.0 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64 Node.js はインストール済み。 $ node --version v0.10.29 $ npm --version 1.4.14 npm コマンドで commander モジュールをインストールする。
Name-based Virtual Hosting とは バーチャルホスト(Virtual Host)とは1つのサーバで複数のドメインを運用する技術のことで、Webサーバ、メールサーバなどで利用される。 (中略) 名前ベースバーチャルホストは、利用するドメイン名すべてに同じIPアドレスを使用し、1つのサーバコンピュータに必要なIPアドレスが1つで済む。 クライアントが接続したドメインにかかわらず同じIPアドレスへ接続してくるため、IP層の情報だけではドメインの判別ができない。 ドメインを判別するためにはアプリケーションプロトコルの側に接続先ドメインを判別する情報が含まれている必要がある。HTTPの場合はHostヘッダ、SMTPの場合はRcpt Toに含まれるメールアドレスのドメインで判別を行なう。 バーチャルホスト - Wikipedia Apache では、 NameVirtualHo
古 (いにしえ) の「for ループ」や「Iterator」から、Java 8 の「ラムダ式」や「メソッド参照」までを使って、List の要素を出力するサンプルプログラムを書いてみた。 import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.function.Consumer; public class Hoge{ public static void main(String[] args){ final List<String> names = Arrays.asList("Alice", "Bob", "Carol"); // for ループ System.out.println("[for loop]"); for(int i=0; i<names.size
ひさびさに「Wikipedia を Wiki って略すな」ネタが話題になっていた。 ⇒ 「Wikipediaをwikiって略すな」に敗北した我々の負けられない戦い「GitHubをGitって略すな」 - YAMDAS現更新履歴 そこに付いていたコメントがちょっと気になる。 スーパーマーケットをスーパーと略すな、という戦いはかつてあったのだろうか スーパーマーケットをスーパーと略すな、という戦いはかつてあったのだろうか - vndn のコメント / はてなブックマーク あの村上春樹も「Wikipedia」を「Wiki」と略している現実 僕もすぐにものを忘れてしまいます。最近はwikiがあるのでなにかと助かりますが。 ほら、あの、あれあれ - 村上さんのところ/村上春樹 期間限定公式サイト 「スーパーで買ってきた」といえば、「スーパーマーケットで買ってきた」と連想できるのはどうしてだろう。 「ス
今回の環境。 OS: Mac OS X Yosemite 10.10.2 Node.js はインストール済み。 $ node --version v0.10.29 npm install で swig モジュールと express モジュールをインストールする。 $ npm install swig swig@1.4.2 node_modules/swig ├── optimist@0.6.1 (wordwrap@0.0.2, minimist@0.0.10) └── uglify-js@2.4.19 (uglify-to-browserify@1.0.2, async@0.2.10, source-map@0.1.34, yargs@3.5.4) $ npm install express express@4.12.3 node_modules/express ├── merge-des
楽天のショップで購入すると、 「【楽天市場】注文内容ご確認(自動配信メール)」 という件名のメールが自分のアドレス宛てに送られてくるのだけれど、このメールは同時にCcでショップのメールアドレスにも送られている。 このメールの中には、なぜか 「最近チェックした商品」 という項目があり、楽天市場で閲覧した商品ページの情報が載っている。 俺の閲覧情報を、ショップに送る意味なくね?( ゚д゚) # 正直にいうと、楽天市場でうっかりちょいエロ的な商品をチラっと閲覧したあとに、別の商品を購入した結果、この現象に気づいたのである(`・ω・´) ちなみに、この「最近チェックした商品」の情報を削除するには、 【楽天市場】ページ閲覧履歴 というページで「閲覧履歴を使わない」というボタンをポチっと押せば良い、はず。 閲覧履歴の機能がご不要な場合は、下のボタンを押してください。「閲覧履歴を使わない」に設定変更する
環境: VAIO Tap 20 + Windows 8.1 タスクマネージャーを見たら「Windows Modules Installer Worker」というプロセスが CPU 10~30% ぐらいをうろうろしていた。メモリもディスクアクセスもそれなりに発生。これの処理が重くて、PCが遅くなる。。。 パソコンを1時間ほど放置しておいたら落ち着いた。 Windows Modules Installer Worker のプロセス自体が消えてた。 プロセスのファイル名をチェックしなかったけど TiWorker.exe というファイルだろうと思われる。 Windows Update の処理に関係あるらしい。 "This guy starts at random times, causing pecks in CPU usage, overheating the whole laptop. Wha
はてなモノリスは2014年7月1日に終了してしまう。投稿データをバックアップしておきたい。 これに伴い、これまでに投稿した「モノ」を、はてなブックマークにインポートする機能を追加しました。インポートを実行すると、該当の商品ページが自分のはてなブックマークに、ブックマークの1つとして追加されます。モノリスに投稿したコメントは、はてなブックマークのコメントとして登録されます。はてなブックマークへの移行を希望される方は、お手数ではございますが、2014年6月30日までに以下のURLよりインポートの実行をお願いします。 http://mono.hatena.ne.jp/my/migration はてなモノリスを2014年7月1日に終了します - はてなモノリス日記 はてなブックマークへの移行 Amazon商品の投稿をブックマークとして移行できます。 最新の投稿コメントがブックマークコメントになりま
W3C の Vibration API を使うと、スマートフォン端末によっては、振動させることができる。 バイブレーションはオン・オフのパルスのパターンで表され、それはさまざまな長さになるでしょう。パターンは振動するミリ秒数を示す整数 1 つ、あるいはバイブレーションと休止時間のパターンを示す整数の配列で構成します。バイブレーションは 1 つのメソッドで制御します: window.navigator.vibrate() です。 Vibration API - Web developer guide | MDN サンプルを書いてみた。 ⇒ (((( ;゚Д゚))) Sample of Vibration API 該当箇所のコードを抜粋。 var x = 100; var pattern = [2,2,1,1,1,1,2,2,4,4,2,2,6]; var vibPattern = []; f
次のページ
このページを最初にブックマークしてみませんか?
『NI-Lab. (えぬあいらぼ, にらぼ)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く