小编War*_*tto的帖子

gitignore按文件大小?

我正在尝试实施Git来管理创意资产(Photoshop,Illustrator,Maya等),我想根据文件大小而不是扩展名,位置等从Git中排除文件.

例如,我不想排除所有.avi文件,但在随机目录中有一些大量的+ 1GB avi文件,我不想提交.

有什么建议?

git configuration blob gitignore large-files

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

单击Safari 5.1选择菜单刷新页面

这既是一个问题,也是一个答案.我今天遇到了一个错误,我多年来从未见过作为网络开发人员,所以我想与将来可能会遇到这个问题的任何人分享这个问题.我也很好奇是否有其他人经历过它,以及是否有已知的原因.

该问题仅适用于Mac上的Safari 5.1.单击选择下拉菜单后,页面将完全刷新.经过几分钟的调试,我得出结论,这个错误是由......等待...在选择框上放置一个css边框.(border:1px solid #ccc;)

WTF?

显然,Safari的渲染引擎不喜欢那种风格,它只是整个页面的核心.它只有Safari 5.1(5.0.3很好)并且仅在Mac上.

在我公司的多个应用程序中,它可以100%重现.但它不是普遍可重复的100%,这意味着我不能只是去任何随机网站并触发它.它必须是css规则或html标记的某种组合才能触发它.

有没有人见过这个?有什么具体条件可能导致它的任何见解?如果没有,哦,好吧.我会把它归结为一个浏览器错误,并留下这篇文章给其他开发人员找到他们遇到同样问题的时间.

css safari macos select refresh

16
推荐指数
2
解决办法
3651
查看次数

将数据从MVC Controller传递到PHP中的View

对于我正在研究的一些项目,我有自己的手动PHP MVC框架.当我第一次创建框架时,它是在构建管理CMS的上下文中.因此,模型,视图和控制器之间存在非常好的一对一关系.数据库中有一行,它映射到单个模型.控制器加载模型并将其传递给要渲染的视图(例如进入编辑表单).很好,干净,容易.

但是,现在我正在网站的前端工作,事情变得棘手了.页面并不总是单个模型的视图.它可能是一个包含20个用户的用户目录(每个用户模型).此外,可能存在关于请求的元数据,例如分页(当前页面,总页数,结果数量)和/或搜索查询.

我的问题是,将所有这些数据传递给视图的最简洁方法是什么?

我正在考虑的一些选择:

  • 让控制器创建一个数组并将其作为单个参数传递给视图:

    class UserController{
    
        public function renderView(){
    
            // assume there's some logic to create models, get pagination, etc.
            $data = array()
            $data['models'] = $models; 
            $data['currentPage'] = $current;
            $data['totalPages'] = $total;
            return $view->render($data);
        }
    }
    
    class UserView{
        public function render($data){
            // render the data
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在视图类中创建属性并让控制器填充它们:

    class UserView{
        public $models;
        public $currentPage;
        public $totalPages;
    }
    
    class UserController{
    
        public function renderView(){
    
            // assume there's some logic to create models, get pagination, etc.
            $view = new UserView();
            $view->models …
    Run Code Online (Sandbox Code Playgroud)

php model-view-controller controller view

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

为什么UnderscoreJS使用toString.call()而不是typeof?

在UnderscoreJS的引擎盖下,我看到:

  _.isFunction = function(obj) {
    return toString.call(obj) == '[object Function]';
  };

  _.isString = function(obj) {
    return toString.call(obj) == '[object String]';
  };

  _.isNumber = function(obj) {
    return toString.call(obj) == '[object Number]';
  };
Run Code Online (Sandbox Code Playgroud)

这似乎是一个奇怪的选择.为什么不使用typeof来确定值是字符串,函数还是数字?使用toString是否有性能提升?旧浏览器不支持typeof吗?

javascript underscore.js

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

MySQL性能:使用GROUP_CONCAT进行单个查询,还是两个单独的查询?

我有一个MySQL数据库,其中每个用户都有一个帐户,每个帐户可以拥有多个权限.

我的最终目标是以帐户的用户名和逗号分隔的权限ID列表结束.我有两种方法可以做到这一点:

SELECT a.username, GROUP_CONCAT(rp.permission_id) as permission_ids
FROM account AS a
JOIN role_permission AS rp
ON rp.role_id = a.role_id
WHERE a.id = 1902
Run Code Online (Sandbox Code Playgroud)

... 要么 ...

SELECT username
FROM account
WHERE id = 1902;

SELECT permission_id
FROM account_permission
WHERE account_id = 1902
Run Code Online (Sandbox Code Playgroud)

使用单个查询,我可以完全按照我的要求获得结果.有了两个查询,我必须使用第二个结果集在应用程序(PHP)中创建逗号分隔的列表.

是否有任何性能原因不选择第一个选项?我之前从未使用过GROUP_CONCAT,所以我不知道它的含义,性能方面.

mysql performance group-concat

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

开发时禁用MAX_WRITE_OPERATIONS_PER_HOUR

有没有办法在开发过程中禁用Chrome存储的MAX_WRITE_OPERATIONS_PER_HOUR设置?我现在完全被阻止,因为我在测试新功能时达到最大值.真的很令人沮丧.

google-chrome-extension

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