1日1%成長するブログ

毎日成長するために仕事/プライベートで得た学びをアウトプットするブログです

2017-01-01から1年間の記事一覧

Vimiumを使っているとスプレッドシートでEscキーが反応しなくなる

スプレッドシートを間違って全画面表示にしてしまうと、 メニューバーが表示されなくて非常に困ったことになる。 Escキーを押せば治ると書いてあるのだけど、自分はなぜか反応しなかった。。 Vimium blocking 'escape' shortcut in google spreadsheet · Iss…

HubotでSlackに毎日目標を通知するbotを作る (環境構築編)

Hubotとは Github社のbot作成用のnode.js製フレームワーク Hubotの構成 なぜbotにHubotを使うのか? Hubotを使えばメッセージの受信・送信やチャットツールとの連携などbot実装に必要な最低限の機能を自分で実装せずで済む CoffeeScriptやJavaScriptで書ける…

アジャイル・スクラム開発とは?

スクラム開発の要素 プロダクトの要望を優先順位ごとに並べかえ、その順に機能を作る 固定の短い期間(1〜4週間程度)の間隔で開発を区切り、その中で計画を立てる プロジェクトの状況や進め方に問題がないか、メンバー同士で毎日確認し合う 作っている機能が…

リモートワークでチーム開発する時に便利なツール・ドキュメントまとめ

Webサービスをチームで開発する時に便利だなと思ったツールや、ドキュメントをまとめてみました。 これからプロジェクトを始める時の参考にブックマークして使ってもらえると、嬉しいです。 プロジェクトの説明資料 Googleドキュメントが多いです 作る目的や…

ActiveRecordのEnum型のデータをJavaScriptから保存する

enum(列挙型)の使い方 ActiveRecordのenumを使うと、プログラムからは文字列(名前)でアクセスでき、 DBには数値で保存される属性を作ることができます。 Modelに属性にセットできる文字列を列挙する class Post < ActiveRecord::Base enum status: { draft: …

Reactでエンターキーのイベントを取得する方法

onEnterは存在しない Reactがサポートしているイベントは以下の公式サイトに記載されています。 facebook.github.io onClick のノリで onEnterは無いのかな?と探してみてもありません。 ただし、代わりになるキーイベントがあります。 onKeyDownを使う それ…

Webアプリの新規作成の実装パターン

一覧 -> 作成画面に遷移して新規作成 フォームでPOSTして、エラーならエラーメッセージを表示、成功したら一覧画面にリダイレクトさせるというオーソドックスなパターン。 Flashメッセージの実装は必要。作成後にセッションに保存して一覧画面で取得したらす…

JavaScriptのオブジェクトとJSONは別物

JavaScriptのオブジェクトとJSONは見た目がほとんど変わらないので、 違いがよくわかっていなかったのですが、明確に違いがあるようなのでメモしておきます。 JavaScriptのオブジェクト キーがクォーテーション無し & 文字列をダブルクォーテーションで囲む …

WebpackでReactを本番反映する時に行う設定

webpackの各種プラグインを導入 DefinePluginでprocess.env.NODE_ENVを置換する 特定の文字を任意の文字に置き換えることのできるプラグインです。 たとえば、 //webpak.config.js plugins: [ new webpack.DefinePlugin({ 'process.env':{ 'NODE_ENV': JSON.…

ReduxのProviderコンポーネントとContainerコンポーネントを理解する

Providerコンポーネント react-reduxが提供するReactコンポーネント 唯一Storeを持つことができるコンポーネント 配下のコンポーネントにStoreに保持するstateやdispatcherを渡す役目 Reduxでは1つのstateでアプリケーションの状態管理をするため、アプリケ…

CSSで記号を実装する

今回は文字の前後に記号を追加したい。 CSSの疑似セレクタ(:before, :after)を使えば要素の前後に値を表示できます。 値を指定するには疑似セレクタのcontentプロパティを使う。 IE7以下は未対応らしいですが、今回は無視しています。 contentプロパティで表…

Objective-CのAppDelegate.mって何をしてるの?

アプリを作った段階でデフォルトで作られるファイルの一つ。アプリ全体のライフタイムイベントを管理するためのクラス application: didFinishLaunchingWithOptions アプリが初めて起動した時に呼び出される application:applicationWillResignActive アプリ…

Objective-Cの基礎的文法の備忘録

変数 変数の型 変数名: int num = 100; int num; num = 100; データの種類 int: 整数 float: 小数点つきの数値 BOOL: YES/NOに使う 変数には数値しか入らない ポインター変数 ポインター変数とは「メモリ上のオブジェクトを指し示すアドレス」の数値が入って…

アジア・オセアニアのビザが必要な主な国まとめ

アジア 香港 90日以内の観光は不要 韓国 90日以内の観光は不要 台湾 90泊91日以内の滞在は不要 フィリピン 21日以内の滞在は不要 シンガポール 2週間以内の観光滞在は不要 インド 必要 ブルネイ 14日以内の滞在は不要 マレーシア 90日以内の観光滞在は不要 …

ReactNativeのAndroidで画面遷移を実装する

まずAndroidアプリの画面遷移の実装方法を理解してないと実装できないので、確認していく。 Androidアプリでの画面遷移の方法 複数のアクティビティを作っておき、インテントという機能を使うと遷移できる そもそもアクティビティとは? ユーザーが実際に目…

moment.jsでタイムゾーンを考慮して特定日の始まりと終わりを取得する

JST(日本標準時)で指定日の始まりの日時文字列(RFC3339形式)を取得 //2017-08-26T00:00:00+9:00 moment.tz('2017-08-26', 'Asia/Tokyo').startOf('day').format(); UTC(協定世界時)に変換すると、2017-08-25T15:00:00+0:00になる JST(日本標準時)で指定日の…

Golangで特定ファイルのテストのみ実行する

カレントディレクトリにあるテストを実行 ENV=test go test パッケージを指定 ENV=test go test パッケージ名 特定テストのみ ENV=test go test -run TestXXX 特定パッケージの特定テストのみ ENV=test go test パッケージ名 -run TestXXX

gitで特定コミットで変更した内容を確認する

ファイル名のみ git diff --stat [前のコミットハッシュ] [次のコミットハッシュ] 変更内容 git diff [前のコミットハッシュ] [次のコミットハッシュ]

よく忘れるJavascriptの正規表現のメモ書き

日付を確認する正規表現を元によく使う表現をメモしておく /^\d{4}\-\d{2}\-\d{2}$/ ^ 入力の先頭文字にマッチする /^A/はBACにはマッチしないが、ABCにはマッチする \d 数字にマッチする [0-9]に相当する {n} 直前の文字がn回出現するものにマッチする \d{4…

Vue.jsとVueValidateのよく使う機能のメモ書き

Vue.js 代表的なオプション el: 既存DOMにVueインスタンスをマウントする elを指定しないで$mountで new Vue().$mount(“#app”)のようにも書ける methods Vueインスタンスに組み込まれるメソッド vm.plus()のように呼んだり、VueインスタンスをマウントしたDO…

IOS実機(開発中)のクラッシュを解析する手順

Firebaseでプッシュ通知を実装する時にIOSアプリ起動したらクラッシュすることがあったので、その解析手順。 クラッシュログの取得 Window - Devises - view Device Logs 問題のクラッシュのログをコピーペースト 以下記事を参考にクラッシュログを解析する …

ReactNativeでIOS/Android実機でプッシュ通知を試すハマり所まとめ(随時更新)

実機ビルドでハマる所(IOS) SigningでTeamでログインしていない error: Can’t find ‘node’ binary to build React Native bundle nodeのパスを設定 Signing for XXX_Test Unable to resolve module immtable yarn add immutable React/RCTBundleURLProvider.…

人事と労務の違いって?

最近、労務関係の仕事に触れる機会が多いです。 よく聞きはしますがイマイチよくわかっていなかったので、意味をまとめました。 人事と労務 人事も労務も会社の「人」に関わる業務。 人事は「社員個人」を対象としており、労務は「会社全体」を対象としてい…

ReactNativeの実機ビルドでunable to load script from assets index.android.bundleになる時の対処

以下手順でOK mkdir android/app/src/main/assets react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res 再ビル…

MacでAndroidの実機ビルドする時の最低限の手順

実機のOSバージョンと同じAndroid SDKをインストール Windowsの場合のみGoogle USB Driverが必要 実機側のUSBデバッグ設定を有効にする 接続した実機をクリックしてAndroid Studio側からビルドボタンをクリック

ReactNativeのbuild.gradleって何?

build.gradle Gradleのビルドスクリプト gradleコマンドを実行するとカレントディレクトリのbuild.gradleを探して実行する Gradle 動的スクリプトGroovyを使ってビルドスクリプトを記述することの出来るビルドツール Groovy Javaに近いスクリプト言語 Rails…

Golangでネストした構造体を初期化する方法

次のようにネストした構造体が存在する場合に、 Golangでは初期化の方法が非常に面倒くさい。 type User struct { ID int Name string Account struct { Password string AccessToken string } } func main() { user := User{ ID: 1, Name: "Masaru", Accoun…

ReactNativeでAndroidのシミュレーターを起動する

Androidの場合は事前にAndroid Virtual Deviceを追加しておく必要がある。 AVDマネージャーを起動する Android Studioを起動して[Tools] > [Android] > [AVD Manger] gyazo.com AVDを追加して起動する 端末は色んな種類がありますが、自分はNexus 5 API23を…

IOSでAdd the Push Notifications feature to your App IDが出る

GeneralのBundle Identifierが被っているのが問題でした。 名前を変えたら解消。

ReactNativeにReduxの環境構築をしてみる

プロジェクトの作成 $ react-native init redux_test 必要なライブラリのインストール $ cd redux_test $ npm install $ npm install --save redux react-redux シミュレータ起動 $ rm -rf ios/build $ react-native run-ios たまに前ビルドした結果が残って…