サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
kazy.hatenablog.com
数日前の話、同僚からサポートissueの調査について相談を受けた。内容は「フォローリストが正しく表示されない(数人足りない)」というものだった。 最初にうちの会社の環境を紹介しておくと、メイン事業はモノリシックで巨大なrailsで書かれている。最近は機能や開発を担当するチームごとに切り崩してマイクロサービス化される事例も増えてきた。今回調査したフォローシステムを提供するアプリケーションもメインのrailsアプリケーションとは別に小さなrailsとして動いていた。 事前調査していた同僚から「DB上のソーシャルグラフは正常だった事」と「名前のないユーザーはフォローリストに表示されない事」を教えてもらった。今回のサポートissueに挙がってきた事例もユーザー名が無いことが原因の様で、それはシステム上意図してない挙動だった。 調査の手始めにユーザー名の管理について調べた。DBはアプリケーション毎に
Dangerが気になって、先週末に少し調べました。以下はその時書いたものです。 Dangerとは Dangerはコードレビューbotで、最近人気を集めています。似たようなものにcookpadのdokumiがあります。小さなチームおけるコードレビューの負荷はそれほど大きくないですが、 メンバーが増えてくるとレビュー作業は多くの時間を使い、消耗の度合いが増してきます。(個人の感想です) レビュー作業は機械的に解決できることも多いため、そのあたりはbotに任せて人間はより重要なレビューに時間を使おうというのが利用するモチベーションだと思います。 特徴 http://danger.systems/ DangerはRuby製のプロジェクトです。DangerfileというファイルにDSLで設定を記述しプロジェクトに含めることで動かすことが出来ます。Ruby製ですが、対象とするプロジェクトの言語はなんで
最近の進捗 今年に入ってからいくつかライブラリを作っている。完成したらQiitaやこのblogにも紹介記事を書きたいと思っているのだけど、 なかなか他人におすすめできるレベルに持っていけない。なのでどんなものを作っているかだけでも紹介しようと思っている。 PrefKit github.com (進捗度: 70%) これはSharedPrefのwrapperライブラリで、冗長な記述を省けるように設計した。使い方は以下の形式のInterfaceを用意するだけになっている。 @PrefSchema("SampleSchema") interface SampleSchema { String WELCOME_DIALOG = "welcome_dialog"; @PrefKey(WELCOME_DIALOG) void putWelcomeDialogFlag(boolean value); @
ほぼ初めてAndroid向けのCI環境をセットアップしたので、試行錯誤した作業手順を書いておこうと思う。 今回セットしたCIの内容は、JVMテストとカバレッジの計測で作業手順は以下のようになった。 DockerfileでCI環境を定義 Dockerfileとcloudbuild.yamlを含むレポジトリをgithubに作成 Google Container Registory(GCR)にプロジェクトを作成 レポジトリにpushするとGCR上でビルド&ホストされる wercker.ymlをライブラリのレポジトリに追加 werckerにプロジェクトを作成 pushすると自動でCIが走るようになる jacocoをセットアップ coverallsにプロジェクトを作成 coveralls-gradle-pluginを導入し、coverallsのAPIキーをwerckerに設定 wercker.yml
自分のAndroidアプリのビルド方法ついてまとめる。せっかくなのでAndroid開発のドメイン知識がない人でも伝わるように紹介をしたいと思う。 Java/Kotlinでアプリ開発する場合Android Studio(以下AS)以外の選択肢は殆どない。ただビルド方法については工夫の余地がある。 ビルドの話 ビルド&ランする一番簡単な方法はASのRunボタンで、クリックすると実行対象を選択するダイアログが表示され、アプリが起動する。 もう少し手順を分解してみる。Androidプロジェクトにはflavor(例えばstaging,production)とbuildType(debug,release)の組み合わせのパターン数のビルド方法がある。 ASのRunを押したときはデフォルト値にどれかが選択され、その設定でビルドが走る。ビルドの設定はウィンドウ左下にあるBuild Variantsウィンド
2日ほど前に、このようなニュースが出てました。 2017年新発売のChromebookはすべて最初からAndroidアプリをサポート、Google Play Storeをいきなり利用できる 私の知る限り、いくつかのChormeOS端末では、既にGooglePlayStoreが利用可能です。ChromeOSで動くならChromeブラウザでも動きそうですよね。 調べるとChromeのExtensionでARC welderというものが提供されています。 ARC welderは2015年頃にリリースされたようで、そういえば一度試した記憶があります。その時の印象は微妙でしたが、最近改めて使ってみるとかなり改善されています。実用段階です。 導入 公式のドキュメントはこちらです。Getting Started with ARC ARC welderからインストールするとchrome://apps/ に
github.com gem install robotkit すると、robotkitコマンドが利用可能になる robotkit create :output_dir --package your.package.name ですぐ開発が始められるプロジェクトが作成される まだαバージョンくらいの完成度 背景 Androidライブラリを書いた経験があると共感してもらえると思うのですが、プロジェクトを作るのがめちゃめちゃ面倒なんです。 僕の場合ざっくり以下の手順をやります。 新規アプリを作成する手順でウィザードを進める Android library用moduleを追加する app の依存にlibrary moduleを追加する allowBackupなどを不要な宣言を消す Applicationクラスを作る jackやretrolambdaの設定を追加する app moduleをサンプルに
webviewに半年ほど消耗してるので、カッとなって書いた。 github.com 今まで十数回とWebViewを継承したクラスを作ってきました。 ネイティブアプリでも利用規約やライセンスの表示などは必ずと言っていいほどWebViewを利用します。 残念なことに、AndroidのWebViewはちょっと使いづらいです。 そこでWebView継承したカスタムWebViewを毎回用意するのですが、いつも同じこと書いてるので、少し抽象化して汎用的な便利WebViewをライブラリとして公開しました。 LxWebViewの特徴を簡単に紹介します。 XMLでWebViewSettingsを設定 WebViewSettingsは毎回コードから設定していましたが、XML attributesから記述できるようにしました。 <com.kazy.lx.LxWebView android:id="@+id/we
DI(Dependency Injection)について たまにDI不要論とかがネットで話題になったりしてて,ふわっとDIの考え方は知ってたんだけど実際にDIパターンみたいな実装をしたことなかったのでちょっと触ってみた. DIとは 日本語だと依存性注入みたいな小難しい訳になってしまうんだけど,概念自体は難しくはないと思う. よく車の例で紹介されてて,例えば車クラスには( Aエンジンオブジェクト と Aタイヤオブジェクト )を属性に持ってるとする この車クラスのエンジン部分をBエンジンオブジェクトにごっそり切り替えようとした場合に車クラスにはAエンジンに依存した実装があるので置き換えるのが大変だ!! という問題が発生する public class Car{ public A_Engine aEngine; public A_Tire aTire; public go(){ aEngine.s
本エントリで紹介する方法で動作しますが 多分もっといい方法があると思います ( gradleはじめて3日目の初心者です.正しいビルド方法をご存知のかた教えて下さい ) Android-Bootstrapの簡単な紹介 リポジトリ : Bearded-Hen/Android-Bootstrap 一言で説明するとtwitter Bootstrapみたいなものをandroidのviewでも使えるようにしようっていうライブラリ 出来たばかりのライブラリなので不自由なところもあるけど,気軽にfont-awesomeが使えるようになったりかなりデザインが楽になるのでエンジニアにとっては嬉しい Android-Bootstrapをandroid studioから利用する ただ,このプロジェクトjarファイルの配布もないしmavenのセントラルレポジトリ?にもホストされてないので利用するのが若干面倒 公式の
サーバーに関する知識が乏しいので,記述が間違っている可能性があります. 対象とする方 サーバーについてあまり詳しくない方(apacheとnginxは聞いたことあるレベル) pythonでwebアプリケーション作ってみたい方(今回はWAFにtornadoを利用します) ruby製のアプリケーション(sinatraとか..)とかもほとんど同じ方法で動作すると思います 今回行う作業 nginxをリバースプロキシとして導入する python環境を整える tornadoでサンプルアプリを書く supervisorでアプリケーション・サーバーを管理する 環境 さくらVPS上でCentOS release 6.4 (Final) , CentOS 5系でも動作を確認しました 1.nginxを導入する 一般的なサーバーは, ポートの80番でapacheが待っててhttpリクエストが来るとapacheが受け
昨日の深夜にtwitter観てたらこんなツイートを発見した もうちょっとちゃんと wri.pe を使うために chrome に textarea を vim で編集するためのプラグインを導入したので勝つる!— unok (@unok) July 31, 2013 ( wri.peとはmasuidrive(twitter)さんが開発していらっしゃるweb上のmarkdownエディタです.) 気になってググってみたら Edit with emacs っていうプラグインらしいってことがわかり, ちょっと面白そうだったので導入してみました. 本来はemacsを起動するためのプラグインだと思うんですが,vimも起動出来ます. Chromeで vim っていうと,Vichromeとかが有名です. こういう系のプラグインはhjkl でページが移動できたり,/(スラッシュ)でサイト内検索をすることが出来る
今回目指すvimの環境 出来るだけはやくて,ストレスのないモダンなvim環境 今回はneocompleteとjediの連携を行います 導入するもの バージョン7.4でluaとpythonインターフェースが使えるvim jedi.vim (オムニ補完も出来る優秀なpython用の多機能プラグイン) neocomplete.vim (有名な補完プラグインの最新版) 最新のvimのインストール neocomplete.vimは内部でluaを使っていて,jediがpythonを使っているので,luaとpythonのインターフェースが使えてかつそれなりに新しいvimをインストールします. 色々な方法がありますが,私はこちらの記事を参考にしました. homebrewを使ってちょっと新しめのMacVim KaoriYaを使おう homebrewを使うことでハードルも低く導入できるのでお勧めです. もちろ
Green DAOについて androidでORマッパーを使おうとすると,選択肢は ActiveAndroid ORMLite Green DAO くらいが有名で私は割りとActiveAndroidを使っていたのですが,いろいろあって使い勝手が悪いように感じたので,今回 ORMLiteを高速化したGreen DAOの導入について紹介します. 参考にさせていただいたブログ GreenDAOを使ってみた - ボクココ Page not found · GitHub Pages Green DAO 導入の手順 Javaのプロジェクト(andoroidじゃないよ) で Green DAOのgenジェネレータを作成する androidのプロジェクトにsrc-genを吐かせる DAOオブジェクトを呼び出してデータベースを操作する Green DAOは結構下準備が必要です.ActiveAndroidなど
MarkDownerを正式リリースしました. 以前,β版を公開していたandroid端末用markdownビュアー : MarkDownerを正式にリリースしました. 前回のβ版の記事 Androidアプリ MarkDownerをリリースしました. - kazy no blog 前回からの変更点 操作性の改善 外部メディアの保存したcssファイルを読み込むことによってスタイルの変更が可能. Dropboxとの連携機能追加 Markdownってなに? markdownとは,メモを取る際などに用いる特殊な記法です.(正体はただのテキストファイルです) たとえば.. ## Title list1 list2 みたいに書くと <h2>Title </h2> <ul> <li>list1</li> <li>list2</li> <ul> みたいにhtmlに変換することができます.楽して綺麗なメモが残
この記事が参考になると思われる方 駆け出しのpythoniaさん 駆け出しのvimmerさん 今回関係ありそうな私の環境 os :osx lion (「・ω・)「ガオー エディタ :macvim kaoriya パッケージ管理ソフト : homebrew (pythonもhomebrew 経由で利用) 10月のはじめに Big Sky :: python 補完のVimプラグイン「jedi-vim」がスゲー という記事を見つけて. 「これはいい」と思ってjedi-vimを導入したのですが,どうにも上手く動いてくれなくて2ヶ月近く放置していました.たぶん自分の環境では使えないのかな... と諦めかけていたのですが,昨日@shtn さんから対処法を教えて頂いたのでご紹介します. 追記(2013/8) jedi.vimのプラグインフォルダ内で git submodule update --ini
まえがき(雑談) 2000円ちょっとでbluetoothキーボードをゲット出来ると話題の「ポケモンタイピングDS」が今日届きました. バトル&ゲット ポケモンタイピングDS (シロ) 出版社/メーカー: 任天堂発売日: 2011/04/21メディア: Video Game購入: 30人 クリック: 891回この商品を含むブログ (91件) を見る クオリティはそこまで期待していなかったのですが,キーボードを早速androidに接続しゴニョゴニョ入力して見たところ,2000円では十分すぎるほどのその作りの良さにニヤニヤすることができました. 今回はせっかく素晴らしいキーボードが届いたのでandroidで開発環境が作れないか調べてみました. androidで上でpythonの開発環境を整える CLIの開発環境(←出来れば) エディタにvimを使いたい(←vimかわいいよvim) root化を必
遅くなりましたm(__)m はてなでは,インターンに参加すると感想ブログを書くことが定番になっています. 今年のインターンは人数が多くすでに多くのエントリーがはてブなどに取り上げられているので「書かなくてもいいかな」とも思っていたのですが,せっかくなので自分が感じたことを短いエントリーにまとめたいと思います. はてなインターンで戸惑う6つのこと 社内が無音 IRC (社内チャッ卜みたいなもん) でコミュニケーションをとっているので基本的に会話がなく,業務中はヘッドフォンをしている人が多いです. 社長との距離が近い id:jkondoさんといえば 日本のwebサービスを引っ張ってきた方ですが,そんな近藤さんが斜め後ろで仕事しているみたいな事があります. マナーに厳しくない 「必要ない」 というと大幅に語弊がありますが,礼儀に厳しい人はいないのでそこそこで良いと思います. 残業という概念がな
このページを最初にブックマークしてみませんか?
『k4zy no blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く