python3 datetime計算方法

ユーザーが新規登録した時間から半年ぐらいでトークンを切らしたいなと思って計算しました

from datetime import datetime, timedelta

datetime.utcnow() + timedelta(6 * 365 / 12)  # 半年伸ばす

これだけで簡単にできました!

参考にした記事
How do I calculate the date six months from the current date using the datetime Python module?

heroku ターミナルでpythonファイルを実行方法

データベースを初期化するために、pythonコマンドの走らせ方を調べたのでシェアします〜

方法はとても簡単で、これでいけます!

$ heroku run python init_db.py 
Running python init_db.py on ⬢ ************... up, run.7092 (Free)

参考にした記事
Getting Started on Heroku with Python

FlaskにVue変数をぶち込む方法

Vueインスタンスのメンバを表示させようとしたらエラーが出てきたので一応シェア

適当なコードですが、年末なので大目にみてください

# html
 <ul id="example1">
    [[ data ]]
</ul>

# javascript
  <script>
        var example1 = new Vue({
            el: '#example1',
            data: {
                message: 'Hello Vue!'
             },
            delimiters: ['[[', ']]']
        });
    </script>

 

上記コードを実行するとこんな感じのhtmlが出ています

 

 

キーポイントは 「delimiters: [‘[[‘, ‘]]’]」を入れてやることみたいなので、もうちょい詳しく知りたい方は以下の参考リンクより自分で調べてください

 

参考にした記事
How to render by Vue instead of Jinja

nativescript-videorecorder got a error when using android

I installed nativescript-videorecorder to record movie, but unfortunately I spent all day….

So I wanna share how to fix this problem.

Here is the error message below.I got this error after use the function from nativescript-videorecorder.

JS: Angular is running in the development mode. Call enableProdMode() to enable the production mode.
JS: Error: java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)’ on a null object reference
JS:     android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583)
JS:     android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557)
JS:     android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399)
JS:     com.tns.Runtime.callJSMethodNative(Native Method)
JS:     com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1088)
JS:     com.tns.Runtime.callJSMethodImpl(Runtime.java:970)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:957)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:941)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:933)
JS:     com.tns.gen.java.lang.Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.onClick(Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.java:12)
JS:     android.view.View.performClick(View.java:4799)
JS:     android.view.View$PerformClick.run(View.java:19938)
JS:     android.os.Handler.handleCallback(Handler.java:739)
JS:     android.os.Handler.dispatchMessage(Handler.java:95)
JS:     android.os.Looper.loop(Looper.java:135)
JS:     android.app.ActivityThread.main(ActivityThread.java:5384)
JS:     java.lang.reflect.Method.invoke(Native Method)
JS:     java.lang.reflect.Method.invoke(Method.java:372)
JS:     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
JS:     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:702)

How to solve is quite simple.
It is to install nativescript-camera.

Here is code for your terminal.

$  tns plugin add nativescript-camera

Why I figured out to solve this problem? That’s why I installed nativescript-camera at first.
After that I erased it that I noticed I didn’t use that library.

I just started English blog to share error blog.
I’m sorry if I have wrong point!
Hope you solve this error! Thanks!

nativescript-videorecorder androidで使うとエラーが出る

nativescriptで動画を撮影するためにnativescript-videorecorderを入れて見たらエラーが出て来て、1日使ってしまいました。。。。

その時のエラー内容がこちら
エラーが発生するタイミングは、nativescript-videorecorderを発火させたタイミングです

JS: Angular is running in the development mode. Call enableProdMode() to enable the production mode.
JS: Error: java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)’ on a null object reference
JS:     android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583)
JS:     android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557)
JS:     android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399)
JS:     com.tns.Runtime.callJSMethodNative(Native Method)
JS:     com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1088)
JS:     com.tns.Runtime.callJSMethodImpl(Runtime.java:970)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:957)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:941)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:933)
JS:     com.tns.gen.java.lang.Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.onClick(Object_frnal_ts_helpers_l58_c38__ClickListenerImpl.java:12)
JS:     android.view.View.performClick(View.java:4799)
JS:     android.view.View$PerformClick.run(View.java:19938)
JS:     android.os.Handler.handleCallback(Handler.java:739)
JS:     android.os.Handler.dispatchMessage(Handler.java:95)
JS:     android.os.Looper.loop(Looper.java:135)
JS:     android.app.ActivityThread.main(ActivityThread.java:5384)
JS:     java.lang.reflect.Method.invoke(Native Method)
JS:     java.lang.reflect.Method.invoke(Method.java:372)
JS:     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
JS:     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:702)

解決方法は
NativeScript Cameraをインストールすることで動かせます

$  tns plugin add nativescript-camera

ちなみに一番最初に試した時はnativescript-cameraが入っていましたが、
あとで不必要なモジュールを削除するタイミングで消しました

最初にnativescript-cameraがなければ気づくことができなかったので間一髪

そもそもREADMEには必要と書かれていなかったので、ちょっとあれですけど
Nativescriptはまだまだ充実したコミュニティがないので、ちょっとずつでも何かしらの形で貢献して行きたいですね

nativescript ビルドのバージョン指定をする方法

新しくプロジェクトを作ったら、3.4.0だったので、3.2.0に戻しました

書き方はとても簡単で、以下の通りとなります!

$ tns platform add android@3.2
Copying template files...
Installing  tns-android
 ◟ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4  
◜ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4  
◞ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4  
◡ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4  
◝ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4 
 ◡ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4 
 ◟ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4 
 ◝ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4  
◞ Installing tns-android⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session c3d4

Xcode リフォーマット方法

Xcodeでリフォーマットする方法を調べてみたら、すぐに見つかりました〜

面倒くさいですけど、2つのステップを踏まないと行けないっぽいです

1. command +  A ->  全選択
2. control + I -> りフォーマット

参考にした記事
XCode Tips & Tricks 1: How to Reformat the code

Nativescript アプリの名前の変更方法

nativescriptのアプリ名変更は結構簡単です

これだけで簡単に名前を変更することができます!

# iosはApp_Resources/iOS/info.plist の中の
<key>CFBundleDisplayName</key>
<string>ここにアプリ名を入れる</string>

# androidは /platforms/android/src/main/res/values/strings.xml  をこんな感じで編集
<?xml version=“1.0” encoding=“utf-8"?>
<resources>
   <string name=“app_name”>ここに入れる</string>
   <string name=“title_activity_kimera”>ここに入れる</string>
</resources>

参考にした記事

How to change display name of the application in launcher? #1377
How to change application name in NativeScript

今更だけど、npmでモジュール入れるときのバージョン指定方法

ものすっごい今更ですけど、npmするときのバージョン指定がわからなかったので一応シェアします

# nativescriptの 3.2.0 を入れたいならこんな感じ
$ npm install -g nativescript@3.2.0

@マークのあとにバージョンを指定することでインストールすることができます

今更だけど!

ターミナルでTypescriptを一度にコンパイル&ラン

ターミナルでコンパイルとランできれば楽だなと思って調べてみたらありました!

TypeScript Nodeというライブラリで

$ npm install -g ts-node

これだけで準備完了です!

こんな感じのTypescriptも

export class Practice {
    test_func() {
        console.log('test');
    }
}

let practice = new Practice();
practice.test_fu

ターミナルで一発です!

$ ts-node src/practice.ts 
test

かなり簡単に使えるので、Typescriptの勉強にもってこいです!