<uses-permission/>の説明をしていきます。 android.permission.ACCESS_COARSE_LOCATION public static final String ACCESS_COARSE_LOCATION Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi. ということでWiFiやLTE(3G)とかの電波塔などのネットワークの場所の供給源を利用して、おおよその場所の位置情報へのアクセスを出来るようにするパーミッションとなります。 ネットワークを使うということなので、かならずandroid:name="android.permission.INTERNET"のuses-permiss
AndroidではGPSやネットワークを利用して端末の位置情報を取得することができます。 また、位置情報の精度や消費電力の程度を予め指定しておくことが可能なため、 その時々に最も適した方法で位置情報を取得することができます。 位置情報を取得する手順としては以下のようになります。 パーミッションを設定する LocationManagerを取得する ロケーションプロバイダの条件を指定する 位置情報リスナーの実装をする 位置情報リスナーの登録と更新間隔を設定する 詳細は続きからどうぞ。 パーミッションを設定する はじめにアプリから位置情報を取得するためにパーミッションの設定を行います。 位置情報をどのデバイスから取得するかによって設定するパーミッションが異なります。 用途に応じてマニフェストファイルに適切なパーミッションを設定してください。 ・GPSから位置情報を取得する場合 <uses-per
こんにちは。@srockstyleです。 Ruby On Rails便利ですね。フレームワークとして「Railsライクだから便利だよ!」ってはなすフレームワークがいっぱいでてきて久しいです。 今回はRailsで作ったアプリを高速化した話です。と言ってもこれは2015年くらいにやった作業なので、モダンな環境では通用しないかもしれません。 この記事の結論は結局「キャッシュいいね」となってしまいます。 最近のキャッシュトレンドな話はまた別に書きます。 ことのはじまり 当時の僕は一人でアプリケーションを書いてました。 作業もほぼ終盤に終わり、バグも潰し終えたとき、とある現象に気づきました。 ちなみにこれリモートのサーバです。DB接続のところはキャッシュつかうようにしたのである程度早かったり、Cloudのほうも設定したのでよかったんですが遅いですね。Viewが9ms、ARが17msなのに全体で157
こんにちは、鈴木です。 バッチ処理を作成する時に、気を付けなければならないことの一つに、排他制御があります。 排他制御を行なう方法はいくつかありますが、今回はロックファイルによる排他制御を行なうコードを考えます。 排他制御を忘れると 排他制御を忘れていると、 cron で定期的にパッチ処理を起動するように設定した。 前回起動されたバッチ処理がまだ終了していなかったので重複して起動された。 そんな状況は考慮していなかったので、バッチ処理中にエラーが発生した。データ不整合が発生した。 といったことになりかねません。 ロックファイルによる排他制御とは、以下のような手順で排他的に処理を実行する方法のことを言います。 バッチ処理の最初にファイルをロックする。( File#flock() を使用します ) ロックに失敗したら、処理を終了する。( or ロックが取得できるまで待機する ) 本来の処理を実
たいていの場合はこのとおりの挙動になるので、これを信じてしまってて、おかげでハマりました。 $ cat a.rb open("test.txt", "r+") do |f| #ファイルをopen f.flock(File::LOCK_EX) #ロックする system("ruby b.rb &") #バックグラウンドでb.rbを実行 end #ファイルを閉じる $ cat b.rb open("test.txt", "r+") do |f| f.flock(File::LOCK_EX) end $ ruby a.rbこれをやると、b.rbは固まります。 open("test.txt", "r+") do |f| f.flock(File::LOCK_EX) system("ruby b.rb &") f.flock(File::LOCK_UN) #アンロック endとしたら、固まらなくなり
苦手なのでRubyの例外処理まとめます raiseでエラーを表示させます raise 'error' #=>RuntimeError: error beginで例外を捕捉します。beginは例外が発生しそうな箇所に使用します begin 1/0 rescue = e puts e.message #=>divided by 0 puts e.class #=>ZeroDivisionError end beginで囲んだ部分をrescueで捕捉します。変数eには例外オブジェクトが代入されますので、例外の情報をメソッドを用いて確認できます。 また、rescue節では指定がなければStandardErrorとそのサブクラスの例外を捕捉します。 rescue Exception => e このように例外オブジェクトを指定することで、StandardErrorのサブクラス以外すべてのエラーを捕捉す
Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。 �&��View in English PQ!&��Always switch to English JavaScript はマルチパラダイムの動的言語であり、型や演算子、標準組み込みオブジェクト、メソッドがあります。その構文は Java や C 言語に由来するので、それらの言語の多くの構造が JavaScript にも同様に適用できます。 JavaScript は、オブジェクトプロトタイプやクラスによるオブジェクト指向プログラミングに対応しています。また、JavaScript は関数型プログラミングもサポートします。関数が第一級オブジェクトであり、式から容易に作成し、他のオブジェクトと同じように受け渡しすることができます。 このページは、 Ja
「Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def
連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎」 の連載を担当させていただく本橋佑介です。 本記事では、広く利用されている技術から新しい技術まで、基本的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、
require 'rubygems' require 'parallel' require 'open-uri' require 'digest/md5' urls = [ 'http://farm4.staticflickr.com/3052/3086132328_e2041be795.jpg', 'http://farm7.staticflickr.com/6053/6312937936_cebaf2feb9.jpg', 'http://farm1.staticflickr.com/54/131841577_0e67642c02.jpg', 'http://farm3.staticflickr.com/2293/2266151759_058e732577.jpg' ] Parallel.each(urls, in_threads: 2) {|url| puts "start downl
今日は、ライトなネタです。 iPhoneアプリがmain関数からどのように起動しているんだろうと疑問を思い、 色々と調べました。 開発で良く使うUIViewControllerへコントロールが来るまでをブログに書きたいと思います。 iPhoneアプリが起動するところまでのソースコード こんな感じのようです。main関数から起動するのは、他のCやC++のソースと一緒です。 (main関数のところ) #import #import "AppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } UIApplicationMain関数を実行する際に、
連載2回目となる今回は、いわゆるHello Worldプロジェクトの作成します。ただしInterface Builderを使った一般的な方法とは異なり、コードのみでプログラムを作成します。それを通してiOSアプリケーションの構成要素の基礎を理解することを目指します。 プロジェクトの作成 Xcodeで新規プロジェクトを作成します。プロジェクト名は「GihyoSample01」とします。テンプレートにWindow-based Applicationを選択します。Productは"iPhone"とし、"Use Core Data for storage"にはチェックを付けないようにします。 図1 プロジェクトの作成 nibファイルを使わないアプリケーションの設定 プロジェクトの作成が完了したら、まずはアプリケーションのロードをnibファイルから行わないように変更します。nibファイルから起動する
The document discusses various aspects of Python programming within the context of Cisco Systems and includes information about learning resources, technical details, and programming concepts. It covers multiple Python functionalities such as ping operations, program structure, and installation on different operating systems. Additionally, it highlights the significance of Python in network manage
Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理由を無理矢理書いてみた。 決して「やってはいけないコーディング」と言う意味ではないです。単に「私はあまりしない」程度で、一般的な(?)業務開発でもあまり見ない、くらいの位置付け。理解した上でやる分には全く問題無いですし、そう言うもんだと思って使っても良いとは思います。 複数変数を同時に宣言する int i, j = 2, k; 同じ型の変数(フィールドでもローカル変数でも)は同じ文で宣言できます。 けど、あまり使ってるのは見ません。 同じ型でしか使えないし、フィールドだとJavaDocコメント書き辛いし、初期化式
2020/12/27追記 https://www.ruby-lang.org/ja/news/2020/12/25/ruby-3-0-0-released/ => Ruby3.0.0にRBSとTypeProfと用いた静的解析に対するソリューションが提供されました。 今後はこちらのエコシステムをガンガン盛り上げていきましょう💪 あいさつ P.S. 12/11 HaskellからRubypeにgemを変更しました こんにちは. 寒さが一段と厳しくなってきた事もありまして心を温めるGemを作りました. Rubyの振る舞いを汚染する事無く型保証の恩恵をゆるふわ受けられるgemです (型をつけるとか型保証という言葉をこの文脈ではメソッドの引数返り値のクラスを実行時にチェックするという意味で使っている.) 得体の知れないGemで抵抗感があるかもしれませんが、コード自体は50行以下の薄いGemなので気
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く