小花花 的个人动态
  • 小花花 回答了问题
    2个月前

    多线程是否有意义?

    在老手看来是个蠢问题,但是菜鸟提这个问题却太正常了,我当年也有过类似的疑问。目前这个问题下还没有太好的答案,我试着回答一下。

    计算机程序不论做什么事情,归根到底可以分类为“计算任务”和“读写任务”。两者使用的是计算机上的不同的资源,CPU是计算资源,硬盘、网络是读写资源。多个计算任务之间可能有顺序依赖也可能没有,把彼此之间没有顺序依赖的计算任务同时进行以缩短处理时间的做法叫做“并发(concurrency)”;当计算任务对读写任务有依赖时,不把计算资源浪费在对读写任务的等待上的做法叫做“异步(asynchronous)”。并发和异步都是单一线程无法实现的。

  • 小花花 回答了问题
    2个月前

    多线程是否有意义?

    你的问题主要在于编码不多而想得太多。

    多线程是为了解决在单一进程等待 IO 操作时 CPU 空闲的问题,以及使多道任务同时执行,但是如果没有 IO 操作,多线程不比单线程快,因为线程切换时也要占用指令周期,但是如果单线程被阻塞了,整个进程就被阻塞,如果多线程的话还又别的线程可以执行,所以进程不会被阻塞,如果在做服务器程序时应该用尽量少的线程,而不是不用多线程,在做 PC 软件时,应该充分利用多线程,以加快用户响应速度。

     

  • 小花花 提出了问题
    2个月前
  • 小花花 发布了文章
    2个月前

    多线程就一定能提高处理速度吗?

    每个程序员都知道,多线程能提高应用吞吐量和处理速度。但不是每个程序员都知道为什么?CPU 运行时,通过将于运行时间分片,通过调度来分配给各个进程线程来执行。因为时间片非常短,所以常常让人误以为是多个线
  • 小花花 发布了文章
    2个月前

    使用 Koa 开发 RESTful API 接口(二)

    在上一节中,我们演示了如何在 koa 项目中使用 REST。其实,使用 REST 和使用 MVC 是类似的,不同的是,提供 REST 的 Controller 处理函数最后不调用 rende
  • 小花花 发布了文章
    2个月前

    使用 Koa 开发 RESTful API 接口

    自从 Roy Fielding 博士在 2000 年他的博士论文中提出 REST(Representational State Transfer)风格的软件架构模式后,REST 就基本上迅速
  • 小花花 发布了文章
    2个月前

    Node中使用ORM框架Sequelize

    访问MySQL当我们安装好 MySQL 后,Node.js 程序如何访问 MySQL 数据库呢?访问 MySQL 数据库只有一种方法,就是通过网络发送 SQL 命令,然后,MySQL 服务器执行后返回
  • 小花花 发布了文章
    2个月前

    mac系统mysql设置my.cnf

    mac系统安装完mysql之后,默认没有将mysql的bin目录下的可执行文件加入到 PATH 环境变量中,所以不能再命令行下直接执行 mysql等命令。编辑 ~/.bash_profile 文件,添
  • 小花花 发布了文章
    2个月前

    Koa2使用ejs模板引擎

    在 koa2 中使用 ejs 并不需要像在 node 中一样安装了还要引用,只需要 npm 了就行,同时还需要安装 koa-views 模块。如:const views = require('koa-
  • 小花花 回答了问题
    2个月前

    在 Nodejs 中使用 MySQL 数据库的最佳实践是什么?

    1. 请一直使用 pool,没有何时。
    2. pool 在程序初始化的时候创建,无需销毁,从中抽取实例连接就行,无需关心细节,也无需手动连接和关闭。
    3. 推荐使用一个 ORM 库,例如 sequelize 之类的,很多,包括我们公司自产的 toshihiko,可以简化掉很多细节
    4. 多级连接没什么需要注意的,主要是通过内网 ip 连接,做好环境隔离,保证 mysql 服务的连接数够用,合理设置每个服务的 pool 大小。
    5. 数据库设计是门大学问,数据库优化也是门大学问,祝好

  • 小花花 发布了文章
    6个月前

    Django Ajax CSRF 认证

    CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者
  • 小花花 发布了文章
    6个月前

    Django 缓存系统

    Django 官方关于cache的介绍:https://docs.djangoproject.com/en/dev/topics/cache/Django 是动态网站,一般来说需要实时地生成访问的网页
  • 小花花 发布了文章
    6个月前

    Django 生成静态页面

    如果网站的流量过大,每次访问时都动态生成,执行SQL语句,消耗大量服务器资源,这时候可以考虑生成静态页面。生成静态很简单,下面是一个例子:只要在 views.py 中这样写就行了from django
  • 小花花 发布了文章
    6个月前

    Python常用数据结构

    常用的数据结构有表、栈、队列、树等,本文介绍它们在Python中的定义和使用情况。 表表是最基本的数据结构,python中的元组、列表等就是表的应用,它们都是一种线性的结构。常用的实现表结构
  • 小花花 发布了文章
    6个月前

    一文讲清楚 同步、异步、阻塞和非阻塞

    同步、异步、阻塞和非阻塞这些方式并不好理解,下面简单解释这些术语的概念:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用。异步:
  • 小花花 发布了文章
    6个月前

    laravel - 应用架构

    我们已经学习了通过 Laravel 构建架构良好的应用的各个方面,接下来,让我们再深入探讨一些细节。在本章,我们将讨论如何解耦各种处理器:队列处理器、事件处理器,甚至其他「类似事件」的结构,比如路由过
  • 小花花 发布了文章
    6个月前

    laravel - 目录结构

    这个类要放到哪儿?这可能是基于框架构建应用时非常常见的问题。很多开发者都会有这个疑问,因为他们被灌输了「模型」就是「数据库」这种概念。因此,在控制器里面处理 HTTP 请求,在模型类里面操作数据库增删
  • 小花花 发布了文章
    6个月前

    一个 Laravel 请求的完整生命周期

    为什么生命周期不在第一节开始讲,就怕如果不理解所谓的IoC、Facade、中间件之类的概念,生命周期理解起来可能有一定的难度。 源码剖析Laravel 应用的所有请求入口都是 public/
  • 小花花 发布了文章
    6个月前

    Contracts 契约之面向接口编程

    这一节的内容很简单。其实在我们讲依赖注入的时候已经说过了。我们再来具体解释一下。契约定义什么是契约?契约就是所谓的面向接口编程。我们拿之前的例子说如果不使用接口会有什么问题。// 文件记录日志clas
最近访客
  • 董俊俊
    董俊俊 2天前
  • shadowhung
    sha 2个月前