diadia

興味があることをやってみる。自分のメモを残しておきます。

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

django ページネーションについて(改訂版)

ページネーションについて ページネーションは一覧表示させるオブジェクトを1ページ内にどれだけ分割して表示させるか。それに関わる技術のことのようだ。 関連ドキュメント ページネーション | Django ドキュメント | Django メモ djangoにおけるページネ…

cdnでvuetifyを使うために

軽く要点を残す。 djangoでincludeを使ってコンポーネント化できたのでテンプレートの見通しが良くなった。 cdnを使ってコンポーネント化するとvuecliを入れる前にどんな感じでvuetifyや単一ファイルコンポーネントが使えるか確認できる。(もちろん全く同じ…

nginxで403が返されるときに対応したこと

サーバー上に新しくディレクトリを作成し、そこを起点にgithubからpullを行いデプロイした際にうまく作動しなかった。 環境 centos7 nginx porstgresql django 症状: home画面のhtmlはサーバーから配信される。 home画面の静的ファイルの配信がうまく行って…

AWS学習メモ

知識の整理の方法をよく考えたい。 実現したい実装に対して、概念による実装方法があり、具体的な実装方法がある。 具体的な実装方法はコンソールによる具体的な実装方法とteraformによる実装方法である。これらの棲み分けを意識して分けてメモをしていきた…

fabricでデプロイするために得られた知見

まずfabricでできることはなにか? fabricでできることはshellスクリプトでもできる。シェルスクリプトが書ければfabricをあえて学習する必要ないと思われるが、fabricを使うのはpythonを使うので学習コストが低いし、pythonで書くのでコードの見通しが良く…

circleciのsshキーを登録する

circleciのコンソールにsshキー(秘密の鍵)を登録する事ができる。 しかしこの秘密の鍵はpem形式でなければコンソールでエラーが出てしまう。したがってpem形式のキーを別途作成し登録する必要があった。 手順; 1. pem形式の鍵を作成する 1. サーバーに公開鍵…

CircleCIのメモ

CircleCI環境変数について circleciの環境変数の定め方は2通りある。 一つはconfig.ymlで環境変数をハードコーディングで定める方法である。 もう一つはcircleciのコンソールで環境変数をキーとバリュー形式で登録しておき、config.ymlでキーを呼び出すこと…

vuexのコンポーネント間のデータ受け渡し方法

vuexのデータの受け渡しはvuexのドキュメントを読めばだいたいのことがわかる。 vuexはVue.js アプリケーションのための 状態管理パターン + ライブラリである。 重要なファイル 最初はApp.vueとstore/index.jsだけで済む。 <template> <v-app> <v-app-bar app color="primary" dark > <div class="d-flex align-center"> </div></v-app-bar></v-app></template>

dockerのvolumeがホストのどこにあるのか

Dockerのvolumeがホストのどこに存在するか知りたい。 docker-compose.yml内で以下のように記述することに関していままで自分が勘違いしていた。 db: image: postgres volumes: - postgres_data:/var/lib/postgresql/data <-コレ environment: - POSTGRES_DB…

docker nginxの基本的な使い方

dockerを触ってみて分かったこと。 dockerのコマンドを使ってimage作成やコンテナを実行する。 これとは別に、つまりdockerコマンドを使ってimage作成する代わりに、Dockerfileを作ってdocker buildコマンドを使うとimageを作成する事もできる。 ここに関し…

django vueを追加する

MPAでvueを使いたい。。。 色んな方法で実現できると分かった。 cdnを使う方法 vue cliを使う方法 vue cliを使わないで行う方法 最終的にはvue cliを使って構築するのがわかりやすいと感じた。cdnはもちろんかんたんだけれどもvuetifyを組み合わせて使う方法…

constants.pyを設けるメリット

djangoでconstants.pyを設けるメリット views.pyやurls.pyまたテストにおいてハードコーディングが少なくなる。 urls.pyにおいてviewネームを変更するとviews.pyの該当するreversやreverse_lazyのハードコーディング部分を探して変更する必要が出てくる。 し…

vue.jsのメモ その2

データバインディングとは データと描画を同期する仕組み データバインディングの種類 双方向バインディング (TwoWay) 単方向バインディング(OneWay) ワンタイムバインディング(OneTime) テキストのバインディング テキストのバインディングの場合には{{}}…

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

参考資料 Node.jsをmacOSへインストールする方法 | プログラミング入門ナビ MacにNode/npmをインストールする手順 2019年1月更新 - suzu6 nodejs,npmインストールしてみた感想 macでnpmを使うには、まずnodejsが必要になる。これはnodejsにnpmが含まれている…

Fragmentの画面が表示されない状況に遭遇した

ベースとなる画面にリサイクラービューを使って表示する。 そして画面遷移先で入力するためのキーボードを表示させる。その状態でベースのアクティビティに戻るとリサイクラービューを始め他のViewもろとも表示されない事態に遭遇した。いわば、レイアウトフ…

android ライフサイクルについて考え、想像するだけ

ライフサイクルはメモリ不足になるとonResumeを通ることを予期していたのにonCreateから始まることがあるようだ。 もしかするとアクティビティでフラグメントを起動して、そこから他のアクティビティに遷移する。遷移先からバックで戻ったり、アクティビティ…

Django Test retrofitが送信するデータを再現する

内容 djangoの単体テストを実装する際にAndroid端末が送信するデータ形式を再現できなければ、単体テストの効果が得られない。 したがって最初にretrofitのpostメソッドの形式を確認し、それをそれぞれどのようにdjango(python)で再現すればよいかをメモして…

言語横断整理 python, kotlin, javascript

配列、リスト オブジェクトの生成 pythonにはListがある。 foods = ["りんご", "ぶどう", "すいか", "なし"] foods = list("りんご", "ぶどう", "すいか", "なし") kotlinにはList, Array, ArrayListがある。 var foods:List<String> = listOf("りんご", "ぶどう", "</string>…

Vue.jsの最初のメモ

内容 ドキュメント 基本的な使い方 vueの内容の書き方 1.ドキュメント https://jp.vuejs.org/ 2.基本的な使い方 HTMLとjavasciptのパートがあり、それを書けばvue.jsを書いたことになると現状認識している。 HTMLで書くこと https://jsfiddle.net/5grs0976/1…

Dockerについてメモ

よく使うコマンド docker-composeコマンドを使ってサービス立ち上げ docker-compose -f docker-compose.yml up -d --build サービスを終了する docker-compose -f docker-compose.yml down -v 立ち上げたサービスを使ってテストを実行する(django) docker ex…

android facebookシェアのメモ

前提 intentやShareCompatを使ったシェア方法を諦め、facebook SDKを使ってシェアを行う。 メモ とりあえず使うにはコーディングの他に準備がある。 まずFacebookに開発者の登録が必要 facebookにアプリの登録が必要 -> appのidがandroidのマニフェストで記…

Seleniumを使ったテストのメモ

実装の際に困ったこと django.test.LiveServerTestCaseを使う環境を把握できていなかった。 ヘッドレスモードを使う場合にはオプションに--window-sizeをつけなければならないこと。 前提 ChromeDriverを使ってseleniumを実行する 準備 seleniumをインストー…

djnago test ModelFormにForeignKeyが含まれる場合のテスト

例えばItemモデルにCategoryというForeignKeyが含まれているとする。 その上ForeignKeyオブジェクトから選択させる方式でItemオブジェクトを生成している。 Itemオブジェクト生成のためにItemModelFormを作成すると以下のような感じになる。 class ItemModel…

WebViewの使い方

コンテンツ ドキュメント 実装方法 サンプルコード 1.ドキュメント WebView でのウェブアプリの作成 | Android デベロッパー | Android Developers 2.実装手順 レイアウトでアプリに WebView を追加 <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> val myWebView: WebView = findViewById(R.id.webview) m</webview>…

DRFとretrofitの関係(Bodyに関して)

話したいこと drfのrequest.dataの内容はfieldかbodyかで違いが出る話をしたい。 django rest frameworkを使ってアンドロイドからデータを受け取る場合にはrequest.dataを使う。そしてこのrequest.dataの内容がretrofitのインターフェースメソッドの記述の仕…

Kotlin GoogleMapPlatfotmのtoolbarを削除する

どれ? toolbarの特徴 toolbarはデフォルトで表示され、toolbarをタップすると他のアプリが起動してしまう。 消したい場合はドキュメントに従ってUiSettings.setMapToolbarEnabled(boolean)を実行すれば良い。 サンプルコード override fun onMapReady(googl…

Django シグナル POST_SAVEのupdate_fieldsをどう使うか

シグナルpost_saveのupdate_fieldsの用途 例えばこんな時に使いたい時にupdate_fieldsが役に立つ。 class Profile(models.Model): user = models.ForeignKey(User, on_delete=models.PROTECT, null=True) adm0 = models.CharField(max_length=15, default="J…

FirebaseCloudMessagingによるプッシュ通知を受信してもアプリを起動できない件

理由がわからない。 サンプルで作ったアプリはプッシュ通知をタップするとアプリが立ち上がったけど、今のアプリは立ち上がらない。 Firebase Notifications は、受信側アプリがフォアグラウンド状態であるかバックグラウンド状態であるかによって、動作が異…

テスト(ソフトウェアテスト)について

ソフトウェアテストとは、開発者の意図したとおりにソフトウェアが動作するかを検証する行為である。 ソフトウェアテストには種類がある。 テスト名 説明 ユニットテスト メソッド単位のテスト 統合テスト メソッドの組み合わせのテスト UI/システムテスト …

スワイプでデータ更新をする

SwipeRefreshLayoutを使えば良い事がわかった。 GlidやLinearの親としてSwipeRefreshLayoutを使う。 参考ドキュメント スワイプでの更新をアプリに追加する | Android デベロッパー | Android Developers 参考ドキュメントによるとsupport.v4を使うことにな…