平素は株式会社ライブドアのサービスを ご利用いただきありがとうございます。 提言型ニュースサイト「BLOGOS」は、 2022年5月31日をもちまして、 サービスの提供を終了いたしました。 一部のオリジナル記事につきましては、 livedoorニュース内の 「BLOGOSの記事一覧」からご覧いただけます。 長らくご利用いただき、ありがとうございました。 サービス終了に関するお問い合わせは、 下記までお願いいたします。 お問い合わせ ※カテゴリは、「その他のお問い合わせ」を選択して下さい。
![BLOGOS サービス終了のお知らせ](https://cdn-ak-scissors.b.st-hatena.com/image/square/ea13b559ab8a92213578f10c01241372b4e3e3fe/height=288;version=1;width=512/https%3A%2F%2Fblogos.com%2Fimg_ogp_blogos.jpg)
文字列の中に存在する空白がいらないので削除したいときがあると思います。 ただ文字列中の空白を全て削除したい、左側のみ削除したい、右側のみ・・・など色々なケースが存在すると思います。 このとき使えるメソッドをまとめてみました。 下にコードを記述します。 str = " Hello World. " # とにかく全部の空白がいらない場合 str.gsub(" ", "") # => "HelloWorld." # 単語の間にある空白は削除したくない場合 str.strip # => "Hello World." # 左側にある空白のみ削除したい場合 str.lstrip # => "Hello World. " # 右側にある空白のみ削除したい場合 str.rstrip # => " Hello World." # 破壊的メソッド str.strip! str # => "Hello Worl
#import <Foundation/Foundation.h> @interface NSString (BTKIndexString) - (NSString*) btkIndexString; @end #import "NSString+BTKIndexString.h" @implementation NSString (BTKIndexString) - (NSString*) btkIndexString { for(int i = 0; i < self.length; i++){ // Upper Case Letter NSMutableString *keyStr = [self substringWithRange:NSMakeRange(i, 1)].uppercaseString.mutableCopy; // Full Witdh -> Half Width
どうやら、Java絡みっぽい。 Java for OS X 2013-005をインストール ターミナルでごにょごにょ の通りにごにょごにょ。 $ sudo mkdir -p /Library/Internet\ Plug-Ins/disabled $ sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled $ sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin $ sudo ln -sf /System/Li
はじめに 以下のエントリがHOTになっています。公開4日後の現在で949はてブです。 技術的負債という(非エンジニアにとっての)隠しパラメータが生産性100倍を起こす - mizchi's blog 私は企業で Software Engineer in Test としてソフトウェアの保守性に責任を持つポジションに就いている身ですのでこのテーマに関心があるのはよいことだとは思います。技術的負債そのものについてのエントリは過去にも沢山あるようですが、mizchi さんのエントリは誤解を恐れないシンプルで断定的な書き方ですので多くの人に刺さったのでしょう。 ただ、技術的負債(technical debt)というメタファーが万人に誤解無く伝わるのかは疑問です。時間を借りているのかはピンと来ませんし、財務的負債と異なり返済の義務はありません。また、エンドユーザーに提供する価値よりも負債にフォーカスし
今までパッケージソフトとかWebサービスの開発をしてきた中で、ビジネス上の納期や要求を満たすためにひどいコードを書くっていうのは自分の経験ではあまりなかった気がします。なにかひどいバグがあって、とりあえずのパッチを当てて間に合わす、ということはたまにあるけれど。SIの世界は知りませんよ。 そもそもコードを汚くかけば納期に間に合うということもないし、ビジネス上の近道になるということもない。コードをきれいに書こうが汚く書こうが無理なものは無理。第一汚いコードを意図的に書くというのも意外に難しいということは、普段まあまあきれいなコードを書いている人ならわかってくれるんじゃないかと思います。 仕様変更に設計がついていけてなくておかしいとかならともかく、関数が1000行あるとか、newした瞬間全てが終わるとか、変数のスコープがびっくりするくらい広い、みたいなコードについてははビジネス上の要求ではなく
Ginza.rb.第8回を開催しました。今回は参加者の方に事前にGemfileをアップして頂き、使用しているgemについて説明をして頂く形式で実施。 Gemfileの置き場は[こちら](https://github.com/ginzarb/meetups/issues/6)。 話に上がったgemについて以下にずらずらと。 ### [gon](https://github.com/gazay/gon) Rails側の変数をJavaScriptに渡す事が出来るgem。 controllerから大量のデータをJavaScriptに渡す必要がある場合に便利。 詳細は[RailsCast](http://railscasts.com/episodes/324-passing-data-to-javascript?language=ja&view=asciicast)参照。 ### [Better E
皆さん、tigコマンドを活用していますか? tigは、コンソール上で使えるgitブラウザです。実はずっと、ただのきれいなgit logだと思っていたのですが、本当はそんなことはありません。かなり使えるやつなのです。 インストール ソースコード: https://github.com/jonas/tig インストール方法: https://github.com/jonas/tig/blob/master/INSTALL.adoc この辺りを参考にしてみてください。詳細は割愛します。 基本の使い方 この状態の差分を扱っていきます。いつものこれだとこんな感じ。 git logが素敵にビジュアライズされてます。この画面をmain viewといいます。 ここでエンターを押すと、下半分に差分の詳細(diff view)が表示されます。 下矢印で、Unstaged changesの差分を見てみるとこんな
APIを覚える練習. 空白の要素も入った配列を昇順にソートすると, 空白が先頭に来てしまう. 空白を比較対象に入たくない場合は, 配列の長さを指定してソートする. qsort(table, 4, sizeof(table[0]), compare_char); の4の部分が該当する. #include <stdio.h> #include <string.h> #include <stdlib.h> int compare_char(const void* left, const void* right) { char *left_char = (char *)left; char *right_char = (char *)right; return strcmp( left_char, right_char ); } int main() { int i=0; char table[1
課題 ストーリーボードでは確かに設定しているはずのsegueが、シミュレータで実行されない。セルを選択してもハイライトされるだけで寂しい感じである。 解決方法 どうやらカスタムセルを利用すると、セルからのsegueが無効になるため、追加手順としてdidSelectedRowAtIndexPath:でsegueを発生させる。 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [self performSegueWithIdentifier:@"editRecord" sender:self.tableView]; }
:D な会社の友達たちが「いみゅーたぶるいんふらなんちゃらの合宿やるわー」って話してたので、そんな面白いことはぜひ外部からの参加も可能にするべきだ!って憤慨しながら突っ込んだら「くればおk」って言ってくれたので合宿参加しました。 概要はこんな感じ Immutable Infrastructure 的ななにかをやる キーワード ・Vagrant ・Docker ・Mesos ・Serf ・Sensu ? ・Jenkins ・とかとか やること ・上のキーワードをてきとうに組み合わせるとなにかおもしろいの出てくるかも ・Jenkins × Docker とか ・Mesos × Vagrant とか ・ただ触ってみるだけでも良いとおも 主催者の @sonots さんは上記のような概要書いたくせに全然関係ないfocuslight(の主にドキュメントページ)をやってた 僕は、とりあえずdockerだ
「伽藍とバザール」など、名前を聞いたことはあるが、売り切りになってしまっており、本屋ではなかなか買えないコンピューター・IT系の読み物があります。今回は「伽藍とバザール」やポールグレアムのエッセイなど無料で読めるコンピューター系の読み物をまとめてみました。 《ポール・グレアムのエッセイと和訳一覧》 → naoya_tさんによる。ホールグレアムのエッセイ一覧と和訳が掲載されております。 [関連文章] ・naoya_t:ポール・グレアムのエッセイと和訳一覧 《「伽藍とバザール 」「ノウアスフィアの開墾 」「魔法のおなべ 」エリック・S・レイモンドのオープンソース三部作 EPUB/Mobi版 by tdtds》 → ただただし氏によるエリック・S・レイモンドのオープンソース三部作。「伽藍とバザール」は今でも引用される機会が多いので、名前だけは知っているというケースも多いと思いますが、本屋さんでは
昨年紹介した『IFTTTとPushoverでオクトバのRSSをプッシュ通知するレシピ』を作ってから暫く調べていたんですが、他にも色んなレシピを作ってみたのでご紹介します。 IFTTTはウェブサービスとウェブサービスを自動で連携してくれるとても便利なものです。 これに『Pushover』を組み合わせると、IFTTTで作ったレシピを端末に通知することが可能です。 これによって何ができるか、じっくり考えてみました。 ・【特集】『IFTTT』&『Pushover』でWebサービスの更新をスマホで受け取ろう! これは前回も書きましたが、初見の方に向けてこの記事にも書いておきます。 「IFTTT」とは「イフト」と読むもので、その仕組はAndroidの超有名な神アプリ『Tasker』に近いものがあります。 IFTTTでは「レシピ」というものを作成するのですが、これは要するに「ウェブサービスを自動連携させ
アインシュタインの理論によれば、ブラックホールの中心は、密度無限大、大きさ無限小の点である。 現代の物理学者らは、自然界に無限は存在しない、と確信している。 ニコデム・ポプラフスキイ教授の理論によれば、ブラックホールの中心にあるのは小さい、しかし無限に小さくはない何かである。 ポプラフスキイ教授の理論の基礎にあるのは、宇宙の「種子」はブラックホールの内部に生まれ、ビッグバンで撒き散らされた、とする仮説である。 ※下記リンクより、一部抜粋。続きはソースで http://japanese.ruvr.ru/2014_02_23/129043753/ 3 フロントネックロック(WiMAX) :2014/02/23(日) 06:43:34.50 ID:0CUql3ab0 宇宙ヤバイ入れろよ 5 ラ ケブラーダ(沖縄県) :2014/02/23(日) 06:45:06.29 ID:kC
February 23, 2014 19:25 カテゴリiPhoneアクセサリiPadアクセサリ 【2/23】トリニティ、複数のデバイスを同時充電可能な最大出力4000mAのUSBポート内蔵のデジタルトレイ「Bluelounge Sanctuary4」を販売開始。 Posted by applebrothers No Comments No Trackbacks mixiチェック トリニティが、複数のデバイスを同時に急速充電可能なBlueloungeのデジタルトレイ「Sanctuary4」を2014年2月21日(金)より販売開始したと発表しています。 「Sanctuary4」は、4つのUSBポートをインナートレイ下に内蔵し、複数のデバイスを同時に急速充電可能(最大出力4mA 4000mA)です。傾斜角度調節可能なタブレットスタンドも搭載しています。 ※ 「最大出力4mA」となっていましたが
2つ前の記事から続いているProj.4ネタ、pj_transformの動作確認をするのにiOS開発環境を使ったので、その設定方法を。 iOSでのProj.4の導入方法は、こちらの記事でも紹介されていて、Route-meも私もずっと使ってた良プロダクトなので一緒に広まってくれれば嬉しいのだけど、Proj.4だけを使うなら別解もあるのでご紹介を。 cocoapodsを使う cocoapodsは、iOS開発環境向けのパッケージ管理システムです。 知ってる人ならこれだけで説明終了なのかもしれません。 私は知らなかったので、同様に知らない人のためにざっくり手順説明しますと、 cocoapodsのインストール まずcocoapods自身をインストールします。 Macのデフォルトrubyで大丈夫なようです。 これだけでうまくいかなければ、こちらあたりを参照してください。 Xcode commandlin
JavaScriptでRSS/ATOMを取得してサイトに表示したり加工して使ったりしたいんだけど、 そのままAJAXでやろうとしても、いわゆるSame Origin Policy でドメインが違うサイトのデータは取得できない。 そんなときは、Google Feed APIを使おう。 使い方 以下を読もう サンプル http://ameblo.jp/nazuki-airu/ のRSSを取得して各記事のリンクを作成する 下記がそのサンプル <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8" /> <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="https://www
@osakanafish さんのifステートメントを使わない一行条件処理 に関して。 確かにこれは気持ち悪いw でもこの文は一瞬首を傾げたもののすぐに意味は理解できた。 &&は左右両式がTrueの時にTrueを返す性質を利用したもの。 言語によって解釈方法に差異はありそうだけど多くの言語で &&はまず左を評価しtrueなら右も評価する ってのが取られていたと思う。 実際Perlとかではよく使われていた気がする。(エラーを取るときの例外処理とか)(要するに色んな言語で使える) ただ&&とand、||とorでそこら辺に違いがあったりしたような……(うろ覚え) とまぁ憶測だけで書いたメモ記事でした() PHPだとこの記事に書かれてたっぽい。 Register as a new user and use Qiita more conveniently You get articles that m
AngularJSってコントローラーとビジネスロジックとのコネクションに、FactoryとかServiceとかを提供してるんですが、これって使わなくても困らないなって思います。 AngularJSはMVW、即ちModel-View-Whateverを掲げています。つまり、「 モデル(ビジネスロジック)と画面以外は、どうだっていい。MVCとかMVPとか、くだらない事を考える暇があったら手を動かせ 」と言っているんですね。 FactoryとかServiceはfat-controller回避のための機能だと思うんですが、別にそんな機能使わなくてもmodule使えば回避できますよね。 例えばこんな感じ: import opening = require('./domain/app/opening'); // <-- インポートして var app = angular.module('app', [
FreeBSD系にはselectに代わるI/O多重化の手段としてkeventも用意されている。keventの方がselectよりパフォーマンスが良いという噂を耳にしたので、計測してみた。 正直ここまで違うとは思ってなかった。監視対象のfdの数が高々10個の場合でも約2倍の性能差が出ている。 しかもてっきりfdの数に対して線形で時間が増えると予想していたが、selectの方はそれ以上のペースで時間がかかるようになっている。 selectにはウォッチできる数の制限もあるみたいだし、規模が大きくなるとポータビリティを犠牲にしてでもkeventに置き換えないといけないケースもありそうだ。 なお、計測はFreeBSDマシンが手元になかったので以下の環境で行っている。 OS: Mac OS X(10.7.5) CPU: 2.7 GHz Intel Core i7 Memory: 4GB 1333 MH
お仕事で自分や他の人のコードで発見した無駄なコードを、よりシンプルなコードに書きなおした時のメモ集的なものです。 String関連 Stringクラスのチェック系メソッド。 // 大文字小文字の違いを考慮しない一致。toUpperCaseで揃えたりしない。 assert "abc".equalsIgnoreCase("ABC"); // compareToにも大文字小文字の違いを考慮しないメソッドがある。 assert "abc".compareToIgnoreCase("ABC") == 0; // 空文字チェック。空文字列とequalsとかしない。 assert "".length() == 0;// java5まで assert "".isEmpty(); // java6から // ある文字列で始まる。s.indexOf(a)==0とかしない。 assert "abcdef".st
はじめに ひきつづきDockerのお勉強中。 簡単なshellを起動させて、動作を確認するところで止まってしまったので、できればアプリケーションを起動してみるところまでは試してみたい! そこで、index.docker.io を眺めていて目にとまったものを試してみることにしました。 今回は、atlassian/jira というイメージがあったので、これに注目。 普段Remdine使いなのですが、『簡単に起動できるなら…!』と思って、試すことにしました。 ※ 追記:末尾に、うまくいかない場合の対応方法を掲載しました。 やりたいこと/やらないこと やりたいこと index.docker.io から atlassian/jira のイメージを取ってきて、追加する。 dockerで上記イメージを起動させる。 起動したJIRAに、外部からアクセスをして、Webアプリケーションの設定を進めてみる。 や
外部へのリクエストが入りますが、この方法だと例えばコンテナからホストのアドレスを知ることができそうですね。 同等のサービスがいくつか知られています。 curl ifconfig.co curl inet-ip.info (2016年8月現在使えないようです) (@negabaroさんに教えていただきました) curl ipinfo.io/ip curl ipecho.net/plain curl ifconfig.me (2016年8月現在使えないようです) curl checkip.amazonaws.com (@metaleftyさんに教えていただきました) curl httpbin.org/ip (json形式で返ってきます) まとめ? ifconfigが非推奨になってたとは知りませんでした。そういえばディストリによってはデフォルトで入ってませんね。今後はiproute2を使いましょ
このページは大学生・もしくは新卒機械技術者を対象としています。 研究開発活動に従事している大学院生・機械技術者には初学的なので読む必要はありません。 さて、研究開発において実験データを取っていると非常に膨大な量(数万~数十万)程度の時系列データが とれるかと思います。 この場合CSV・TSVなどのテキストファイルに残す形でのデータ処理はソフト側のメモリの問題が起こります。 この問題に対してバイナリファイル形式でシーケンシャルに読み出すことによってテクニカルに回避する方法も ありますが、DB技術を用いてデータ処理を行おうというのがこの文書の目標です。 前提条件OS:Windows7 32bit or 64bit まず、Pythonというスクリプト言語をインストールします。このページの読者はPythonは初心者だと思われます。 しかし、ながらC・Fortranといったコンパイラ言語より遥かに短
概要 普段はファイル共有のOnedrive(旧:skydrive)を使っていて、全ての端末にeclipceを入れていますが、たまに再インストールすることがあるので、その時に行う事を色々と書きます。 個人のメモです。 いつもeclipceでしていることは、ウェブ系ではPHP,HTML,CSS,Javascript,sql(mysql,sqliteのデータベース設計)のコードや、スクリプト系ではbashなどのコード、あとはCとかjavaをたしなむ程度にコードをゴリゴリと手書きしています。 eclipce本体 エディションは「Eclipse Standard」 インストール前に「JAVA JDK」をインストールする必要あり。 JAVA JDK eclipce 本体設定(プラグイン導入後推奨) 文字コード eclipceは環境やプラグインによって、ソースコードの文字コードがshift-jsやeuc
function myFunction() { var response = UrlFetchApp.fetch("http://www.google.co.jp/search?q=qiita"); var myRegexp = /<h3 class=\"r\">([\s\S]*?)<\/h3>/gi; var elems = response.getContentText().match(myRegexp); for(var i in elems) { var title = elems[i] title = title.replace(/(^\s+)|(\s+$)/g, ""); title = title.replace(/<\/?[^>]+>/gi, ""); Logger.log(title); } } [13-09-10 00:08:56:438 JST] Qiita [キータ
- (NSString *)getJapaneseLine:(NSString *)aString { if (aString.length == 0) { return @""; } NSString *uppercaseString = [aString uppercaseString]; NSMutableString *halfString = [uppercaseString mutableCopy]; CFStringTransform((CFMutableStringRef)halfString, NULL, kCFStringTransformFullwidthHalfwidth, FALSE); NSMutableString *kanaString = [halfString mutableCopy]; CFStringTransform((CFMutableStrin
Deprecated この記事は古い記事です。 また気が向いたら更新します。 hubotで反応を返してくれるping pongコマンドを試すまでの、最速手順。 前提 Mac OSX 10.9 && Homebrew hubot起動まで $ brew install node redis # node.jsと redisをインストール $ redis-server & # redisを起動しておく。続きは他のタブやウィンドウで実行すること。 $ npm install -g hubot coffee-script # hubotをインストール $ hubot --create YOUR_BOT_NAME # hubotを作成。YOUR_BOT_NAMEは任意の名前(ディレクトリが出来る) $ cd YOUR_BOT_NAME; bin/hubot # 作成したディレクトリに移動後、botを起
CoreDataに関する関係性の理解には、下記がわかりやすい。 以下、自分がわかるような言葉でまとめる。 Managed Object Modelはxcdatamodeldにて視覚的に定義 Managed Object Contextを介して、情報を操作することが基本原則 Persistant Store Coordinator以降の低層のことは、AppDelegateがある程度面倒みてくれるので今は気にしない manage Object Context はスクラッチパッド(情報の一時保管領域)なので、明示的な更新や保存が必要 実装中に気づいたことや時間がかかったこと CoreDataのモデルオブジェクトをallocしてもエラーになる 当初、アプリのモデルオブジェクトは便宜的にNSMutableArrayで実現していたため、初期化は[[NSMutableArray alloc] init]
【Xcode】【iOS】ライブラリ導入時のApple Mach-O Linker Error. library not found for -lcurl【謎のエラー?】XcodeiOSxcode4xcode5 Build Failed 開発業務を行っていると各種ライブラリを使用したりすることがあると思います。 その時にビルドエラーが起きる事があります。 もちろん原因はいくつも考えられます。 ・必要なフレームワークが足りない? ・ビルドセッティングがおかしい? などなど。 こういったものは公式サイトのドキュメントをしっかりと読んだり、 セッティングなどを見なおしたり、またウェブ検索を駆使し。 先人の知恵をお借りしたりすれば大抵解決出来る事でしょう。 しかし、 ・必要なフレームワークはちゃんと入れてる ・ビルドセッティングもおかしくは無い…はず だけどビルドエラー…。 なんてこともあります。
2014-02-22 文体診断ロゴーンと形態素解析を試してみたよ 雑記 夜の庭からコンバンワ。今週はあまりやる気がないミィア猫(ΦωΦ)です。 今週は下書きを3本書いたものの、どうにもこうにも投稿モチベーションがあがらず……。集中力が散漫な時は恥ずかしい文章を書きがちなため、発言系エントリーは自重しています。今日は気分を入れ替えて、文章系診断で遊んでみました。 文体診断ロゴーン 文体診断ロゴーン 文体診断ロゴーンは、文章から文体の一致する作家名を教えてくれる診断ツール。普段は特定の文体を持たない私ですが、過去に一度だけ駄文を残しておりますので、その内容で診断してみました。 ちなみに駄文はコチラ。自分でも誰の文体に似ているのか想像つきません。 歳は二十八だったろうか。名の知れた大学病院に勤務する彼は、たびたび仲間と連れ立ち店を訪れては二十歳を迎えたばかりの私を指名した。そうは言っても、一
毎回ググってるのでメモ。 Ubuntu 12.04 LTS(サーバー版、x86_64)にnginxの安定版をインストールする手順。 launchpadにPPAがあるので、そこからインストールする。 NGINX Stable : “Nginx” team add-apt-repositoryコマンドでPPAのnginx/stableを追加。aptでupdateしたあとにinstall。 $ sudo add-apt-repository ppa:nginx/stable $ sudo aptitude update $ sudo aptitude install nginx $ nginx -v nginx version: nginx/1.4.5add-apt-repositoryコマンドは、python-software-propertiesパッケージをaptでインストールすれば使えるよ
昔(今もか)は、延長コードというとタップが4~6個位あってというのが定番ですが、低価格の延長コードにも色々バリエーションがでてきたみたいですね。 こちらはおしゃれなタイプのスイッチインテリアタップ。 1か所だけ離れていますが、げんこつタイプのACアダプターやオプションを繋げるように離れています。 一見普通の延長コードなのですが。 見えない部分に、電源スイッチが付いています。 しかもこれ、ブルーLEDが点きます。 もう一つは、USBローリングタップ。 附属チップは交換できるようになっています。 一見普通のコンセントなのですが。 反対側にはUSBコネクタがあり、機器の充電ができます。 こちら、コンセントの空き状況に合わせて、回転できるというもの。 こんな感じで回ります。(ちゃんとクリック感があるので、好きな角度で止めることができます。 また、上にあったチップを気分や配線によって替えることもでき
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
内容:「Convert PDF to Word Online for Free」は、手持ちのPDFをWordファイルに変換してくれるウェブサービスだ。レイアウト優先でWord形式に変換してくれるので、なるべく見た目を崩さずにPDFをWord文書化したい場合に向いている。 「Convert PDF to Word Online for Free」は、手持ちのPDFをWordファイルに変換してくれるウェブサービスだ。レイアウト優先でWord形式に変換してくれるので、なるべく見た目を崩さずにPDFをWord文書化したい場合に向いている。 使い方は簡単で、「ファイルを選択」ボタンを押してPDFファイルを選び、「Convert and Download」ボタンを押すとアップロードが始まり、自動的に変換されたのち、「Download」ボタンが表示されるので、クリックしてローカルにダウンロードするだけ。
昔から道端でお店を探すのに、商業広告と口コミがうまい具合に組み合わさっているのがわかる食べログだけで検索するのはあんまり得意ではなくて、 ・Googleで「恵比寿 ラーメン」などとお店を検索してみる。 ・検索結果から、食べログ、ぐるなびに行ったり、個人のブログを探したり、公式サイトを探したり。 ・そうやって探した結果からお店に行ってみる。 というアプローチでお店を探していたのですが、これは結構煩雑で面倒くさいなぁと思っていたので、昨年9月にリリースしたShopCard.meというiPhoneアプリでは、このプロセスを簡単にするようにしました。 地道にアップデートを続けて、ようやく10回目のリリースのVersion1.10まで来たので、改めて記事に書きたいと思います。 メリット1「とりあえず起動すれば近くのお店が出てくる」 お腹空いてるから、お店を探したいのに、他人が薦めてる「おいしいけど遠
はてなダイアリーからはてなブログに移行して3週間。だいたい良かったこと、良くなかったことわかってきたのでまとめておきます。引き継ぎのプロセス自体が素晴らしかったのは、このエントリーで書いたとおりです。 全体的なサーバのパフォーマンスが大幅向上。はてなダイアリーだとAdsenseのパフォーマンススコアでも☆一つだったことがザラだったけど、はてなブログでは☆4つくらいになった。たぶん、ソーシャルメディアのパーツとか全て外せば☆5つになるのではないかと思う。 はてなブログで専用iPhoneアプリでアクセス数とかブックマーク数や簡単な記事の作成ができるのが地味に便利。さすがに記事とか全部をiPhoneアプリ側ではかかないけど、気軽に旅行中とかから軽い記事とか現地レポートの更新ができるのでは。ただし、はてぶブログアプリでいくつか完成度が低いところがあったので、そこは今後の更新に期待。具体的にはアクセ
珍しく勉強会参加報告。 これ -> http://atnd.org/events/47713 統計解析に特化した言語なので発表内容もその方面に偏るわけだが、 とは言ってもいろんなドメインがあって、手法もそのぶんいろいろあるので よく聞く話から今まで全く知らなかったことまでいろいろ聞けて面白いものだ あと、難しい話はしないので詳しく知りたい方はslideshareを見てください というわけで内容まとめるよ 10分で分かるR言語入門 ver2.6 10分で分かるr言語入門ver2 6 from Nobuaki Oshiro Rの文法やCRAN、お役立ちサイトなどの紹介 タイトルから分かるようにこれからRを始める人に向けた内容だった 10分しか話してない(実際の発表時間は計ってませんw)ので導入といった感じ Rによるやさしい統計学 「第20章 検定力分析によるサンプルサイズの決定」 Rによるやさ
昨日の夜買って読み始めたら朝の 10 時に読み終わった。いろんな人がいろいろ感想書いてるからごちゃごちゃ書くことはしない。 「利口な UI」というコラムが序盤にあった。これは「バカにプログラミングさせるとビューにロジックが集中する」「かといってバカにはモデル駆動開発は無理」という話です。極めて説得力を感じるのですが、この問題に関して最後まで読んでも特に解決策は載ってませんでした。 優秀なエンジニアがその辺にいくらでも生えてるということは稀なので、教育とかいう難しいやつをやる必要がある(難しい) — トデス子 (@todesking) February 22, 2014 というようなのが現実だと思います。ここから得られる課題は、「利口な UI」しか書けない人をどのようにモデル駆動開発に耐えられる専門家に教育するかという点です。 ある程度の人間が「ビジネスサイドの人間と会話する共通の言語を基に
最近ファイル共有以外のソフトウェアも積極的に開発している印象のあるBitTorrent社が、ライブ配信用ソフトウェア「BitTorrent Live」のスマートフォン版アプリを、間もなく(といっても今年後半)に公開する予定であることが明らかになりました(BitTorrent Blog、GIGAZINE)。 BitTorrent Liveは、P2Pの技術を活用していて、視聴者が増えるほど安定して配信できるところが特徴。従来の中央集権的ライブ配信とことなり、低コストで高画質の動画配信が可能になるかもしれません。 使ってみた スマホ版リリース予定を記念して、Mac版クライアントを使ってみました。公式サイトの一番下「Download Live」からMac用クライアント「BTLive.0.4.12.335.pkg」をダウンロードしてインストールします。 インストーラーに従ってインストールしてください
さっそく統計学に挫折したのでorz、『統計学がわかる』を読みました。この本はハンバーガーショプの店長と店員が、統計学を用いてライバル店との比較などを行うストーリーで構成されています。平均や分散、信頼区間、検定などの基本的な考え方をシンプルに理解できるので、統計学の初学者の方にすごくお勧めな本です! 今回はこの本の中で、特に勉強になった部分を中心にメモを書いておきます。 (03/22 09:45) 確認テストを中心に書き直し 🎳 [無料Web教材] ハンバーガー統計学にようこそ! この本の内容は『ハンバーガー統計学にようこそ!』に無料で公開されています。もしご興味があればぜひご覧になってみてください。 🐡 第2章: 母集団・標本・区間推定・信頼区間・t分布母集団が大きい場合にサンプリングして、母集団を推定する。 キーワード母平均 => 標本の平均で推定できる 母分散 => 標本の不偏分散
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 開発はみんなでやると楽しいですよね! チャットワークなど企業向けにオンラインでコミュニケーションを促進しようとするサービスが多数あります。個人向けであればLINEやTwitter、Skypeもその一つといえるでしょう。しかし開発者にとってはどうも手に馴染まないものが多いです。 プログラマ、デザイナにとって必要な機能に特化させられれば、より開発がスムーズになるかも知れません。その一つになるかも知れないのがDevHubです。 DevHubの使い方 外部サービスから通知を受け取れるようになっており、JenkinsやSubversionからコミット時などに通知を受け取るための設定が書かれています。もちろん他のシステムからもWeb APIを叩けば通知が使えます。 # Subversionの例
やばい、これは便利過ぎる! iPhoneやiPad 3G版のインターネット共有を使ってテザリングをしている人は多いと思います。その際にWiFiで使うとバッテリーの消費が大きいので、Bluetoothで使っているのではないでしょうか。筆者もそうなのですが、MacBookを開いた後Bluetoothで繋ぐのが毎回面倒に感じていました。 そこで生み出されたのがLidSyncPANです。MacBookを開いたら自動的にBluetooth接続を開始してくれるそんな超便利なソフトウェアです。 LidSyncPANの使い方 LidSyncPANは幾つかの設定が必要です。まずSIMBLを使っていますので、EasySIMBLをインストールする必要があります。その上でLidSyncPANを登録します。そして別途環境設定としてのLidSyncPANをインストールします。 一度ログアウトし、ログインし直した後、セ
数と数の関係性を明らかにして、数の意味を理解したり別の数を計算する。それが方程式の役割で、鍵となるのは = で表す等号だ。数学は記号を使った言語であり、すべて言葉に翻訳できる。方程式であれば「〜と〜は」という主語で始まり、「等しい」という述語で終わる。 例えばアインシュタインの方程式「E=mc²」は、「物体のエネルギーは、その質量と、光の速さの2乗との積に等しい」と言葉で説明できる。ピタゴラスの定理「a²+b²=c²」なら、「直角三角形の斜辺の2乗は、隣り合った2つの辺の2乗の和に等しい」といった具合だ。 方程式には世界を変える力がある。自然の中に隠れているパターンを発見すると、科学技術のレベルが大きく飛躍する。それをドラマチックに丁寧に教えてくれるのが、数学者イアン・スチュアートによる『世界を変えた17の方程式』だ。 第1章 カバに乗った女房 ピタゴラスの定理 ピタゴラスは、直角三角形の
iPhoneアプリ開発で実機テストなどをするために Appleのdevcenterに登録するUDIDという端末識別番号があります。 自分の端末のUDIDを調べるのに 専用のアプリがあったので、それを使ってみました。 (App StoreでUDIDと検索するといくつも出てきます) そしたら FFFFFFFF3D59B46B96694C5490D5D93A8565C965 というやたら長い文字列が出てきたので これをdevcenterに登録しました。 にも関わらず、一向に実機テストが出来ない。 原因を調べているうちに どうもこのUDIDが正しくないのでないかという疑念が湧いてきました。 そこで、別のUDIDアプリを使ってみたのですが、なんと FFFFFFFFD826D3626E0242378B43F0D4A2C152BC という似てるけど非なる文字列が出てきました もちろんUDIDは1つしかな
開発していたxcodeのプロジェクトで 実機テストしようとしたら、次のようなエラーが出てできませんでした。 clang: error: no such file or directory: '(ディレクトリ省略)/Build/Products/Debug-iphoneos/libGPUImage.a' シミュレータのlibGPUImage.aがない場合は Debug-iphoneosのところが Debug-iphonesimulatorになります。 どうも、プロジェクトのコピーやフォルダの移動をしていると libGPUImage.aというデータが消えてしまう事があるようです。 実機テストが出来た頃のバージョンからlibGPUImage.aをコピーしてきて 目的のプロジェクトの中に入れたら直りました。 (逆に言うと前のバージョンがないと、どうしようもないようです。) やり方はfinderを開
取り合えず寝坊した。 前日は朝まで同僚と飲んでいて、帰宅したら朝9時くらいだった。 読書会は15時からだったしまあ3時間くらい寝れるなー...からのまぁこの話はいい。 読書会という形式の会に参加すること自体が初めてで一体どんな感じなんだろうか、会場が自宅から徒歩2分くらいのところになってくれないだろうか、と思って家を出た。 会場はなんだかものすごく洒落たコワーキングスペースだった。畳の上のでっかい長方形の足の短いテーブルを皆座布団に座って囲むみたいな感じ。和モダン。既に皆座って始まってる。すみません...まぁこの話もいい。 一人一人がエリックのDDD本の節を読み上げる、ディスカッションするを繰り返す感じで進んでいった。今回は前書き(いわゆる翻訳者とかマーチン・ファウラーであるとかが感想みたいなものを書いてるとこ)を読むところまでだった。 面白いのは、脱線。 ディスカッションの過程で話はどん
git cherry-pickは異なるリポジトリ間でも使える。 なんとなく似てるコードがいろんなリポジトリにある。。。残念な状況だけど。 そんなとき点在している同じコードに問題が見つかったら一生懸命修正して回ることになるけど、ちょっとでも楽したい。 (修正を導入したいリポジトリ内で) git remote add FIXED_REPO {すでに修正を導入したリポジトリのURL} git fetch FIXED_REPO git cherry-pick {FIXED_REPO上のコミットのSHA1} git push origin master (最初に修正を導入したリポジトリ内で) git remote add TO_FIX_REPO {これから修正を導入したいリポジトリのURL} git fetch TO_FIX_REPO git checkout -b TO_FIX_REPO-mast
コード規約 https://github.com/wantedly/objective-c-style-guide NYTimesをベースにraywenderlichからいくつか使えるものを追加し、Storyboard, Category, Directory, Cocoapodsの章を追加した。 https://github.com/NYTimes/objective-c-style-guide https://github.com/raywenderlich/objective-c-style-guide 既存のプログラム見て確認して欲しいポイント RestKit APIの仕様の確認 ORマッピングについて モデルへのマッピングをどうやっているか ObjectManager, ResponseMapping, RequestMapping, Descriptorはどういう役割をしている
2013/05/03 ■ 眼前に広がる究極の仮想空間!Oculus Riftが届いたよ! GDCで話題を呼んでいる、ゲーム向けバーチャルリアリティHMD「Oculus Rift」が我が家にも届きました! クラウドファンディングサービスKickstarterで出資したのが昨年の8月頭のことなので、出資から到着まで9ヶ月も待ったことになります。長かった…。 このblogを好んで読んでくださっているかたには周知のこととは思うのですが、私ヘッドマウントディスプレイとか没入型ゲーミング体験とか本当に大好きなもので(没入型ゲーミング体験…といえば、戦場の絆のPodも1個ばかりゲット…という話はまた後日)、当然こいつも首を長くして待っておりました。 というわけで、ひとまずこの「Oculus Rift」とは一体どういうものなのか?軽くファーストインプレッションを。 OculusVRからはこんな箱で届きまし
Flurry Analytics isn't just free of charge. It's professional grade. Flurry is a pioneer in helping app developers succeed in the app economy. Since launching in 2008, we’ve continued to add cutting-edge functionality and scale a massive technology platform that effortlessly handles apps of any scale. Easy to use, Flurry Analytics also includes advanced functionality like on-demand complex queries
Mavericksで標準インストールされているVimではクリップボード連携ができません。 クリップボード連携できるようになるとVimで書いたプログラムなどをコピーしてその他のエディターなどに貼り付けることができるようになります。 特に何もしていないVimでは以下のように表示されると思います。 $ vim --version | grep clipboard -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -xterm_clipboard -xterm_save #-clipboard=クリップボードが無効
ScalaのJSONライブラリにはこちらのスレッドによると、ざっと下の選択肢がある。多い... parsing.json.JSON - 標準ライブラリ spray-json Jerkson - JacksonのScala用ラッパ sjson lift-json json4s - lift-json系 Argonaut - Scalaz系 play-json Jackson - Javaライブラリ 今回は、とっつきやすそうで、pull型(Streaming)パースをサポートしていて、Java界で実績がありそうなJacksonを試すことにした。環境はsbt-androidで、とりあえずJSONをScalaのオブジェクトとして取得(データバインド)してみることにした。 1. 依存関係の追加 build.sbtに jackson-core, jackson-databind を追加。 librar
仮想サーバ環境 Vagrantを用いて、ローカル上に仮想環境を構築する Vagrantの簡単な初期設定からChefの導入方法までを説明する。 事前に必要なソフト VirtualBox putty(Telnet/SSH クライアント) Vagrant Cygwin 1. 必要ソフト のインストール 仮想環境構築に必要なVM VirtualBoxをローカルにインストールする。 注:環境変数にVM VirtualBox のPassを登録しておく。 Vagrantをインストールしておく 2. 仮想環境の前準備 仮想環境を構築する前に、仮想環境用のOSを入手し、インストールしておく。 2.1 BOXを取得する 仮想環境を構築したいBOXを取得することによって、選択したOSを使用することが可能になる。 コマンドプロンプト(以下CMD)で、下記のコマンドを実行する。
はじめに Elasticsearchのv1.0.0 が無事リリースされ、Aggregations APIの利用が可能になりました。 Elasticsearchはこれまで、検索結果を集約して解析する仕組みとしてFacets APIを提供していましたが、実質SQLのGroup byでのcountに相当する機能しかなかったため、maxやavgといった複雑な条件で集約を行いたい場合、クエリを分けて集約したり解析したりするしかありませんでした。 v1.0.0でAggregations APIが提供されたことで、maxやavgはもちろん、日付でヒストグラムを取得するといった複雑な集約も楽に行えるようになり、SQL型検索エンジンからの置き換えも行いやすくなってきたのではないかと思います。 内容 Aggregationsで何ができるのか、SQLのGroup byとの置き換えを例に検証してみましたので、その
//javascript: (function(){document.getElementsByTagName("title")[0].innerText;})() 特に多くのページで利用されるブックマークレットは、平凡な変数名だと既に存在する変数名とバッティングする可能性が高いので、このように (function(){...})() することが重要になってきます。関数ブロックは変数スコープを作り、 この中で var で宣言した変数は外部で使われる同名の変数と別のものになります。 また、このようにすることでブックマークレット全体の実行結果として何も返さない(voidを返す)ことも都合が良いです。 すべての変数は無名関数ブロックの変数スコープ内で var を使って宣言しましょう。var は複数の代入をコロンで区切って宣言することができます。 var div = document.create
#include <iostream> #include <map> #include <string> using namespace std; void dump(multimap<float, string>::iterator begin, multimap<float, string>::iterator end) { multimap<float, string>::iterator it = begin; cout << "---" << endl; while (it != end) { cout << it->first << ": " << it->second << endl; it++; } cout << "---" << endl << endl; } void dump(multimap<float, string>& m) { dump(m.begin(),
iOSアプリでWebViewを使うことは多々あるかと思います。 そんなWebViewで、表示しているWebViewで特定のリンクはWebViewで表示するのではなくてブラウザを起動したいというケースがあります。 そういう時は以下のサンプルコードのhttp://example.comを好きなアドレスに変更すればOKです。 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if (navigationType == UIWebViewNavigationTypeLinkClicked) { NSString *checkURL = [request.URL
Travis CIでテストを動かします。コマンドラインでテストが動いているならならば、そこまで難しい無いはずです。 https://github.com/akuraru/iOSxTDD/compare/1.1.2...1.2.0 参照 http://blog.ishkawa.org/blog/2013/04/14/travis-ci-ios/ http://efcl.info/2013/0613/res3301/ http://www.tokoro.me/2013/07/09/objc-travis-coveralls/ http://d.hatena.ne.jp/KishikawaKatsumi/20140211/1392056240 http://blog.dealforest.net/2013/04/travisci_ios_library/ http://blog.ishkawa.
WebSocketの仕様を読んでいると、フレーム中に"マスキングキー"というよく分からない値を見つけました。 http://www.hcn.zaq.ne.jp/___/WEB/RFC6455-ja.html#section-5.2 何やらこれを元にデータを変換しているようですが、用途がどうにも解せません。 マスキングキー自体が送信するデータに含まれているため、データの内容自体を保護するためのものではなさそうです。 読み進めるとマスキングキーについてもうちょっと詳しい解説が載っていました。 http://www.hcn.zaq.ne.jp/___/WEB/RFC6455-ja.html#section-10.3 なるほど、キャッシュ汚染攻撃というやつへの対策でしょうか。google先生に聞いてみると、こんな記事が出てきました。 WebSocketにセキュリティの懸念。Firefox 4とOp
新しいLinux環境を作った時に、もろもろの設定をgithubの自分のリポジトリから取ってくる仕組みにしているのですが、githubからcloneするために秘密鍵を~/.sshにおいたりパーミッションを適切に設定したりという作業をするのが面倒でそれも含めて自動化できないもんかな〜と言っていたら「それssh -Aでローカルの秘密鍵を使えばいいんだよ」という話を聞いた。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
概要 PHPでの開発は行なっているけどソースの品質を向上させるためのアプローチがけっこう停滞している。 unoh.github.com by unohを参考にさせてもらって そのためのソースに対して解析を行えるツールを試しに利用してみる。 環境 試した環境は、さくらのVPSで OSは、CentOS v5.5。 phpは、v5.3.8。 Apacheは、 v2.2.21。 導入してみたツール phpcpd sebastianbergmann/phpcpd · GitHub コードの中でコピー&ペーストで記述されている部分の検出してくれるツール。 phpdcd sebastianbergmann/phpdcd · GitHub どこからもコールされていないファンクションが無いかをチェックするためのツール phploc sebastianbergmann/phploc · GitHub phpの
モダンなアプリを開発するためのモダンなアプリ開発環境:連載:Visual Studio 2013対応フレームワーク「.NET 4.5.1」解説(1/3 ページ) 最終回ではVisual Studio 2013とVisual Studio Onlineを中心にモダンなアプリ開発を行うための環境について説明する。これら以外のマイクロソフトが提供する開発ツールについても見てみる。 連載目次 前回はアプリのモダン化と、これに必要な技術について見た。だが、「モダン化」とはアプリの形態だけの話ではない(これは前回コラムでも少し触れた)。アプリがパッケージではなく、インターネットを介してサービスあるいはWebページの形で提供されることが大前提となりつつある現在、その開発方法論もそれに合ったものでなければならない。つまり、アプリのモダン化には、アプリの開発環境/開発形態もモダン化が求められる。そして、アプ
自然言語処理を学ぶ推薦書籍を紹介します。2021年03月現在、自然言語処理を勉強したい理工系の学生・エンジニアの人は、以下の本を推薦します。 (概要)自然言語処理(放送大学出版) (理論)言語処理のための機械学習入門+深層学習による自然言語処理 (実装)Python 機械学習プログラミング 第3版 自然言語処理を勉強したい、非理工系・非エンジニアの人には、以下の本を推薦します。 (数式なし)自然言語処理の基本と技術 (数式あり)自然言語処理(放送大学出版) オライリーから出ている「入門 自然言語処理」は特殊な本(詳しい人がこれを使ってレクチャーしてくれるならともかく、独習に向いていない)で、Python 2 で書かれているだけでなく、すでに動かなくなったコードも多々あり、2019年時点では読まない方がいい本です。(それでもどうしても、意地でも読みたい人は、本家にある Python 3 対応
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する本連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」。前回の「初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法」では、オブジェクト、プロパティ、メソッド、関数など、プログラミングに必要な専門用語や開発ツール「VBE(Visual Basic Editor)」の使い方を解説した。 今回はVBEでマクロを実行する際に、マクロを1行ずつ実行させる「ステップイン」、任意の位置まで実行する「ブレークポイント」、さらに「エラー」への対処方法や「変数」「データ型」など、プログラミングをする上で重要な項目について解説する。 「マクロを1行ずつ実行させて、一体何の意味があるんだろう」と思う読者もいるかもしれない。マクロを1行ずつ実行させると、どこのコードでどの
今月はNoSQLを2つ紹介します。1つは「Oracle NoSQL Database」(以下Oracle NoSQL)です。オラクル製品との互換性に優れ、エンタープライズにおけるビッグデータと絡めたシステムに強さを発揮しそうです。もう1つはドキュメント指向のNoSQLデータベース「Couchbase」です。こちらはモバイル向けソリューションとして「JSON Anywhere」を掲げています。 Oracle NoSQLは自社製品との互換性と性能が違う 2014年2月、米オラクルでOracle NoSQLおよび「Oracle Berkeley DB」の開発責任者をしているAshok Joshi氏(写真)が来日、Oracle NoSQLについてお話を直接聞く機会を得ました。Joshi氏はデータベース製品技術に関わる経験が豊富なだけではなく、データベース技術に関する特許も持っています。 NoSQL
さてさて、前回の続きです。 オレはgruntのエコシステムに乗って楽をしたい、でもGruntfile.jsが長くなりすぎて辛い、grunt taskが時間がかかりすぎて辛い、という話は話で分かります。また、それに対する色んな解決策もあります。 最近出た、HTML5Rocksで紹介されてたやり方もあるし、いくつか先人の知恵もあるので、解決していきましょう。 Gruntfile.jsが長くなりすぎて辛い時 https://github.com/firstandthird/load-grunt-configを使いましょう。 いろんなtipsを見てきましたが、このライブラリが一番分かりやすく、かつGruntfile.jsをメンテナブルに保つことができます。 load-grunt-configには3つの機能があります。 grunt pluginの自動ロード機能 grunt configのファイル分割
What’s New v.2.5 60種類以上の新しい行動! 新しい種類の行動はまだ自動的には認識されませんが、簡単に追加することができます ひさしぶりの紹介です。 一日の行動を自動的に記録してくれる『Moves』がアップデート。v.2.5 からシステム要件が iOS 7 以降に変更されています。 一度起動したら、あとは端末をポケットやバッグに入れて持ち歩くだけ。GPS を利用して、バックグラウンドで自動的に一日の行動を記録してくれます。 移動速度によって、歩行/ランニング/サイクリング/交通機関を判別し、一定時間滞在していた場所にはピンが立ちます。移動の箇所をタップすると、マップにルートを表示します。 v.2.5 からは自動的に判定しないものの、60種類の乗り物/交通機関を指定できるようになりました。 初めて訪れる場所は「不明の場所」と表示されますが、foursquare のデータを使用
Kinect(的なもの)をスマホに搭載、グーグル「Project Tango」とは何ぞ?(動画)2014.02.22 18:00 福田ミホ 3Dスキャナを5インチスマートフォンの中に。 グーグルが限定配布の実験的スマートフォン「Project Tango」を発表しました。限定も限定、まだ開発中の端末なので、3月までに200のデベロッパーにのみ配布される予定です。 Kinectみたいなセンサーと独自のチップセットを搭載したProject Tangoは、世界を全く新しい方法で認識できます。高度な3Dスキャナが、スマートフォンに入ってるような感じです。 Project Tangoとは グーグルはモトローラをレノボに売却しましたが、その際Advanced Technology and Projects(ATAP)グループという部門だけを手元に残していました。Project Tangoはそこで手がけ
現在、5章まで終わりがけで今日中に6章までは行きたい。 5章ではscssやerbをどう使うか、という感じの話で、ええなぁと思ったのはbootstrapの導入。 phpでやったときはbootstrapのファイルをダウンロードしてディレクトリに配置して……ってやったのだけどrailsだと一行書くだけでいいのですか。 ラクチンです。 ファイルの位置とアドレス、ページを呼び出すために出すリクエストの種類を対応させる命令をroutes.rbに書いていくと理解しているわけですが、 書いた結果がurlヘルパーに反映されるらしいですね。 で、urlヘルパーがどこにおさまってるかわからなくて、 urlヘルパーを自分で作ってみたり、 反映された結果を定数の定義として書く必要があるのか、 と思って、チュートリアルの反映された結果をモジュールの中に書いて詰んでみたりしていました。 定数を定義すると、rubyだと
何か? git commitのオプション--allow-emptyご存知でしょうか? これは、オプションの名前の通り空のコミットの作成を許可するオプションです。 通常変更がないとコミットが作れないようになってるので 空コミットを作るにはこのオプションを指定する必要があります。 add(もしくはrm)もしない(stageに何も載せない)で commitしたときの注意文には登場するので知ってましたが使ってませんでした。 最近、開発フローの中で使い道を思いついて使うようになったので紹介です。 その1 空Pull Request作れる プルリクって、基準になるブランチから変更されたコミットがないと作れないと思ってます。 でも、変更はないんだけどプルリクのcommentに変更の「概要」「目的」「ビジネスインパクト」「どの数値が改善するのか」など色々さきに書いておきたいこととかありますね。 考えてる内
仕事の合間や休日などに、カフェを探したいという人も多いと思います。僕も休日はよく喫茶店に籠りたくなるので、カフェの場所を探せるアプリは貴重。特に知らない土地でカフェを探す時に多用しています。というわけで、今回はカフェの場所を探せるアプリをご紹介。ぜひ参考にして頂ければと思います。 1. スタバサーチ2 まずはMac派の聖地・スタバを探せるiPhoneアプリです。僕はこのアプリをバージョン1の時から愛用しています(現在はバージョン2)。現在地近辺のスタバを表示してくれ、日本中の950件のスタバに対応。出張先でもスタバを探せるのが便利ですね。すごく優秀なのでAndroid版も欲しいところです…。 スタバサーチ2(iOS ) 2.カフェマップ スタバ以外のチェーン店を探したい時は、「カフェマップ」がお勧め。こちらは全国40チェーン以上、7041店舗を検索できるアプリで、スタバ、エクセルシオール、
皆様はじめまして.リクルートテクノロジーズでエンジニアをしている相野谷と申します. 先週開催された第3回Elasticsearch勉強会で「Elasticsearch+DynamoDB+Node.jsで作る全社基盤」というタイトルで,独自開発したシステムでのElasticsearchの利用例を紹介させていただきました. 発表スライド自体は既にupされていますが,それだけでは初見の人に分かりづらいと思いますので,解説記事を上げさせていただきます. スマホアプリのためのプッシュ通知基盤 今回開発したシステムは,「リクルートグループが開発するスマホ用のアプリでプッシュ通知を送るための基盤」です.このプッシュ通知基盤が提供する条件指定プッシュという機能のために,Elasticsearchを使用しています. システム構成 本システムはリクルートで開発される全アプリから利用されることを想定しているため
P2Pを使ったライブストリーミングサービス「BitTorrent Live」のスマートフォンアプリが近日リリースされることが分かりました。ストリーミングは通常、視聴者が多過ぎるとスムーズに再生できないものですが、BitTorrent Liveは視聴者が多ければ多いほどストリーミングが安定する仕組みになっており、アプリが公開されれば今まで以上にスマートフォンの可能性が広がると考えられています。 Coming Soon: Smartphone Streaming, Powered by BitTorrent Live | The Official BitTorrent Blog http://blog.bittorrent.com/2014/02/14/coming-soon-smartphone-streaming-powered-by-bittorrent-live/ BitTorrent
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く