プログラミング

プロおよび熱狂的プログラマーのためのQ&A

10
async / awaitでnode.jsのファイルシステムを使用する
一部のファイルシステム操作でasync / awaitを使用したいと思います。通常はasync / awaitを使用しているため、正常に動作しますbabel-plugin-syntax-async-functions。 しかし、このコードでnamesは、ifケースが未定義の場合に遭遇します。 import fs from 'fs'; async function myF() { let names; try { names = await fs.readdir('path/to/dir'); } catch (e) { console.log('e', e); } if (names === undefined) { console.log('undefined'); } else { console.log('First Name', names[0]); } } myF(); コードをコールバック地獄バージョンに再構築すると、すべてが正常になり、ファイル名を取得します。ヒントをありがとう。

4
パンダのデータフレームのリストを連結します
1つのPandasデータフレームに結合したいPandasデータフレームのリストがあります。Python 2.7.10とPandas 0.16.2を使用しています 私はからデータフレームのリストを作成しました: import pandas as pd dfs = [] sqlall = "select * from mytable" for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000): dfs.append(chunk) これはデータフレームのリストを返します type(dfs[0]) Out[6]: pandas.core.frame.DataFrame type(dfs) Out[7]: list len(dfs) Out[8]: 408 ここにいくつかのサンプルデータがあります # sample dataframes d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., …



5
Typescript:Reactイベントタイプ
Reactイベントの正しいタイプは何ですか。最初はany、単純にするために使用しました。今、私は物事をきれいにし、any完全に使用しないようにしています。 したがって、次のような単純な形式になります。 export interface LoginProps { login: { [k: string]: string | Function uname: string passw: string logIn: Function } } @inject('login') @observer export class Login extends Component<LoginProps, {}> { update = (e: React.SyntheticEvent<EventTarget>): void => { this.props.login[e.target.name] = e.target.value } submit = (e: any): void => { this.props.login.logIn() e.preventDefault() …

3
JWT更新トークンフロー
私はモバイルアプリを作成していて、認証にJWTを使用しています。 これを行う最善の方法は、JWTアクセストークンと更新トークンをペアにして、アクセストークンを必要なだけ頻繁に期限切れにできるようにすることです。 更新トークンはどのようなものですか?ランダムな文字列ですか?その文字列は暗号化されていますか?別のJWTですか? 更新トークンは、アクセスのためにユーザーモデルのデータベースに格納されますよね?この場合は暗号化する必要があるようです ユーザーのログイン後に更新トークンを送り返し、クライアントに別のルートにアクセスさせてアクセストークンを取得させますか?


6
「testing」パッケージを使用してGoテストでどのように印刷しますか?
Goでテストを実行して、何かを出力するステートメント(つまり、テストのデバッグ用)を実行していますが、何も出力されません。 func TestPrintSomething(t *testing.T) { fmt.Println("Say hi") } このファイルでgo testを実行すると、出力は次のようになります。 ok command-line-arguments 0.004s 私が知る限り、本当に印刷させる唯一の方法は、次のようにt.Error()を介して印刷することです。 func TestPrintSomethingAgain(t *testing.T) { t.Error("Say hi") } これはこれを出力します: Say hi --- FAIL: TestPrintSomethingAgain (0.00 seconds) foo_test.go:35: Say hi FAIL FAIL command-line-arguments 0.003s gom: exit status 1 私はグーグルで検索してマニュアルを調べましたが、何も見つかりませんでした。
129 testing  go 

3
DeprecationWarning:スクリプトを別のサーバーに移動するときのセキュリティと使いやすさの問題のため、Buffer()は廃止されました
スクリプトが他のサーバーに移動するとエラーが発生します。 (node:15707)[DEP0005] DeprecationWarning:Buffer()は、セキュリティと使いやすさの問題のために非推奨になりました。代わりに、Buffer.alloc()、Buffer.allocUnsafe()、またはBuffer.from()メソッドを使用してください。 現在のバージョン: Ubuntu 16.04.4 LTS Node - v10.9.0 NPM - 6.2.0 前のバージョン: Ubuntu 14.04.3 LTS NPM - 3.10.10 Node - v6.10.3 exports.basicAuthentication = function (req, res, next) { console.log("basicAuthentication"); if (!req.headers.authorization) { return res.status(401).send({ message: "Unauthorised access" }); } var auth = req.headers.authorization; var baseAuth = auth.replace("Basic", ""); …
129 node.js  npm 

18
ES6テンプレートリテラルを実行時に置換(または再利用)できますか?
tl; dr:再利用可能なテンプレートをリテラルにすることは可能ですか? 私はテンプレートリテラルを使用しようとしましたが、私はそれを取得できなかったと思いますが、今はイライラしています。つまり、私はそれを理解していると思いますが、「それ」は、それがどのように機能するか、またはそれがどのように機能するかではありません。別の方法で取得する必要があります。 私が見たすべての例(タグ付きテンプレートを含む)では、「置換」は実行時ではなく宣言時に行う必要があります。これは、私にとってテンプレートにはまったく役に立たないようです。多分私は狂っていますが、私にとっての「テンプレート」は、作成時にではなく、使用時に置換されるトークンを含むドキュメントです。それ以外の場合、それは単なるドキュメント(文字列)です。テンプレートはトークンとともにトークンとして保存され、それらのトークンは評価時に評価されます。 誰もが次のような恐ろしい例を挙げています: var a = 'asd'; return `Worthless ${a}!` それはいいですが、もし私がすでに知っているならa、私はただreturn 'Worthless asd'かしreturn 'Worthless '+aます。ポイントは何ですか?真剣に。さて、ポイントは怠惰です。プラスが少なく、読みやすくなります。すごい。しかし、それはテンプレートではありません!私見ではない。そして重要なのはMHOだけです。問題は、私見ですが、テンプレートが宣言されたときに評価されるということです。 var tpl = `My ${expletive} template`; function go() { return tpl; } go(); // SPACE-TIME ENDS! expletiveは宣言されていないため、のようなものが出力されますMy undefined template。素晴らしい。実際、少なくともChromeでは、テンプレートを宣言することすらできません。expletive定義されていないため、エラーがスローされます。テンプレートを宣言した後で置換を実行できるようにする必要があります。 var tpl = `My ${expletive} template`; function go() { return tpl; } var expletive …

11
ssh -L複数のポートを転送します
私は現在たくさんを実行しています: sudo ssh -L PORT:IP:PORT root@IP ここで、IPは保護されたマシンのターゲットであり、PORTは転送するポートを表します。 これは、この転送なしではアクセスできない多くのアプリケーションを使用しているためです。これを実行した後、を介してアクセスできますlocalhost:PORT。 私が実際に転送しなければならないこれらのポートが4つあるため、主な問題が発生しました。 私の解決策は、4つのシェルを開き、常に履歴を後方検索して、転送する必要があるポートなどを正確に探し、次にこのコマンドを実行することです(各シェルに1つ(パスワードを入力する必要があるなど))。 私が次のようなことをすることができれば: sudo ssh -L PORT1+PORT2+PORT+3:IP:PORT+PORT2+PORT3 root@IP その後、それは本当に本当に役立つでしょう。 これを簡単に行う方法はありますか?
129 ssh  port  portforwarding 

8
awaitは非同期関数でのみ有効です
私はこのコードを書いた lib/helper.js var myfunction = async function(x,y) { .... reutrn [variableA, variableB] } exports.myfunction = myfunction; それから私はそれを別のファイルで使用しようとしました var helper = require('./helper.js'); var start = function(a,b){ .... const result = await helper.myfunction('test','test'); } exports.start = start; エラーが発生しました 「待機は非同期関数でのみ有効です」 どうした?

8
Dockerfileの場合、外部引数を使用した条件
私はdockerfileを持っています FROM centos:7 ENV foo=42 それから私はそれを構築します docker build -t my_docker . そしてそれを実行します。 docker run -it -d my_docker コマンドラインから引数を渡し、Dockerfileで他の場合にそれを使用することは可能ですか?私のようなものを意味します FROM centos:7 if (my_arg==42) {ENV=TRUE} else: {ENV=FALSE} この引数を使用してビルドします。 docker build -t my_docker . --my_arg=42
129 docker  dockerfile 


2
「既存のタグを壊してしまう」を取り除く方法
VSCodiumでgitを使用していますが、gitをプルしようとするたびに文句が表示されます。 私が見るログを見る > git pull --tags origin master From https://github.com/MY/REPO * branch master -> FETCH_HEAD ! [rejected] latest -> latest (would clobber existing tag) 9428765..935da94 master -> origin/master でコマンドを実行--forceすると、次回まで役立ちます。 ここで何が悪いのか私にはわかりません。何が起こり、どうすればこの問題を解決できますか? つまり、ローカルリポジトリを破棄して、再度クローンを作成することに加えて。
129 git 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.