くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

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

ReactNativeのキャッシュ削除

ブランチ切り替え時に前のブランチの状態で画面が表示されたりするので、削除方法をまとめました。 完全に小ネタですがよく使うと思います。 watchman watch-del-all lsof -n -P -i :8081 -t | xargs kill rm -rf ios/build rm -rf android/app/build rm -rf…

テンプレートでデータを使い回す

Angularのng-templateを使うときのメモです。 Angularとはいいながらも、ionicとかでも使います。(私はionicでなんだこれと思いながら調べてここに行き着きました) わざわざ新しいコンポーネントを定義するほどではないけど、同じテンプレートの中で一定の記…

iOS13にアップデートする際の注意点【ReactNative編】

ReactNativeのiOSプロジェクトをアップデートした際にエラーが発生しました。 今回は小ネタですが解決方法をメモしたいと思います。 iOSのアップデートのため、xcodeのバージョンを11.1にしました。 特にソースコードのエラーは発生しなかったので、シュミレ…

TypeScriptでプロパティがHTMLElementで値が存在しないというエラーを解消する

こんなエラーです。 <select id= "test"> <option value= test1>test1</option> <option value= test2>test2</option> <option value= test3>test3</option> </select> 上記の選択値を取得するときにdocument.getElementById("test").valueで取得しようとすると、エラーが発生しました。 メッセージはこのようなものです。 The property ‘test' does not exist on value of type 'HTML…

SSL証明書とは

SSL証明書について考える機会があり、あまり詳しくなかったので、この際に調べてみようと思い、まとめてみました。 ①SSL証明書とは SSL証明書は、ウェブサイトの「運営者の実在性を確認」し、ブラウザとウェブサーバ間で「通信データの暗号化」を行うための…

MacでJDKをアンインストールする

macを業務で使い始めて、Windowsとは違うなあと感じ始めたこの頃です。 JDKのアンインストールもMacとWindowsは少し違うみたいです。 今回は、Macでの削除方法を記載します。 まずは、JDKのバージョンを確認します。 $ /usr/libexec/java_home -V Matching J…

複数バージョンのXcodeを使う

iOS

最近iOSのバージョンアップのためにXcodeを使うので、複数バージョンを共存させる方法をまとめたいと思います。 Xcodeをダウンロードする ここから使用するバージョンのxcodeをダウンロードします。 ダウンロードが完了すると、展開したXcodeアプリがApplica…

iOS開発での小ネタ

iOS

iOS開発で今まで、個人でやっていたので知らなかったことが多かったですが、小ネタを知ることができたので、記憶と記録に残そうかと思います(笑) ①Xcodeのダウンロード Xcodeをダウンロードする時にMacでしかできない→ということはApple Storeからダウンロー…

ReactNativeでのデバック

Javascriptと同じようにできるのでメモ 起動中のエミュレータ上で、以下のキーを入力する iOSの場合 : Command + D Androidの場合 : Command + M すると、以下のオプションが表示されます。 Debug JS Remotlyを選択すると、下記URLで自分が作成しているプロ…

ReactNativeの環境構築【トラブルシューティング】

以前、ReactNativeの環境構築を投稿しましたが、シュミレータを実行する際にエラーが発生することがあります。 自分が直面した物をまとめようかと思います。 ①"config.h" file not found react-native run-iosした時にタイトルのようなエラーが発生すること…

ReactNativeの環境構築

今回はReactNativeの環境構築手順を記載したいと思います。 NodeとWatchmanのインストール ReactNativeをインストールする時にnpmコマンドを使うために、Nodeのインストールが必要になります。 WatchmanはFacebookが提供するファイルシステムの変更を検知す…

TypeScript のインストール

TypeScript は npm Package Manager (npm) でインストールできます。 npmコマンドを使ってインストールします。 npmコマンドはNode.jsのインストールが必要になります。 インストールは下記に投稿していますので、参考にしてください。 node.jsのインストー…

node.jsのインストール方法

React-Nativeを使う際に必要になったので、やったことメモです。 ①Node.jsがインストールされているかの確認 ターミナルで下記コマンドをして確認します $ node -v バージョンが表示されない場合は以下の手順を実行します。 ①Homebrewのインストール Homebre…

GithubにSSH接続できるようにする

今回はGithubにSSH接続できるように設定していきます。 ①なぜ? Http形式やHttps形式などGithubで使える通信規格は何種類かあります。 一般的にはHttp形式やHttps形式が有名ですが、なぜSSH形式なんでしょうか? SSHプロトコルを使うと、リモートサーバーや…

ButtonNavigationを使ってみる

最近アプリを使っていると、下の方でメニューを切り替えるヤツをよく見ます。 ドローワーあんまり使わないのかなあと思いながら調べてみるとButtonNavigationっていうのを知りました。(今更感.....) 大変なのかやってみました。 結論、まったく大変ではない…

再起動をadbコマンドで実行する

Androidで開発していて、PCを実機につないで、再起動を確認するときに実際に再起動してしまうと実行が消えてしまいますよね? どうやらADBコマンドで実際に再起動せずに再起動を再現できるみたいなので、やってみました。 ただ、やってみると意外にハマった…

Androidでグラフを作ってみる

グラフをアプリの中に表示させるとき、調べてみるとMPAndroidChartを使う方法があるみたいで、簡単なサンプルを作って試してみました。 今後も使いそうなので、手順を残そうかと思います。 ①ライブラリの導入 まずはMPAndroidChartライブラリを導入します。 …

アプリ名の設定やら何やら

アプリ名を設定したりやらAndroidではいろいろ設定することがあります。 今回は、アプリ名の設定をまとめたいと思います。 ①アプリ名の設定 基本的にはres/values/strings.xmlの中の、<string name="app_name">に設定されている値がこれにあたるのですが、ハマりポイントがあります。</string>…

レッツMVVMパターン

以前、DataBindingを使ってみて、その延長でMVVMパターンを使ってみました。 おそらく今後も使うと思うので、手順を残したいと思います。 ベースは下記の記事の実装を使います。 DataBindingを使ってみる 今回はListViewで行います。 ModelViewは 一覧に表示…

DataBindingを使ってみる

listviewの表示をDataBindigを使ってみることにしました。 もともと、android.R.layout.simple_expandable_list_item_2というオープンソースを使っていたのですが、カスタマイズできないのと、カスタマイズするならDataBindingを使ってみようと思ったのが、…

Espresso使用時の個人的注意ポイント

Android開発でテストを行おうと思い、Espressoを実行しようと思ったら実装とテストのバージョン違いでつまずいたので、まとめたいと思います。 テストを実行しようと思うと下記エラーが発生しました。 Conflict with dependency 'com.android.support:suppor…

AndroidStudioでアイコンを作成しよう

リリースするときにアイコンを作成するのですが、AndroidStudioで作成する場合は、かなり楽に作れるので、おススメです。 今後も使うと思うので、手順を残そうかと思います。 まずは、drawableフォルダ配下に画像をコピーします。 コピーしたら、minmapフォ…

ナビゲーションドローワーのUIテスト

EspressoでUIテストを実施していて、ナビゲーションドローワーがある場合に少しつまずいたので、残したいと思います。 dependencyの追加 ナビゲーションドローワーのアクションはespresso-contribのライブラリに入っているので追加しました。 その時、バージ…

非同期でのUIの取り扱い

非同期でUIの更新を行うときに気にしないといけないことが多いですよね 今ではRxjavaを使えば、あまり気にすることはないんですが、AsyncTaskLoaderを使う場合は、気にしないといけません。 私も一部分で、AsyncTaskLoaderを使っていて、罠にはまりました。 …

今一度、相対パスと絶対パス

今まで、そこまで意識しなくてもなんとなく使えていたパスの知識 最近、意識することがあったので、今一度まとめようと思います。 ①絶対パス 絶対パスはルートディレクトリからの対象のパスを示しています。 表記方法は ①ルートディレクトリは/または\(円マ…

RxjavaとRetrofitで非同期通信を行う

Androidで非同期通信を使おうとして、AsyncTaskLoaderを使うと、コードが長くなり、考慮する点も多いので、Rxhjavaを使ってみました。 今ではこちらの方が主流な理由がわかりました。 ①ライブラリの追加 下記ライブラリを追加しました。 build.gradle implem…

Retrofitでxmlの要素の値を取得する

Retrofitでxmlの要素を取得するためにEntityを定義しました。 初めて行うと意外に苦戦することが多いので、まとめます。 今回対象のxmlは以下になります。 <rss version="2.0"> <channel> <title>××××××××××××××</title> <link>×××××××××××××××</link> <description>××××××××</description> <lastBuildDate>××××××</lastBuildDate> // itemがリストになっている <item> </item></channel></rss>

DexArchiveBuilderExceptionについて

Android開発をしていて、okHttpを使おうと思い、implementするとDexArchiveBuilderExceptionという謎のエラーが発生しました。 java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBui…

RecyclerViewを使ってみた

ListViewに比べてRecyclerViewの方が使い勝手がいいので、試しに使ってみました。 カスタマイズできるのがいいですね! ①レイアウトの作成 まずは表示する1列分のレイアウトを作成します。 article_content.xml

【Swift】カスタムボタンを作る

画像を使ったカスタムボタンを作成してみたので、手順を残したいと思います。 override func viewDidLoad() { super.viewDidLoad() let inviteButton = UIBarButtonItem(image: UIImage(named: "invite"), style: .plain, target: self, action: #selector(s…