我使用 Winston 进行后端日志记录我无法在不使用的情况下记录对象,JSON.stringify
这很烦人
logger.debug(`Register ${JSON.stringify(req.body)}`)
Run Code Online (Sandbox Code Playgroud)
const logger: Logger = createLogger({
// change level if in dev environment versus production
level: env === 'production' ? 'info' : 'debug',
format: format.combine(
format.label({label: path.basename(process.mainModule.filename)}),
format.timestamp({format: 'YYYY-MM-DD HH:mm:ss'}),
format.prettyPrint()
),
transports: [
new transports.Console({
format: format.combine(format.colorize(), logFormat),
}),
new transports.File({
filename,
format: format.combine(format.json()),
}),
],
exitOnError: false,
})
Run Code Online (Sandbox Code Playgroud)
你能告诉我用 Winston 记录对象的方法吗?我使用的是 3.2.1 版
Observable类中的hide方法用于什么?我阅读了该文档,但仍然不知道它的用途是什么,我看到很多人都使用它
hide()
Hides the identity of this Observable and its Disposable.
Run Code Online (Sandbox Code Playgroud)
http://reactivex.io/RxJava/javadoc/io/reactivex/Observable.html
我们应该何时使用这种方法?
我有一个像这样的频道架构:
const channelSchema = new mongoose.Schema(
{
name: {
type: String,
unique: true
}
}
);
Run Code Online (Sandbox Code Playgroud)
这是反馈模式:
const feedbackSchema = new mongoose.Schema({
channelId: {
type: mongoose.Schema.Types.ObjectId,
ref: "channel",
require: true
}
});
Run Code Online (Sandbox Code Playgroud)
如何通过渠道名称找到反馈?
Feedback.find({channelId.name : 'something'})
Run Code Online (Sandbox Code Playgroud)
谢谢
在Java中,我可以声明这一点
private List a;
//onCreate
a = new ArrayList()
Run Code Online (Sandbox Code Playgroud)
但是在Kotlin中它显示错误,它迫使我特定一种类型
private List<String> a
Run Code Online (Sandbox Code Playgroud)
有时我不想提供类型(我不需要),但它在Kotlin中显示错误例如在Java中
public abstract class BaseActivity<T extends ViewDataBinding> extends AppCompatActivity {
//something
}
public abstract class BaseFragment {
private BaseActivity activity;
//something
}
//in kotkin I can't write
lateinit var activity: BaseAtivity //show error here (I have to specific a type but this is the base class and I do not want to specific a type here). I just want a reference of BaseActivity
@Override
public void onAttach(Context …
Run Code Online (Sandbox Code Playgroud) 我正在使用 RemixJS 制作一本故事书。尝试导入组件时出现以下错误
ERROR in ./node_modules/@remix-run/node/errors.js
Module not found: Error: Can't resolve 'fs' in '/Users/ht/Desktop/a/node_modules/@remix-run/node'
ERROR in ./node_modules/@remix-run/node/node_modules/source-map/lib/read-wasm.js
Module not found: Error: Can't resolve 'fs' in '/Users/ht/Desktop/a/node_modules/@remix-run/node/node_modules/source-map/lib'
ERROR in ./node_modules/@remix-run/node/sessions/fileStorage.js
Module not found: Error: Can't resolve 'fs' in '/Users/ht/Desktop/a/node_modules/@remix-run/node/sessions'
ERROR in ./node_modules/busboy/lib/main.js
Module not found: Error: Can't resolve 'fs' in '/Users/ht/Desktop/a/node_modules/busboy/lib'
ERROR in ./node_modules/@remix-run/node/errors.js
Module not found: Error: Can't resolve 'fs/promises' in '/Users/ht/Desktop/a/node_modules/@remix-run/node'
ERROR in ./node_modules/@remix-run/node/upload/fileUploadHandler.js 124:15
Module parse failed: Unexpected token (124:15)
You may need an appropriate loader to …
Run Code Online (Sandbox Code Playgroud) 我有一个列表,(x, y)
其中y
只能是 0 或 1 像这样
例如 :
[(3, 0), (3, 1), (5, 1)]
[(5, 0), (3, 1), (5, 1)]
[(1, 1), (3, 1), (5, 1)]
[(3, 0), (4, 0), (5, 1)]
[(5, 0), (4, 0), (5, 1)]
[(1, 1), (4, 0), (5, 1)]
[(3, 0), (3, 1), (5, 1)]
[(5, 0), (3, 1), (5, 1)]
[(1, 1), (3, 1), (5, 1)]
Run Code Online (Sandbox Code Playgroud)
如何对列表进行排序以使最多的子列表y = 0
位于顶部?
https://codesandbox.io/s/7mo0rvl971
检查这个例子。你们可以注意到我们可以点击名字,因为他们使用标签
如何点击名称并获取内容。例如,我单击单元格“John Brown”,然后返回字符串“John Brown”
我正在我的 Android 应用程序中开发一个具有干净架构的登录屏幕。
成功使用登录时,我需要将令牌保存到共享首选项。
在启动画面上,我需要检查用户是否登录
所以我的问题是哪里是完美的地方:
我应该在 LoginUseCase(域层)中保存令牌吗
class LoginUseCase(private val userRepository: UserRepository, private val schedulerProvider: SchedulerProvider) {
fun execute(username: String, password: String): Single<Token> {
return userRepository.login(username, password)
.andThen(userRepository.saveToken(.....)
.subscribeOn(schedulerProvider.getIOScheduler())
.observeOn(schedulerProvider.getUIScheduler())
}
}
Run Code Online (Sandbox Code Playgroud)
或者我应该将保存令牌作为用例并将令牌保存在演示层中
class LoginPresenter(private val view: LoginContract.View,
private val setLoginStateUseCase: SetLoginStateUseCase,
private val loginUseCase: LoginUseCase,
private val schedulerProvider: SchedulerProvider): LoginContract.Presenter {
private val compositeDisposable = CompositeDisposable()
override fun performLogin(username: String, password: String) {
if (username.isNullOrEmpty() || password.isNullOrEmpty()) {
view.onShowLoginError("Field should not be empty")
} else {
view.showLoading() …
Run Code Online (Sandbox Code Playgroud) 我在我的 Nodejs 应用程序中使用 sendGrid 电子邮件
https://github.com/sendgrid/sendgrid-nodejs/tree/master/packages/mail
基本上,当用户注册时,我会发送一封欢迎电子邮件
但是当我为用户注册编写测试时,我想模拟 sendgrid 发送函数。我怎么能开玩笑呢。或者关于如何测试注册 api 的任何建议