小编Hen*_*nno的帖子

谁应该写测试?

如果一个人负责编写测试而另一个人负责完成测试,或者编码员和测试作者是否应该是同一个人,那么它是否更好?

tdd unit-testing

27
推荐指数
3
解决办法
2万
查看次数

将秒转换为人类可读的持续时间

我怎样才能最好地将90060(秒)转换成一串"25h 1m"?

目前我在SQL中这样做:

SELECT 
  IF(
    HOUR(
      sec_to_time(
        sum(time_to_sec(task_records.time_spent))
      )
    ) > 0, 
    CONCAT(
      HOUR(sec_to_time(sum(time_to_sec(task_records.time_spent)))), 
      'h ', 
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    ), 
    CONCAT(
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    )
  ) as time
FROM myTable;
Run Code Online (Sandbox Code Playgroud)

但我不确定这是最方便的方法:-)

我对在SQL(不同于我已经在做)或PHP中这样做的建议持开放态度.

编辑:

所需字符串的示例:"5m","40m","1h 35m","45h""46h 12m".

mysql time duration

21
推荐指数
2
解决办法
5万
查看次数

如何制作ack包括.conf文件?

如何配置ack(有时分布为ack-grep)以始终将.conf文件包含到搜索中?

grep ack

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

如何将邮件从Gmail收件箱移动到标签?

我正在尝试使用以下代码将邮件从收件箱移到已处理的标签中:

$inbox = imap_open($host,$user,$pass) or die('Error: ' . imap_last_error());

if( $emails = imap_search($inbox,'ALL') )
{
    foreach($emails as $email_number) {
        imap_mail_move($inbox, $email_number, 'Processed') or die('Error');
    }

}
imap_expunge($inbox);
imap_close($inbox);
Run Code Online (Sandbox Code Playgroud)

不幸的是,当消息获得Processed标签时,它们仍然留在Inbox中.

我怎么能让他们离开收件箱?

php gmail gmail-imap

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

如何将npm包组件与Vite + Vue结合使用?

使用 Vue 将组件作为 npm 包添加到 Vite 的步骤是什么?

我假设这些:

  1. npm install example
  2. 打开src/App.vue并添加import Example from 'example'
  3. App.vue, 在<template>, 添加<Example />

那是对的吗?

我尝试vue-select像这样安装和使用,但它不起作用: 在此输入图像描述

在此输入图像描述

vue.js vue-select vite

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

为什么触发器在使用'inserted'表中的字段时尝试插入NULL值?

我必须将MSSQL中完成的更改与远程MySQL数据库同步.要同步的更改是将发票和用户添加到系统.远程服务器不应该总是可以访问,所以我试图设置一种日志表来存储在MSSQL中完成的更改.

这是一个完全有效的触发器:

CREATE TRIGGER [dbo].[dokument_insert]
   ON [dbo].[dokument]
   AFTER INSERT
AS 
BEGIN
    SET NOCOUNT ON;
    INSERT INTO [bcg_ekodu].[dbo].[sync_stack] (event,sql, table_name, import_priority)
        SELECT 
            'INSERT',
            'INSERT INTO bills SET
                date = "'+CONVERT(VARCHAR(19),dok_kuup,120)+'", 
                total = "'+CAST(kokkusum AS nvarchar)+'",
                number = "'+RTRIM(dok_nr)+'", 
                created = "'+CONVERT(VARCHAR(19),savetime,120)+'", 
                rounded = "'+CAST(ymardus AS nvarchar)+'",
                currency = "'+CAST(valuuta AS nvarchar)+'", 
                due_date = "'+CONVERT(VARCHAR(19),tasupaev,120)+'", 
                pk_joosep = "'+CAST(dok_kood AS nvarchar)+'",
                joosep_hankija = "'+CAST(hankija AS nvarchar)+'";
             UPDATE
                bills, users, companies 
             SET 
                bills.user_id = users.id,
                bills.imported = NOW()
             WHERE
                bills.imported IS NULL
                AND companies.id …
Run Code Online (Sandbox Code Playgroud)

sql-server triggers

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

要序列化还是保留一个单独的表?

对于我来说,这个问题在很多不同的场合都有所提升,但如果没有给出具体的例子,很难解释.所以这里:

让我们想象一下,我们正在PHP/MySQL中创建一个问题跟踪器数据库.有一个"任务"表.现在,您需要跟踪与特定任务相关联的人员(已评论或未评论).当任务发生变化时,这些人将收到电子邮件.

有两种方法可以解决这种情况.一种是创建一个单独的表tasks_participants:

CREATE TABLE IF NOT EXISTS `task_participants` (
  `task_id` int(10) unsigned NOT NULL,
  `person_id` int(10) unsigned NOT NULL,
  UNIQUE KEY `task_id_person_id` (`task_id`,`person_id`)
);
Run Code Online (Sandbox Code Playgroud)

并查询此表SELECT person_id WHERE task_id='XXX'.

如果有5000个任务,每个任务平均有4个参与者(记者,任务带来的主题,求解者和一个评论者)那么task_participants表将是5000*4 = 20 000行.

还有另一种方法:在tasks表中创建一个字段并存储person_id的序列化数组(JSON或PHP serialize()).然后就不需要这个20 000行的表.

你有什么评论,你会走哪条路?

php mysql

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

标签 统计

mysql ×2

php ×2

ack ×1

duration ×1

gmail ×1

gmail-imap ×1

grep ×1

sql-server ×1

tdd ×1

time ×1

triggers ×1

unit-testing ×1

vite ×1

vue-select ×1

vue.js ×1