プログラミング言語

ListFragmentのViewをカスタマイズする

リストアイテムをカスタマイズする情報はたくさんあるので、ListView自体をカスタマイズする方法について。 手順1 ListViewのレイアウトを定義 下のxmlは画像とテキスト、ヘアラインを表示した下にListViewを配置する例。android:id/listと android:id/emtpyが大事。 listview_custom.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_he...

[ちょっとニッチ] Unity3dでiOS/Android端末の画面輝度を取得/変更(PlayMaker用Action)

iOSネイティブプラグイン準備 Plugins/iOS以下に配置 BrightnessPlugin.m #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #ifdef __cplusplus extern "C" { #endif void setBrightness(float val) { [UIScreen mainScreen].brightness = val; } float getBrightness() { return [UIScreen mainScreen].brightness; } #ifdef __cplusplus } #endif Android側準備 ネイティブプラグインビルドしてjarをPlugins/Android以下に配置したけどUnityビルドできなかっ...

Digital OceanにVagrantとChefを使ってJenkins環境を構築する

概要 タイトルそのままのことをします。順序としては、 1. Vagrantをインストール 2. Vagrantのプラグインその他のインストール 3. Chefをインストール 4. Chefの準備 5. Vagrantの設定 という流れになります。 Vagrantのインストール まずはローカル環境にVagrantをインストールします。私はboxenを使ってるのでそちらでインストールしました。公式サイトからインストールするのが確実だと思われます。 VagrantのDigital Ocean用プラグイン及びboxのインストール VagrantからDigital...

Railsのlink_toの引数の形がまたまた多彩すぎる

実際にデバッグポイントで動かしながら確認してるわけではなく、ソースを追ってるだけなので、間違いがあるかもだけれども。 ActionView::Helpers::UrlHelper link_to(body, url, html_options = {}) # url is a String; you can use URL helpers like # posts_path link_to(body, url_options = {}, html_options = {}) # url_options, except :method, is passed to url_for link_to(options = {}, html_options = {}) do # name end link_to(url, html_options = {}) do # nam...

Wearable UI Libraryまとめ

Wearable UI Library について Android Wear向けのアプリケーションを提供する場合、フォンやタブレットといった現行のUIデザインで実装しようとすると使用ケースやデバイスが異なるため、見辛い、操作しにくいといったことに陥りがちです。 Wearデザインに適したアプリを容易に開発者が実装できるように、Wear向けのUIコンポーネントをまとめたライブラリが(Wearable UI Library)提供されています。 導入方法はbuild.gradleファイルに以下のコードを追加するだけです。 build.gradle...

AWSについてググったメモ

よくわかっていないサービスも多いのでAWSコンソールのトップに出てくるサービスについて一通りどんなものがあるか調べてみました。少しずつ内容は増やしていこうと思います。 コンピューティング EC2 仮想マシンのインスタンスを時間単位の料金で利用できるサービス。CPU数やメモリのサイズなどパフォーマンスに応じて様々な価格帯のマシンがある。 各インスタンスにはEBS(Elastic Block Storage)というローカルディスクをアタッチできる。 各インスタンスはAMIという仮想マシンの...

プロジェクトでやったらいけないと思うこと

このページについて 炎上してたり、うまく回っていなかったりなプロジェクトを色々見てきて、 こんなことやってるから上手くいかないんじゃないの?と思ったことを書いていくページです。 何事にも期限がない 日々のタスク、課題、QAなど、すべてにおいて期限がないプロジェクト。 どうやって説明しているのか不明ですが、こういうプロジェクトも存在します。 この場合、期限がないため能力的にコーディングが遅かろうが、不具合多発で修正に時間がかかろうが、 残業する理由がないた...

【JSでデザインパターン】シングルトン編

【JSでデザインパターン】シングルトン編 はじめに 本記事は、『JavaScriptパターン』(O'Reilly)の第七章を読んで、JavaScriptでいろいろなデザインパターンを試してみようと思い書いた記事です。なお、各記事が長くなりそうなので分割しました。 リンク一覧 【まとめ】JavaScriptでデザインパターン 【JSでデザインパターン】シングルトン編 【JSでデザインパターン】ファクトリ編 【JSでデザインパターン】イテレータ編 【JSでデザインパターン】デコレータ編 【JSでデザインパター...

twitterでユーザの類似度を求める

授業で協調フィルタリングを利用したシステムを作成したので,メモ. 言語はRuby,利用したのはtwitter gemと日本語形態素解析器kuromoji 今回はツイートに含まれる語と,ツイートの時間を基に類似度計算を行った. twitterからデータを取ってくるにはOAUTH認証する. 細かいことは他のところを参照してもらうとして,REST APIで認証するとメソッドが使えるようになる. user_timelineメソッドを利用して,あるユーザのツイートを取得する. tweets=client.user_timeline "#{ARGV[1].to...

Swiftは多重ループなどを一気にbreakできる

C言語(Objective-C)では、例えば二重ループからbreakで一気に抜ける事はできず、 フラグを立てて抜ける(冗長) ループ箇所をまとめて関数化してreturnで抜ける gotoで抜ける(嫌われがちですが、この場合においては有用だと個人的には思います) forやwhileの条件式で弾かれる値をループカウンタ等に突っ込む(ちょっと危険) などなど工夫して抜けていたと思いますが、Swiftだとforやwhileの前にラベルを書いておく事で簡単に多重ループからbreakできるようです。 サンプルコード...

ScalaのRegexParsersで書いたパーサのチューニング方法 #2

例 適当なパーサを2つ例に取ります。 Parser.scala //適当なCSVパーサの定義 //lazy val field = "[a-z]+".r lazy val A = field ~ ( rep( "," ~ field ) ).? lazy val B = ( rep( field ~ "," ) ).? ~ field AもBも意図するところは同じです。a、a,b、a,b,cのような入力を、CSVの行としてパースします。 このAとBを見て、どちらがより優れたパーサなのかすぐに分かりますか? 答えはAなのですが、なかなかパッと見ただけでは判断し辛いです。 入力文字列へのアクセス回数でパーサを...

Haskell 構文解析 超入門

Haskellではモナドと呼ばれる部品を組み合わせて構文解析を行います。この方式をパーサコンビネータと呼びます。動作原理を簡単に説明しながら使い方の初歩を説明します。Parsecというライブラリで簡単な四則演算器を作成します。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell...

【Go】いろいろめも

Go言語のメモ帳です。 随時更新していきます。 ※ほんとに初心者の書き込みです。 次回 https://go-tour-jp.appspot.com/methods/1 A Tour of Go http://go-tour-jp.appspot.com/ 計算 1e9 /* 1000000000 */ 2**n /* 2のn乗 */ 1<<n /* 1(int)を左にシフト */ ポインタ /* 構造体へのポインタ参照 */ s = := T{} t := &s /* 直接ポインタ参照 */ t := &T{} /* newでも同等 */ var t *T = new(T) t := new(T) /* intにintのポインタは代入できない cannot use &a (t...

swiftgenを使ってsegueIdentierとか管理する

iosアプリ開発時の問題点としてsegue Idntiferとか文字列なのでtypoをコンパイル時検出できなかったりします。 androidだとR.javaというのがあるらしいですね。 http://qiita.com/ksoichiro/items/4befb2695b1efdff72dd 手動でenumを作ってもいいんですが swiftgenを使うとstoryboardからidentiferを取り出してenumで管理してくれるようになるようです。 インストール homebrewを使っている前提です。 brew install swiftgen xcodeでbuild時に自動生成させる プロジェクトトップ >...

今更ならがApache Sparkをつかってみる

今更ではありますが、いじってなかったのでapache sparkをいじってみようかと思い少しやってみました。 目的としては、これを理解して更に機械学習系のライブラリも使って何かやってみたいなーと思ったからです。 これはその学習覚書的な位置づけです。 ちなみにMLlibの箇所は、こちらの記事も参考にさせていただきました セットアップ java 1.8 mac apache spark 1.6系 sparkのダウンロード apache sparkのダウンロードはここからダウンロードできます。 解凍 & SPARK_HOMEを設...

Fragmentを用いたActionBarによるTab表示

タブ表示を用いたレイアウトの使い方を学んだのでφ(..)メモメモ 環境 OS X 10.9.3 Android Studio (Beta) 0.8.0 Sony SOL25 Android 4.4.2(API 19) build.gradle(app) apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig { applicationId "test.mackiso.tabtest" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes {...

Cordovaを使用したAndroidアプリ作成メモ

Apach Cordovaについて Apach Cordova iOSやAndroidなどのに対応した、クロスプラットフォームのハイブリットアプリを作成するためのツール Apach Cordovaプロジェクトとして管理されている PhoneGapはアドビが提供するCordovaのディストリビューションの1つ Cordovaのハイブリッドアプリって? ハイブリットアプリとは、アプリのパッケージ内に、アプリ内ブラウザ(WebView)とネイティブコードを持っていて、ブラウザがJavaScriptを実行し、HTMLを出力します。 Cordovaの役割 作成す...

Recent Appsに残らないActivityを作る

excludeFromRecents属性を使う アクティビティがRecent Appsに表示されないようにするには、activity要素のexcludeFromRecents属性にtrueを設定します。※デフォルトはfalseです。 そのアクティビティをrootに持つアクティビティスタックはRecent Appsに残らなくなります。 AndroidManifest.xml <activity android:excludeFromRecents="true" ...他の属性.... > 注意点 noHistory属性とは異なる noHistory属性やFLAG_ACTIVITY_NO_HISTORYは、特定のアクティビティをアク...

timelionで見るMySQLステータスモニタリング

みなさまおはようございます。 朝から仕事というなの趣味に走っているstです 普段お世話になっているOSSなのに受け身だけじゃいかんということで、 頑張って書いてみようかと思います。 時間があまりないのでインストール系や他のブログで紹介されている点はリンクのみの紹介とさせてください。 すいません。。。 あと来週予定されているelastic on tourにもお邪魔させて頂く予定ですー! timelion is なに 概要はこちらに素晴らしい資料があるので参考いただければ。 余談ですが、Ela...

再帰関数を学んでワンランク上のJavaScriptエンジニアになろう!

まえがき はじめまして!11月入社の新人エンジニアです。 この記事はLivesenseアドベントカレンダーの10日目の記事になります。 本日はJavaScriptを使った再帰関数について書いていきます。どうぞお手柔らかに。 訓示 "なぜ開発言語としてJavaScriptを選ぶのかという問いには、一言で返すことができます。リーチの大きさです" Michael Fogus 想定している読者 JavaScriptをそこそこ書ける。(スキル判定表で初心者〜中級者くらい??) でももっと高度なJavaScriptが書きたい。 という...