小编Sim*_*mon的帖子

在for循环中使用指针 - Golang

我是golang的新手,并且很难理解为什么我的代码中有一个错误而不是另一个状态.我已经有一段时间了,因为我已经覆盖了指针,所以我可能生锈了!

基本上我有一个存储库结构,我用来将一个对象存储在内存中,它有一个Store函数.

type chartsRepository struct {
    mtx    sync.RWMutex
    charts map[ChartName]*Chart
}

func (r *chartsRepository) Store(c *Chart) error {
    r.mtx.Lock()
    defer r.mtx.Unlock()
    r.charts[c.Name] = c
    return nil
}
Run Code Online (Sandbox Code Playgroud)

所以它只是将RW互斥锁置于其上并将指针添加到地图,由标识符引用.

然后我有一个函数,它将基本上遍历这些对象的一部分,将它们全部存储在存储库中.

type service struct {
    charts Repository
}

func (svc *service) StoreCharts(arr []Chart) error {
    hasError := false
    for _, chart := range arr {
        err := svc.repo.Store(&chart)
        // ... error handling
    }
    if hasError {
        // ... Deals with the error object
        return me
    }
    return nil
}
Run Code Online (Sandbox Code Playgroud)

上面的方法不起作用,看起来一切正常,但是在尝试以后访问数据时 …

pointers mutex for-loop go

15
推荐指数
2
解决办法
4704
查看次数

Laravel Elixir命令的异步执行

我在使用Laravel Elixir时遇到了一些麻烦,并按照执行的顺序进行操作.我一直被认为链接elixir调用将迫使它们同步执行但我遇到了一些问题,在某些情况下某些命令似乎没有执行或似乎执行的顺序意味着它们没有正确完成.

我的第一个问题是dependencies.jsversion()函数从未被函数版本化,直到我将这两个scripts()函数交换为圆形,因此dependencies.js第二个问题是第二个.

另一个问题是,当我通过gulp函数运行任务时,大多数时候,字体很棒的字体会被复制到构建目录中.但是,在运行时,gulp watch它们经常被省略.

我能够解决这两个问题,但我一直看到这样的小事让我觉得我并不完全理解它的执行顺序和细微之处.有谁知道我是否遗漏了明显的东西?

谢谢.

这是我的gulpfile.js代码:

mix.sass("app.scss", 'public/css/', {
        includePaths: [paths.bootstrap + 'stylesheets/']
    })
    .scripts([
        'js/app.js'
    ], 'public/js/app.js', paths.assets)
    .scripts([
        // paths.jquery + "dist/jquery.js",
        paths.bootstrap + "javascripts/bootstrap.js",
        paths.assets + "js/freelancer/classie.js",
        paths.assets + "js/freelancer/cbpAnimatedHeader.js",
        paths.assets + "js/freelancer/jqBootstrapValidation.js",
        paths.assets + "js/freelancer/contact_me.js",
        paths.assets + "js/freelancer/freelancer.js"
    ], 'public/js/dependencies.js', './')
    .version([
        'public/js/dependencies.js',
        'public/js/app.js',
        'public/css/app.css'])
    .copy(paths.bootstrap + 'fonts/bootstrap/**', 'public/build/fonts')
    .copy(paths.assets + 'fonts/font-awesome/', 'public/build/fonts');
Run Code Online (Sandbox Code Playgroud)

node.js laravel gulp laravel-5 laravel-elixir

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

Jest - 在一个测试套件中多次测试模块

我有一个TypeScript模块(应该是无关紧要的,因为我认为这也会影响JS),我正在尝试测试我拥有的模块.模块从外部文件导入大量数据,并根据变量选择应返回哪些数据.

我正在尝试运行一些测试,我更新该变量,重新require模块并在一个文件中运行进一步的测试.但我的问题是require该文件只运行一次.我猜它正在被缓存.是否有可能告诉Jest的require功能不缓存或清除测试之间的缓存?

这是我正在尝试实现的一些剥离代码:

module.ts

import { getLanguage } from "utils/functions";

import * as messagesEn from "resources/translations/en";
import * as messagesFr from "resources/translations/fr";

// Determine the user's default language.
const language: string = getLanguage();

// Set messages based on the language.
let messages: LocaleMessages = messagesEn.default;
if (languageWithoutRegionCode === "fr") {
    messages = messagesFr.default;
}

export { messages, language };
Run Code Online (Sandbox Code Playgroud)

test.ts

import "jest";

// Mock the modules
const messagesEn = { "translation1": "English", "translation2": "Words" …
Run Code Online (Sandbox Code Playgroud)

javascript typescript jestjs

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

文本加权到段落的最后一行

这是一个不寻常的一个,并且很有说服力!

我试图强制一个段落的第一行具有最少的字符数,在正常情况下它将是最后一个.这可能没什么意义,所以我会用一个例子.

文字通常是这样的格式:

Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Curabitur mollis lorem sit amet nisl
scelerisque mollis. Vestibulum tincidunt sodales
turpis quis convallis. Curabitur id diam dictum
arcu placerat lobortis.
Run Code Online (Sandbox Code Playgroud)

我希望文本格式如下:

Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Curabitur
mollis lorem sit amet nisl scelerisque mollis.
Vestibulum tincidunt sodales turpis quis convallis.
Curabitur id diam dictum arcu placerat lobortis
Run Code Online (Sandbox Code Playgroud)

如您所见,第一行是最短的一行.我试过寻找解决方案,但无济于事; 很难知道实际搜索的内容!

我假设如果有人做过这个,解决方案将是脚本而不是CSS.我通常会用PHP自己编写脚本,但想到它会伤害我的大脑!

有人有主意吗?

css php formatting text paragraph

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