小编Aar*_*lal的帖子

如何在Linux上的某个时间运行脚本?

我有一个包含特定日期和时间文本文件. 我希望能够在该文件中指定的时间运行脚本. 你会如何实现这一目标?创建另一个在后台运行的脚本(一种deamon),如果当前时间与文件中的时间匹配,则每秒检查一次?还有另外一种方法吗?这台机器是一个linux服务器,Debian wheezy.提前致谢

linux bash scripting debian

73
推荐指数
4
解决办法
14万
查看次数

TypeORM如何种子数据库

我正在使用typeorm ORM运行我的Node JS后端.

来自Entity Framework,很容易用几行代表db

Database.SetInitializer(new DbInitializer()); 
Run Code Online (Sandbox Code Playgroud)

DbInitializer类将包含所有种子信息.

是否有类似的方法在TypeOrm中播种数据库?如果没有,建议的方法是什么?

1)使用数据插入语句创建新的迁移?2)创建一个实例并保存实体的任务?

typeorm

24
推荐指数
4
解决办法
9909
查看次数

Morris js以百分比格式显示值

我正在为一个从mysql数据库中提取数据的学校项目绘制一些图表.这是我到目前为止所做的:

甜甜圈

JS代码:

Morris.Donut({
    element: 'donut-quanti',
    data: [
    {label: "USE FACEBOOK", value: <?php echo $fb_yes;?> },
    {label: "DON'T USE FACEBOOK", value: <?php echo $fb_no;?>}
    ]
    });
Run Code Online (Sandbox Code Playgroud)

条形图

JS代码:

Morris.Bar({
        element: 'bars-status',
        data: [
        {x:'RARELY',a:<?php echo $fb_rar;?>},
        {x:'EV WEEK.',a:<?php echo $fb_ew;?>},
        {x:'EV DAY',a:<?php echo $fb_ed;?>},
        {x:'MULT. TIMES PER DAY',a:<?php echo $fb_mtd;?>}                   
        ],
        xkey:'x',
        ykeys:'a',
        labels:['TOTAL']
        });
Run Code Online (Sandbox Code Playgroud)

有没有办法从javascript代码显示数值(由PHP变量$ fb_*提出) IN PERCENTAGE FORMAT (不回显php中的变量/总*100)?

javascript morris.js

10
推荐指数
1
解决办法
2万
查看次数

Sequelize实例方法不起作用

我正在尝试使用Sequelize的实例方法来验证登录尝试时的密码.我已将User模型定义为:

var User = sequelize.define('User',{
    id:{
          type:DataTypes.BIGINT,
          autoIncrement: true,
          allowNull: false,
          primaryKey:true
        },
    username:{
          type:DataTypes.STRING,
          unique:true
        },
    password:{
          type: DataTypes.STRING
        },
    ...
  },
  {
    classMethods:{
        associate:function(models){
        ...
        }
      }
  },
  {
    instanceMethods:{
        validatePassword:function(password){
          return bcrypt.compareSync(password, this.password);
        }
      }
  }
);
  return User;
}
Run Code Online (Sandbox Code Playgroud)

在我的登录路线中,我执行以下操作:

  • 1)从请求正文中检索用户名和密码
  • 2)检查数据库中是否存在用户名
  • 3)如果用户存在,则使用validatePassword方法获取用户对象并将发送的密码与数据库中的散列密码进行比较.

这是相关的代码

var username = req.body.username || "";
var password = req.body.password || "";
models.User.findOne({ where: {username: username} }).
then(
    function(user) {
     if(user){
      console.log(user.validatePassword(password));
     }
 ....
Run Code Online (Sandbox Code Playgroud)

每次我尝试登录时都会出现以下错误

[TypeError: user.validatePassword is not a function]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

node.js sequelize.js

9
推荐指数
3
解决办法
6785
查看次数

NodeJS 将 Dtos 映射到 TypeORM 实体

我有一个nodejs运行nestjs框架的REST API 后端,使用typeORM作为我的实体的ORM

来自C#/Entity Framework背景,我非常习惯将我的 Dtos 映射到数据库实体。

typeORM 是否有类似的方法?

我看过automapper-ts库,但是地图声明中的那些魔法字符串看起来有点吓人......基本上,如果我能:

let user: TypeORMUserEntity = mapper.map<TypeORMUserEntity>(userDto);
Run Code Online (Sandbox Code Playgroud)

在 nodejs/typeorm 后端环境中执行此操作的方法是什么(或任何具有相同结果的替代方法)?

dto node.js typeorm nestjs class-transformer

7
推荐指数
1
解决办法
1万
查看次数

nestjs错误处理方法是什么(业务逻辑错误与http错误)?

在使用NestJS创建API时,我想知道哪种是处理错误/异常的最佳方法。我发现了两种不同的方法:

  1. 有个别服务和验证管道throw new Error(),有控制catch他们,不是抛出适当的那种HttpExceptionBadRequestExceptionForbiddenException等..)
  2. 让控制器简单地调用负责处理业务逻辑部分的服务/验证管道方法,并抛出适当的HttpException

两种方法都各有利弊:

  1. 这似乎是正确的方法,但是,服务可以Error出于不同的原因返回,我如何从控制器中知道哪种对应的HttpException返回方式?
  2. 非常灵活,但是Http在服务中包含相关内容似乎是错误的。

我想知道,哪一种(如果有)是“嵌套js”的实现方式?

您如何处理此事?

javascript node.js typescript nestjs

6
推荐指数
3
解决办法
5210
查看次数

在 HTTP_INTERCEPTOR 中使用时,库内的 NGX Translate 会引发循环依赖错误

我有一个角度库,我在其中创建了一个LanguageModule 定义,如下所示

@NgModule({
    imports: [
      TranslateModule.forRoot({
        loader: {
          provide: TranslateLoader,
          useFactory: (createTranslateLoader),
          deps: [HttpClient]
        },
      })
    ],
    exports: [TranslateModule]
  })
  export class LanguageModule {
    public constructor(translateSvc: TranslateService, http: HttpClient) {
      translateSvc.onLangChange
        .pipe(
          switchMap((currentLang: LangChangeEvent) => zip(
            of(currentLang),
            http.get(`assets/i18n/${currentLang.lang}.json`),
          ))
        ).subscribe(([currentLang, localizations, syncfusionLocalization]) => {
          translateSvc.setTranslation(translateSvc.currentLang, localizations, true);
          setCulture(currentLang.lang);
        });
  
      translateSvc.use(translateSvc.getDefaultLang());
    }
  }
Run Code Online (Sandbox Code Playgroud)

这允许我合并库和应用程序本地化文件。

LanguageModule 在我的应用程序中,我在 main 中导入了app.module.ts,我还导入了 my CoreModule,定义如下:

@NgModule({
    imports: [
      CommonModule,
      HttpClientModule,
      BrowserAnimationsModule,
      ...
    ],
    declarations: [],
    providers: [
        ....
      // Http interceptors
      { …
Run Code Online (Sandbox Code Playgroud)

ngx-translate angular

6
推荐指数
1
解决办法
1550
查看次数

MariaDB的后续错误

我正在尝试将其设置sequelize为ORM MariaDB

这是我的设置:

var sequelize = require('sequelize');

var db= new sequelize('dbname', 'user', 'pass', {
  dialect: 'mariadb'
});
Run Code Online (Sandbox Code Playgroud)

当我运行我的应用程序时,出现以下错误:

/my/path/to/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:23
    throw new Error('Please install mysql package manually');
    ^

Error: Please install mysql package manually
Run Code Online (Sandbox Code Playgroud)

为什么sequelize尝试连接到mysql而不是我在dialect指令中指定的mariadb ?我想念什么吗?

mariadb node.js sequelize.js mariasql

4
推荐指数
2
解决办法
3572
查看次数

由 ScrollView 包装的 Nativescript GridLayout

我有一个定义如下的 nativescript xml 视图:

<Page 
 xmlns="http://schemas.nativescript.org/tns.xsd"
 xmlns:menu="components/menu"
 xmlns:header="components/header" 
 loaded="loaded">
<header:header />
<StackLayout orientation="vertical">
<ScrollView>
    <GridLayout rows="auto,auto,auto,auto" cols="auto,auto" >
        <Image      row="0" colSpan="2" src="~/img/tap.png" tap="takePicture"/>
        ...
        <TextField  row="2" col="1" horizontalAlignment="right" />
        <Button     row="3" colSpan="2" text="UPLOAD" />
    </GridLayout>
</ScrollView>
<menu:menu />
</StackLayout>
</Page>
Run Code Online (Sandbox Code Playgroud)

GridLayout 太大而无法包含在单个屏幕中,因此我将其包裹在 ScrollView 中。然而,这不起作用:我无法滚动页面,因此无法访问最后的 UI 元素,如 TextField 和 Button。我究竟做错了什么?我应该在不同的位置插入 ScrollView 标签吗?

xml nativescript

4
推荐指数
1
解决办法
2120
查看次数

NestJS创建基础CRUD服务

我正在用nestjs编写我的第一个REST API.

我有几个实体,我必须定义基本的CRUD操作.我想知道是否有一种方法来创建我可以使用的基本crud服务,以便不为所有实体重复相同的代码.在这个base-crud服务中,我将使用四个调用存储库的CRUD方法来实际执行与数据库相关的操作.

基本上我希望有一个BaseCrudService<T>而不是UserService那个extends BaseCrudService<UserEntity>.这样我可以"覆盖"派生类中的方法来执行额外的逻辑业务,而不是调用基本方法来实际插入,删除等.

可能吗?如果是这样,你会怎么做呢?

nestjs

4
推荐指数
2
解决办法
2677
查看次数

Nativescript选项卡布局方法

我正在尝试使用NativeScript创建一个具有以下布局的应用程序:

  1. 行动吧
  2. 中心的内容区域(约占屏幕高度的80%)
  3. 固定菜单底部有4个按钮

我知道NativeScript提供了一个TabView,但是这个视图将菜单置于Android应用程序版本的顶部,并且不允许将图像用作"ItemTitle".

所以(我认为)这给我留下了两个选择:

  • 创建4个不同的页面并在用户点击菜单按钮时加载它们

  • 创建一个页面并根据用户选择更改内容

第一种方法很棒,因为我将所有xml,js和css文件分开.但是,在页面之间导航可能需要一些时间,并且不能提供理想的用户体验.第二种方法可能会有更好的用户体验,但代码将很难维护.

我应该使用哪个选项?有没有人处理类似的布局? 感谢您的时间!

nativescript

3
推荐指数
1
解决办法
3113
查看次数

Nativescript android构建错误

今天突然间,我无法在{N} 2.0.1上构建我的Android应用程序

这是我在流程结束时得到的错误:

Execution failed for task ':processF0DebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/opt/android-sdk/build-tools/23.0.3/aapt'' finished with non-zero exit value 1
Run Code Online (Sandbox Code Playgroud)

是什么造成的?

nativescript

1
推荐指数
1
解决办法
396
查看次数

Nativescript类实现了observables默认的setter行为

我正在看看nativescript hello world typescript repo,我遇到了一些与nativescript实现的observable一样乏味的工作.

如果查看视图模型的定义方式,可以看到它是一个只扩展Observable库的类.无论何时setter为属性定义方法,都需要手动调用super.notifyPropertyChange("propertyName", propertyValue);

恕我直言,如果你有具有许多属性的视图模型,这个过程非常低效且容易出错.

有没有办法自动完成这项任务?(也许有一个告诉任何setter的基类notifyPropertyChange?)如果没有,你是如何处理这个问题的?该Observable机制还有其他实现吗?

typescript nativescript

1
推荐指数
1
解决办法
579
查看次数