概要 VirtualBox 上に Ubuntu の GUI 環境を構築すると、Windows でいうところのスタートメニュー的なものの表示であったり、ウィンドウのアニメーションがもっさりしてストレスを感じることがあるかと思います。 そんな場合は、以下のページにあるとおりの操作をすれば解消されることでしょう。 Ubuntu 13をVirtualboxにインストールすると遅い!!を直す方法 Virtualbox上のUbuntu13.04が遅く感じる時 3D Acceleration with Ubuntu guests 以降に、将来の自分のためにメモを残しておきます。 VirtualBox 側での操作 VM の設定画面にて、「ディスプレイ」の項目を選択します。続いて、その項目の右側の領域に表示されている「ビデオ」タブを選択します。 同タブ内にある以下の項目をそれぞれ設定します。 ビデオメモリー
revtex4-1は,American Instituite of Physics (AIP)関連の論文用のLaTeXスタイルファイル.JAPやPRBなどに投稿する際はこれを使う. 以下では,TexLiveがインストールされているMacOS X (10.9.2)を想定している. ダウンロード APS journal - REVTex Home revtex4-1.zipをダウンロードしたら,それを解凍する. 解凍後にrevtex4-1/ディレクトリ内にrevtex4-1-tds.zipがあるので,それを解凍する.そうしてできるrevtex4-1-tds/ディレクトリ内にインストールすべきもののセットがある. これを以下のようにしてtexmf-local/ディレクトリにインストールする.
getIntent 内の Extra の内容を変更 => Activity が破棄 => Activity が復旧 したときに、getIntent はどうなるのかという話 Activity がバックグラウンドに行った時に、破棄される(ことがある)というのは良く聞く話。 onSaveInstanceState や onRestoreInstanceState で上手にActivityを復旧する必要がある。ところで、Activityが呼び出されたときに Intent で渡された値と、それを上書きした場合はどうなるのだろうか? ぜんてい Activity が復旧した時に Intent 内の値を使う Activity が起動した後、Intent の中身を書き換える(普通やらない) けつろん 起動時の Intent の値が得られます 書き換えた後のものは復旧後に反映されません onSaveInsta
gitは、とにかくトピックブランチを作成して作業する。だいたい機能追加とかバグ修正とかの単位でブランチを作って作業します。(ちゃんとやってますよね?) なので、作業の途中で別の修正を優先してお願いっ!なんて言われたときは、別のブランチに切り替えて作業をする必要がでてくる。そんな時に変更を一時的に退避しておくことのできる機能、それがstashである。 では、早速使い方 まだcommitしていない状態の変更ファイル(addしてる or add していない)が存在する状況で、次のコマンドを実行すると変更ファイルを退避することができる。 ※saveは、省略することもできる。 これでファイルの退避完了!git statusとか見てみると変更状態であったファイルがなくなっている。この状態なら安心してブランチを切り替えることもできる。めでたしめでたし。 と、退避だけならこれで終わりだけど、次につかうとき
昨日は回帰分析について触れましたが、問題に応じて最適な手法を選択し適用することはデータ分析においてとても大切です。そのためには各種の分析手法について理解を深めなくてはなりません。 データを入手したとき、分布を仮定するためにいくつか分析したいことがあります。たとえばデータの変動を水準間変動と残差変動に分解し水準間で有意差があるかどうか検定する。変量間の関係から回帰式を導く。計数データを水準毎に分割する。それらが有意であるかどうか検定する。観測値の順位を用いて、母集団分布に依らないノンパラメトリック検定をする。といったものです。 分散分析は言うなれば検定の一種で、一元配置分散分析では 1 つの要因 A の複数の水準 A_1, A_2, ... A_a に関して各水準の母平均に差があるか検定します。 次のようなデータを考えてみます。一元配置のデータです。 水準 観測値 標本平均
はじめに Excelにテーブルスタイルが出来たのは、どのバージョンだったかは忘れましたが、 あの色合いって良いなぁと、そのままHTMLのTABLEタグで再現出来ないかなと思いました。 そんな訳で、CSSを作成してみました /* 黒 */ table.TableStyle1 { border-top: 1px solid #333333; border-left: 1px solid #333333; border-collapse: collapse; border-spacing: 0; empty-cells: show; } .TableStyle1 th { border-right: 1px solid #333333; color: #FFFFFF; background-color: #000000; padding: 0.3em 1em; text-align: cente
個人的にはaxebomber-cljのサブプロジェクトのつもりで作ったjagridですが、全国のExcelホウガンサーに喜んでいただけたようで、作ったかいがありました。 基本的には、position: absoluteで、絶対座標をmargin-top / margin-leftに変換するだけなのですが、細かいところで工夫してありますので、多少解説しておきます。 garden rubyにおけるSCSSと同じ問題領域に、clojureではgardenがあります。 スタイルシートをS式で書けるスグレモノですが、現段階では引数をとる擬似クラスや子セレクタ(>)に対応する機能は無く、ちょっと物足りない感はあります。しかし、CSSをS式で書ける喜びは何物にも代えがたいですね。 [:.jagrid {:border-width (px 0) :line-height (px cell-size) :p
チーム開発実践入門 以下に引用しながら私の体験を交えた感想を記載して参ります。 ※先に引用して書いているので、感想がない部分がございますがご了承願います。 理想的なプロジェクト チケット管理システムに課題・障害などを集約し優先度と重要度が分かるようにする できる限り(正しく)バージョン管理システムを利用する 繰り返し再検証可能なCIシステムを用意する 環境の影響を最小限にとどめ、常にリリース可能にしておく すべてを記録して追跡可能にする これまで客先常駐ばかり経験しているので、このような内容を網羅しているプロジェクトには参加したことはありません。 チケット管理やバージョン管理やリリースに関してはルールはありましたが、CIは使用したことがなく名前しか聞いたことがない状態でした。 分散バージョン管理システムを使うべき5つの理由 リポジトリの完全なコピーをローカルマシンに持つことが出来る 動作が
//Core Graphicsを使います #import <QuartzCore/QuartzCore.h> //保存したい UIView のインスタンス view があるとして、それを保存する方法は次の通り。 UIGraphicsBeginImageContext(view.frame.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // PNGの場合(view.alphaで指定した透明度も維持されるみたい) NSData *dataSaveImage = UIImagePNGRepresentation(image); /
package main import "strings" func main(){ filename := "hoge.piyo.moge.js" pos := strings.LastIndex(filename, ".") println(filename[pos:]) // .js } 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
参照できる場所:Main(以下 バージョン:2.0.0 このディレクティブはバックエンドのアプリケーションが引数の分割に一般的でない方法を 使っている場合に使われる。いくつかのアプリケーションはセミコロンで分割されて書かれている。作っているアプリケーションの分割方法が異なる場合以外はデフォルトの設定を変えないほうが良い。このディレクティブがきちんと設定されていないと、ModSecurityが引数をちゃんとパースできなくなるし、ルールマッチングの効果が激減する。 参考 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 themeW
デフォルト設定:Off 参照できる場所:どこでも バージョン:2.0.0 このディレクティブは全てのトランザクションを記録する監査ログのエンジンを設定するために使われる。ModSecurityは全てのトランザクションを記録できない。エラーに関するトランザクション(400や404など)は実行パスが異なるため、ModSecurityはサポートしていない。 監査ログエンジンに使用できる値を以下に示す。 On: すべてのトランザクションを記録する。 Off: 一切のトランザクションを記録しない。 RelevantOnly: エラーや警告の場合、もしくはSecAuditLogRelevantStatusディレクティブのルールにマッチするトランザクションのみ記録する。 注意 : もし監査ログエンジンの設定をトランザクションごとに変更したい場合(特定のトランザクションデータへのレスポンスなど)はctl
まだまだ、わたしのVim知識では、スコア21が限界。。。(おい..またか・泣) :%s/\(\w*\)/(\1)/g<CR>ZZ 最少のキーストロークが14みたいだけど、どーやってやんのさ? 上級Vimmerの皆様、お知恵をお貸しください!! 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
RHEL7RC+EPEL版Dockerの前提で解説します。RHEL7RCを最小構成で入れて、次の手順でDockerを導入します。 # yum -y install bridge-utils net-tools # yum -y install http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.1.noarch.rpm # yum -y install docker-io # systemctl enable docker.serviceDockerが設定するiptablesの内容を見るために(見やすくするために)、firewalldを停止した上でdockerサービスを起動します。 # systemctl stop firewalld.service # systemctl mask firew
DevOpsなみなさん、HipChat使ってますか? 僕は今日使い始めたのですが、こりゃーなかなか便利ですねぇ。 さて、僕が管理している環境ではLinuxのKeepalivedでサーバーの負荷分散をしていて、リアルサーバーのヘルスチェックの結果をメールで受けているのですが、なんかの拍子で大量にメールが来たりしてウザいのが悩みでした。 さっそく代わりにHipChatのメッセージが来るようしてみたいと思います。 環境 CentOS 6.x Keepalived 1.2.x 下ごしらえ まず、コマンドラインでHipChatのメッセージを送るため、hipchat_room_messageをダウンロードします。 $ curl -o /usr/local/bin/hipchat_room_message https://raw.github.com/hipchat/hipchat-cli/master
私が見た範囲での OpenOpenSSL についてのまとめです。 Heartbleed 問題で盛り上がる OpenBSD で openssl の大掃除が始まる OpenBSD のサイトを適当に書き換えただけにみえる OpenOpenSSL という(ネタ)サイトが話題になる ニュースサイトも釣られる OpenBSDプロジェクト、「OpenOpenSSL」に着手 - Heartbleed以外にもバグ | マイナビニュース OpenBSDがOpenSSLの大掃除に着手、「OpenOpenSSL」サイトも立ち上がる | スラッシュドット・ジャパン オープンソース slashdot.jp でネタサイト確定というコメントが書き込まれる Whois情報などが怪しさ満載という話 (まだまだ)名前は必要としてないよ。という中の人のコメントの紹介 ネタ確定と断言する意見 LibreSSL というサイトが話題に
Home Download Documentation Release Notes List & Archives Sponsors Keepalived is a routing software written in C. The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures. Loadbalancing framework relies on well-known and widely used Linux Virtual Server (IPVS) kernel module providing Layer4 load
GCM for Androidの準備 Google Accountを取得(すでに持っている場合はそれを使う) Google Cloud Consoleで[Google Cloud Messaging for Android]を有効にします GCMを利用するアプリを登録する [REGISTER APP]でアプリを新規登録 Name欄にアプリ名(例:AWS)を入力 PlatformはAWSのSNSを使うので[Web Application]を選択 [Register]で登録 AWSのSNSを認証させるために登録したアプリの[Server Key]から[API KEY]をコピーしておく AWS SNSの準備 AWS SNSの管理コンソールで[Create and Add]から[Add a New App]を選択 Application Nameを入力し、Push PlatformにGoogel
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 2.0, 280, 26.0)]; titleLabel.adjustsFontSizeToFitWidth = YES; titleLabel.minimumScaleFactor = 0.5; snippetLabel.text = snippet; [self addSubview:titleLabel]; self.titleLabel = titleLabel; UILabel *snippetLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 28.0, 280, 13.0)]; snippetLabel.text = snippet; snippetLabel.adjustsFontSize
NSURL *csvURL = [NSURL URLWithString:@"users.csv"]; NTYCSVTable *table = [[NTYCSVTable alloc] initWithContentsOfURL:csvURL]; // Rows NSArray *rows = table.rows; NSArray *headers = table.headers; //=> @[@"id", @"name", @"age"] NSDictionary *alice = table.rows[0]; //=> @{@"id": @1, @"name": @"Alice", @"age": @18} NSDictionary *bob = table.rows[1]; //=> @{@"id": @2, @"name": @"Bob", @"age": @19} // C
Excelおじさん用だよ! TwitterBootstrapのテーブルをつくるときExcelの表をもとにしたいのでつくりました。 VBAデス! 使い方 表にしたい範囲を選択してから実行してくださいね。 生成されたHTMLはクリップボードにコピーされるよ。 ※1行目はヘッダーだよ。 ソース ' Excel表の選択範囲のセルをもとにTwitterBootstrap2.xのテーブル(HTML)を生成する ' 2013.08.09 Fukaya ' ※生成されたHTMLはクリップボードにコピーされます。 ' ※1行目はヘッダ行になります ' ※メニューの「ツール」→「参照設定」で「Microsoft Forms 2.0 Object Library」を選択しておく必要があります。(クリップボード操作のため) Option Explicit Dim htmlOut As String ' 生成される
MacBook Proのメモリを4GBから16GBに増設したときの話 公式には8GBまでとされていますが、16GBまで認識します。 モデルによりますが。 一本だけどうしても外れない MacBook Pro:メモリの取り外し方法と取り付け方法: Apple 上のリンクの通り、裏ぶたのネジを外して換装するだけなのですが、ネジが一本だけどうしても開きません。↓こいつ。 かなり小さなネジなので精密ドライバーを使ったのですがピクリとも動かない上に、じゃっかんねじ山をなめてしまいました。 非力を嘆きながらどうしたものかとググると仲間がたくさん。Appleさんどうにかしてください...。 その後も精密ドライバーとペンチを組み合わせたり、ゴムを巻いてみたりいろいろ試すも撃沈。 こちらが使った精密ドライバー。#0のプラスドライバーです。 からのご開帳(あっさり) これ以上なめたらAppleに高い金を払う羽目
konashi + GROVE拡張ボード、あるいは Arduino + ベースシールド を使うと、 コネクタを挿すだけ でセンサやアクチュエータを使用した回路を作成できるようになります。 ハンダ付けやブレッドボード上で回路を組む必要がないので、本格的なハードの開発はハード屋さんに任せる想定で、iOSアプリ側に専念したい僕のような人間には超ありがたいシステムです。 ※詳細は下記連載をご参照ください 第1回 「konashi」とiOSアプリを連携させる:iOSアプリと連携させて使えるデバイスたち|gihyo.jp … 技術評論社 いろいろセンサ類を揃えておくとプロトタイピングの際に便利なので、本家GROVEサイト(海外)ではなく、 Amazon.co.jpでさくっと買える モジュールを調べてみました ((2月ぐらいに書きかけでそのまま忘れてた記事なので、売り切れてる可能性もあります))。 セン
概要 Foreigner は migrations に外部キー制約を(付加|削除)する為のメソッドをちょこっと提供するgem。下記のDBアダプタをサポートしている。 mysql2 postgres sqlite (foreign key methods are a no-op) インストール Gemfileに追加: APIの例 Foreigner は2つの methods を migrations に追加する。 add_foreign_key(from_table, to_table, options) remove_foreign_key(from_table, options) (Optionsの詳細は connection_adapters/abstract/schema_statements.rbに記載): 本文末に記載する。 modelの例 class Comment < Act
もっと良い方法がありました! 普通に標準SDKに含まれているメソッドで出来るようです。詳しくはコメント欄をご覧ください 正規表現(NSRegularExpression)や、NSDataDetectorによるマッチでは、NSTextCheckingResultのNSArrayが取得できます。 NSString *pattern = @"[a-z0-9]{1,10}"; NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error]; NSArray * matches = [regex matchesInString:string options:0 range:NSMakeRange(0, string.length)];
# スコープかactive_recordの配列に使えます scope = AModel.all # 1. 拡張して scope.extend Spreadsheetable # 2. Excelに出力したいプロパティを指定して scope.sheet_columns = %w(id name other parent_model.name) # 3. xlsかto_spreadsheetでTempfileに保存されます。あらヤダ簡単 xls_file = scope.xls 出力列はparent_model.name のような指定もできますが、改善の余地あり(後述) ヘッダ行はI18n対応しています 検索条件に応じたExcelファイルを出力するアクションも、こんな感じでOKです。(諸々目を瞑れば) # 極簡単に済ませれば def easy_xls result = Model.where(
HairTrigger Activerecordに経由でトリガーを付与するgemっぽい。 感想 もはや死んだプロジェクトで、モダンな環境では使えない。 普通にmigrationファイルにトリガー書いた方がよさげ 蛇足:リドミの和訳 Compatibility Ruby 1.8.7+ Rails 2.3+ Postgres 8.0+ MySQL 5.0.10+ SQLite 3.3.8+ 古そう。心配。 インストール Gemfileに gem 'hairtrigger' 使い方 Models models でトリガーを定義、rake taskでmigrationを作成する。 class AccountUser < ActiveRecord::Base trigger.after(:insert) do "UPDATE accounts SET user_count = user_count
効果 ファイル名が特定パターンにマッチするやつを、ディレクトリ構造付きでコピーする。 ソースツリーから、まるっとヘッダだけ抜き出したり、HDDにddでMBRこぴってファイルシステム作ったあと、HDD丸ごとコピーしたりできる。 find /usr/local/src/hoge -name "*.h" | cpio -pdm /tmp/work hogeソース群から、ヘッダファイルをディレクトリ構造保持して、/tmp/workにコピー。他には、cpio的には、ディレクトリ構造保持してgzipしたり。まぁ、tarでもいいんですけど。 必要な物 cpio Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back
java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.timestamp なエラーがでた場合にデータの代わりに NULL を戻してExceptionを回避する JDBCのURLで jdbc:mysql://localhost:3306/mydb?user=mydb&password=mydb&zeroDateTimeBehavior=convertToNull と渡せるが、この情報をDataSourceで管理するときは dataSource.setConnectionPropertiesの引数で渡す 引数はStringで、「propatyName=value;」のフォーマットで渡す。
if ( $_FILES['ねーむ']['error'] != UPLOAD_ERR_OK ) { echo 'エラーがはっせい!'; exit; } これ ↑ を使ってエラーをチェックできるよ! エラーがなければエラーコードは0 2はファイルサイズがおおきすぎるとき? アップされたファイルの拡張子をswitchでばあいわけ $imagesize = getimagesize($_FILES['ねーむ']['tmp_name']); switch($imagesize['mime']){ case 'images/gif': $ext = '.gif'; break; case 'imagse/jpeg': $ext = '.jpg'; break; default: echo 'gif/jpeg only/!!'; exit; }
更新:v1.2.2.devに対応。 Chef Inc. (旧Opscode)のtest-kitchenについて、テストのライフサイクルとサブコマンドの使い方を説明する。 1.2系について。 Test-Kitchenヘルプ まずはkitchenコマンドを叩くとヘルプが表示される。 $ kitchen Commands: kitchen console # Kitchen Console! kitchen converge [INSTANCE|REGEXP|all] # Change instance state to converge. Use a provisioner to configure one or more instances kitchen create [INSTANCE|REGEXP|all] # Change instance state to create. Star
bash で ファイルの絶対パスを得る必要があり、調査してみた。 参考 See http://sonicnotes.tumblr.com/post/50644984477 シェルスクリプトで相対パスを絶対パスに変換する http://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac How can I get the behavior of GNU's readlink -f on a Mac? http://unix.stackexchange.com/questions/101080/realpath-command-not-found realpath command not found 方法1
カスタムクラスを定義 カスタムクラスの作成時Subclass ofをUIButtonに変更し作成を行う。 ここでは作成するカスタムクラスをColorBkgButtonとする。 #import "ColorBkgButton.h" @implementation ColorBkgButton //デフォルトで出来るファイル - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } //背景とタイトルの編集が出来るようにする - (id)initWithFrame:(CGRect)frame label:(NSString *)title bkgcolor:(UIColor *)rgba { self =
はじめに vue.jsでタグ・エディターを作ってみました。 jQuery - タグ・エディターを作ってみた - Qiita Backbone.jsでタグ・エディターを作ってみた - Qiita に引き続いて今度はvue.jsに移植です。 デモ: http://hnakamur.github.io/vue.tag-editor.js/ ソース: https://github.com/hnakamur/vue.tag-editor.js/tree/8285cbc5fb9003050f739392f3eae73d9181bb65 アプリケーションのhtmlとjsは以下の通りです。 <!DOCTYPE html> <html> <meta charset="utf-8"/> <title>tag editor custom component example</title> <link rel="
HTTPレスポンスヘッダにサーバのバージョンの表示を消す なぜ必要? 潜在攻撃者への情報提供になることも。 もし使用中バージョンの脆弱性が明らかになった時、恰好の標的になるとか。 対応 nginx.confのhttpディレクティブに server_tokens off; を追加。
MySQL で slave を複数台立てて参照分散するには、HAProxy を利用してロードバランスと切り離しを行うと手軽に使えて便利です。 option mysql-check という設定で、HAProxy 自身が mysqld に接続してヘルスチェックが可能です。 listen mysql-slave bind 127.0.0.1:3307 mode tcp option mysql-check user haproxy balance roundrobin server slave1 192.168.1.11 check server slave2 192.168.1.12 check server slave3 192.168.1.13 checkなのですが、この設定だと以下のように少々不便なことがあります。 mysqldに接続できるかどうかのみを死活の判断にしているので、レプリケ
書き方が好みっぽかったので使い始めてみたけど、やっぱりハマって困ってます。 というわけで備忘録を兼ねたメモ(こんなんばっか)。 MOCKITO_SHORTHAND MCMockitoが提供するMTKMock*クラス群をmock()など短い文字列に置き換えるマクロ。 #define HC_SHORTHAND #import <OCHamcrest/OCHamcrest.h> #define MOCKITO_SHORTHAND #import <OCMockito/OCMockito.h> - (void)testSomeProtocol { // SomeProtocolを実装した(とみなす)モックオブジェクトを生成する id <SomeProtocol> mock = mockProtocol(@protocol(SomeProtocol)); // オブザーバとして登録 [manager
概要 踏み台サーバを経由した多段SSHの設定をconfigにまとめる方法 接続するマシンは、WANやゲートウェイ内のネットワークのいずれにも属する可能性があると想定(ノートPC等) ネットワーク図 図のようにゲートウェイ経由でしかアクセスできないネットワーク内にさらにゲートウェイがあるネットワークを想定 単純な多段SSHの書き方 host gateway HostName sshgate.hoge User hoge Host RemoteHost-out HostName RemoteHost User fuga ProxyCommand ssh -W %h:%p gateway 上記の設定を~/.ssh/configに書いた後、 ssh RemoteHost-out でgateway経由でのアクセスが可能 複数に同時に設定を適応する場合 .ssh/configには複数の設定をワイルドカ
contrib-jstの設定 今回はこのようなディレクトリ構造を例にして説明してゆく。 +--jst // 外部ファイル化されたtemplateが置かれる場所 | +--template // 元のtemplateのファイルの場所 | +Gruntfile.js Gruntfile.jsには以下のように記述(一例)。 module.exports = function (grunt) { var pkg = grunt.file.readJSON('package.json'); grunt.initConfig({ jst: { options: { processName: function (filename) { return filename.match(/templates\/(.+)\.tmpl$/)[1]; }, processContent: function (src)
chai でオブジェクトをまるっと比較するのに deep.equal を使っています。もっと細かく assertion 書いた方がいいよというのはわかりますが、便利なので・・・。 expect(obj).to.be.deep.equal({ foo: 1, bar: 2, baz: 3 });
はじめに かつては、テキストの汎用フォーマットといえばXMLでしたが 最近はJSONで良いのでは、という所が多くなってきている気がします。 忘れない為のサンプルコードです。 構文解析 「Msxml2.DOMDocument」オブジェクトから、load又はloadXMLメソッドでDOM化出来ます。 ノードの取り方は、XPath形式selectSingleNodeや、タグ名getElementsByTagNameなどで取得出来ます。 // XML var xml = "<?xml version='1.0'?>\r\n" + "<root>\r\n" + " <aaa attr='rtta'>111</aaa>\r\n" + " <bbb>\r\n" + " <ccc>222</ccc>\r\n" + " </bbb>\r\n" + " <bbb>\r\n" + " <ccc>333</ccc
MyTypes t = (MyTypes)intent.getSerializableExtra("hoge"); 取り出すのは getSerializableExtra であることに注意。 なんか int に変換されそうじゃん、と思って getIntExtra を使うと取り出せない。 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
Manifest mergeで何とかならないところを変更する必要があるアプリに出会って、そのハックを紹介します! やりたかった事は、1つのflavorだけsharedUserIdを付けないようすることだったけど、考えただけで色々応用が効きそうなのでシェアします。 例えば variant毎にContentProviderのauthority変更 variant毎に対応するscreenSizeの変更 variant毎にapi keyなどなど変更 (resources使った方が良さそうだけど) 秘密鍵をbuild serverだけに入れて、ビルド時に置き換えるとか それでは、sharedUserIdを1つのflavorから削除するコードです。ここではパッケージ名で分岐してるので、1つ以上のvariant (debug, release両方)でmanifestの変更が行われしまうけど、使う時は必要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く