1日1%成長するブログ

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

カスタマーサポートツールの調査メモ

サポートツール www.supporttimes.com Zendeskは問い合わせをステータスごとに管理できる。毎日大量のメールが送られてくるサービスならオススメ メールワイズはZendeskと似てるかも。メールの共有サービス Intercomは顧客と直接チャットでサポート。スター…

react-native-elementでリストを作る

react-native-elementを使ってリストを使おうとすると、 unrecognized font family 'Material Icons`的なエラーがでる時があります。 実はreact-native-vector-iconsはXcodeやAndroid Studioでfont-familyを設定してあげる必要があります。 twins-tech.haten…

railsで多: 多の関連を作る

モデルを作る bundle exec rails g model user bundle exec rails g model group bundle exec rails g model group_user テーブルを作る 先ほど作ったマイグレーションファイルを編集する bundle exec rake db:migrate モデル間の関連を作る class User < Ap…

Railsのフォームで配列とハッシュを併用する

ハッシュだけ、配列だけの書き方は色んな所で書かれているが、 併用した書き方がなかなか見つからず困った。 古いが以下の記事が一通りまとまっていてわかりやすかった。 Rails のフォームで配列形式のデータを扱う方法 - WebOS Goodies ハッシュのみ HTML <input type="text name="user[name]" /> …

react-native-elementをインストールする

yarn add react-native-vector-icons yarn add react-native-elements react-native-vector-iconsが必ず必要 import { FormLabel, FormInput } from 'react-native-elements' <FormInput onChangeText={(text) => changeInputText(text) } /> 入力フォームはこんな感じで使う</forminput>

Railsのフォームで配列を扱う方法

fields_forとか便利メソッドを使って根本が理解できていないまま、 コードを書くのは応用が効かないので、シンプルに書く。 Webシステムではクライアントからサーバーにリクエストを投げるのにフォームを使う。 nameに指定したキーで値を取り出す。 同じname…

ReactVRでテキストフォームぽいものを作る

イメージ ソースコード <View style={{ flex: 1, flexDirection: 'column', width: 2, alignItems: 'stretch', transform: [{translate: [-1, 1, -5]}], }}> <View style={{ margin: 0.1, height: 0.1}}> <Text style={{fontSize: 0.2, textAlign: 'center'}}>Name</Text> </View> <VrButton onClick={() => onClick('name') } > </vrbutton></view>

Rails5でscaffoldを使ってベースを作る

モデルになりそうなものを全部scaffold rails g scaffold posts title content:text マイグレーションを実行 rake db:migarate 各画面にbootstrapなどから取ってきたら部品を設置していく これだけで慣れれば30分くらいでCRUDシステムなら画面用意できそう …

Rails5にyarnでAdminLteをインストールする

admin-lteはbootstrap3ベースの管理画面用テンプレート。 インストール yarn add admin-lte admin-lteを入れると必要なnpmは一緒に依存解決でnode_modulesにインストールされる application.cssに以下のcssをインポートする @import 'bootstrap/dist/css/boo…

Vagrant上のRails5のソースコードをホストOSから編集する

vagrantの共有フォルダにRailsプロジェクトを配置する vagrantにはホストOSとファイルを共有するための場所が用意されています。 デフォルトでは/vagrantがそれです。 ゲスト側でVagrantFileがあるフォルダの中身が表示されます サーバーを起動してみる rail…

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…