1
2
3
4
5
6
$today = date('N'); //今天周几 https://segmentfault.com/q/1010000008845873
 
echo $mon = date('Y-m-d', strtotime("-" . ($today - 1) . "day")); //这周 周一是哪天
echo $sun = date('Y-m-d', strtotime($mon . '+ 6 days')); //这周 周日那一天
 
$start = [];
1
2
3
4
5
6
var a = ['a','b','c'];
var b = [
    {name: 'a',flag: false,},
    {name: 'b',flag: false,},
    {name: 'c',flag: false,},
    {name: 'd',flag: false,}

全排列算法

dream · 发布于 6 小时前

1
2
3
4
5
6
function swap(index1, index2) {
    tmp = arr[index1];
    arr[index1] = arr[index2];
    arr[index2] = tmp;
}
 

JS工具:reveal.js

言己 · 发布于 6 小时前

VS2013网络问题

羊爸爸 · 发布于 7 小时前

1
2
3
4
VS2013不能开启调试,不能使用数据库更改EF模型
都可以通过以下命令修复一部份问题
cmd下
netsh winsock reset
1
2
3
4
5
6
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,
 
于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
 
1
2
3
4
5
6
你不妨先思考一个问题:
在单核时代,PHP之类多线程或者多进程的,是怎么处理并发的?是排队吗?
 
答案是:的确就是排队。但是并不是一定要处理完请求1才能去处理请求2:实际上请求的处理过程中,有很多的时间是耗在IO等其他地方,这时可以切换去处理其他请求,把等待的时间可以充分利用起来,达到更高的吞吐量。切换调度的策略是线程库,或者OS实现的,由于每个进程/线程需要占用不少资源(典型的是内存,一个线程通常需要2M的栈空间),更重要的是,线程/进程切换时的开销是非常大的。
 
既然如此,为何不让线程自己来管理呢?于是大家都开始用select/poll了,由于减少了上面说到的开销,吞吐量显著提高。这就是所谓的IO多路复用。但是大家用着用着,发现并发到了一定量级又上不去了怎么办?这就是所谓的c10k problem了。

Java BiConsumer等接口的用法

arms01 · 发布于 11 小时前

ava.util.function下BiConsumer<>、Consumer接口通过accept方法完成调用

PHP给文件夹权限

羊爸爸 · 发布于 13 小时前

1
2
3
4
5
6
下面是一个Magento2的例子
    public function getBaseDir()
    {
        $uploadPath = $this->fileSystem->getDirectoryWrite(DirectoryList::MEDIA)->getAbsolutePath($this->subDir.'/image');
        //判断文件夹是否存在
        if (!file_exists($uploadPath)) {
1
2
3
4
5
6
use Magento\MediaStorage\Model\File\UploaderFactory;
use Magento\Framework\File\Uploader;
 
class Upload
{
    /**

你不知道的 JavaScript 中

猫舌 · 发布于 14 小时前

类型

JavaScript 中有七种内置类型: null, undefined, boolean, number, string, object, 其他的类型称为基本类型

变量没有类型, 只有变量的值有类型。

可以使用 typeof 运算符查看值的类型。 需要注意的是 typeof null 的结果是 object

sublime text 3 使用 livereload

zhictory · 发布于 15 小时前

  1. st3 装插件 livereload 并启用其中一个 plugins

  2. chrome 装插件 livereload

jQ index()

Starch · 发布于 17 小时前

获得被点击的 <li> 元素相对于它的同级元素的 index:

    $("li").click(function(){
        alert($(this).index());
    });

jQ 设置全选全不选

Starch · 发布于 17 小时前

        function allCheckbox(){
        var boo = true;
        $("#allCheckbox").change(function(){
            if(boo){
                $("#HistoryItem_table input[type=checkbox]").prop("checked",boo)
                boo = false;

MAC进阶:curl

言己 · 发布于 1 天前

curl

通过-o/-O选项保存下载的文件到指定的文件中:

-o:将文件保存为命令行中指定的文件名的文件中
-O:使用URL中默认的文件名保存文件到本地

atom配置文件keymap.cson中加入

'atom-text-editor[data-grammar~="html"]:not([mini])':
    'tab': 'emmet:expand-abbreviation-with-tab'

html是想匹配的文件类型

1.生成证书

https://certbot.eff.org 下载cetbot-auto,运行

1
2
3
4
1, window.open() 在safari不起作用,
        原因是       安全机制
    解决办法是在ajax请求前声明一个变量  let o = window.open('', '_blank');   ajax请求完成之后将url赋值给o   o.location = url; 
    

ejs include

白一梓 · 发布于 2 天前

1
2
3
4
5
6
  <%- include('header')%>
    <% posts.forEach(function(post) {%>
    <%- include("components/post-content",{post:post})%>
    <%})%>
    <%- include('footer')%>
    

git bash命令

dsnzts · 发布于 2 天前

1
2
3
4
5
6
1.  安装完成后,在开始菜单里找到“Git”->“Git Bash”
 
2.  git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
 
3.  cd F: (打开F盘)

前端开发体系建设日记

开发目录设计

以我个人的经验,更倾向于具有一定语义的开发概念。综合前面的需求,我为这个开发体系确定了3个开发资源概念:

模块化资源:js模块、css模块或组件

数组递归

dream · 发布于 3 天前

1
2
3
4
5
6
let data = [
    {
        checked: false,
        children: [
            {
                checked: true

python 字典比较

dream · 发布于 3 天前 1 分支

1
2
3
4
5
6
ls =  [{
    "count": 0,
    "create_time": "2017-03-22 22:00:00",
    "level": "1"
  },
  {

实现函数LazyMan

dream · 发布于 3 天前

1
2
3
4
5
6
LazyMan('Hank'); 输出
Hi Hank!
 
LazyMan('Hank').eat('dinner');输出
Hi Hank!
Eat dinner!
SegmentFault

一起探索更多未知

下载 App