Debian 爱好者社区 为您找到相关结果 860

深入学习golang — channel

. process(r) // May take a long time. <-sem // Done; enable next request to run. } func Serve(queue chan *Request) { for { req := <-queue go handle(req) // Don't wait for handle to finish. } } 我们通过引入sem channel,限制了同时多只有MaxOutstanding个goroutine运行。但是,上面的做法,只是限制了运行的goroutine的数量,并没有限制goroutine的生成数量。如果请求到来的速度过快,会导致产生大量的goroutine,这会导致系统资源消耗完全。 为此,我们有必要限制...阅读全文

博文 2021-01-25 12:39:17 博客园

十个增加 Linux Shell 脚本趣味的小工具

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你通过通知进程发送一个桌面通知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Golang常见的十大算法精简版

近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Scrapy 架构及数据流图简介

Response并通过Spider中间件(输入方向)发送给Spider处理。 Spider处理Response并返回爬取到的Item及(跟进的)的Request给引擎。 引擎将(Spider返回的)爬取到的Item给Item Pipeline,将(Spider返回的)Request给调度器。 (从第二步)重复直到调度器中没有更多地request,引擎关闭该网站。 事件驱动网络(Event-driven networking) Scrapy基于事件驱动网络框架 Twisted 编写。因此,Scrapy基于并发性考虑由非阻塞(即异步)的实现。 关于异步编程及Twisted更多的内容请查看下列链接: Introduction to Deferreds in Twisted Twisted - hello...阅读全文

博文 2017-07-23 22:56:26 debian.cn

谷歌是如何培养经理人的

做得很突出是不够的,不是每个人都适合做管理。要找到好的经理人,需要观察他们是如何与其他员工共事的,看看他们是否具备足够的灵活性并是否能够拥抱变化。要想知道一个人是否适合管理岗位,可以先分配一些小任务给他们,比如让他带实习生或者让他管理一个小项目。经过一段时间的观察后,看看他是否胜任。 培训经理人需要几个月的时间。Calderon建议这个时间不要太长,以免养成不好的习惯,只要等到他们开始理解管理者角色的时候就可以了。在谷歌,这个时间一般是三个月。Calderon说,不要在他们还没开始工作或刚开始工作时就培训他们,而是要让他们先工作几个月,让他们对工作有所了解,并经历一些挑战。到了培训阶段,不要只是纸上谈兵,而是真正赋予他们管理者的角色。 不要一开始就让他们承担太多的工作。一个经理人刚开始工作...阅读全文

博文 2017-12-24 07:31:00 debian.cn

五种绕过 Linux 命令别名的方法

或显示关于命令的信息。它带参数运行命令,会阻止 shell 函数查询或者别名,或者显示有关给定命令的信息。 方法 5 - 使用 unalias 命令的说明 要从当前会话的已定义别名列表中移除别名,请使用 unalias 命令: unalias mount 要从当前 bash 会话中删除所有别名定义: unalias -a 如果要永久删除定义的别名,则必须删除别名的定义语句,确保你更你的 ~/.bashrc 或 $HOME/.bash_aliases : vi ~/.bashrc #或者执行 vi $HOME/.bash_aliases 想了解更多信息,参考这里的在线手册,或者输入下面的命令查看: man bash help command help unalias help alias...阅读全文

博文 2018-03-08 13:33:02 debian.cn

如何在 Nginx 中配置 gRPC 的代理

Nginx 在 1.13.10 中,增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务。gRPC 服务做为一个 TCP 服务,配置方式与 HTTP/HTPTS 类似。 安装 Nginx Nginx版本要求:1.13.10+。gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式特性。所以在安装部署nginx时需要安装http/2。使用源码安装,编译时需要加入http_ssl和http_v2模块: $ auto/configure --with-http_ssl_module --with-http_v2_module 以明文的方式发布...阅读全文

博文 2018-04-20 11:03:39 debian.cn

个人信息保护新规将出台 消费者被短信轰炸将成为历史

工业和信息化部将会同相关部门尽快发布实施《移动互联网应用程序个人信息保护管理的暂行规定》(简称《规定》)。《规定》将为个人信息保护提供更加坚实的政策保障。在规的引导下,多个电商平台已经主动加强了对客户信息的保护力度。 工业和信息化部信息通信管理局的人士近日透露:“在充分吸收社会各界意见的基础上,工业和信息化部会同相关部门制定了《规定》的征求意见稿,社会各界提出了一些好的意见和建议,我们正在研究采纳。在此基础上,尽快会同有关部门发布实施。” ![个人信息保护管理](https://wpfile.debian.cn/uploads/2021/06/f676e4a616f30fb.png) 在征求意见稿中,管理部门明确了App开发运营者的信息保护义务。 《规定》要求...阅读全文

Debian 上安装搭建 Shadowsocks 服务

在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,原因是 libev 的版本是用 C 语言写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 编译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文

博文 2021-01-28 17:50:14 debian.cn

Java Annotations详解

三个编译注释,你可以使用它们来给编译器发送指令。这些注释会在稍后再做更详细的介绍。 Java注释可以在编译时(build-time)时使用,当你编译你的工程时。编译过程包括生成源代码,编译资源文件,生成XML文件(如:部署表述文件),以及将编译好的代码或文件打包成一个jar文件等。编译过程通常是由诸如Apache Ant或Apache Maven之类的编译工具自动完成的。编译工具会浏览你代码中的特定注释,并基于这些注释生成源代码或其他文件。 通常情况下,Java注释在代码编译完成后就变得不可见了。但是存在这种可能,你可以定义自己的注释,并使它们在运行时仍然可见。之后可以通过反射机制来访问这些注释来影响你的程序。 注释的基本知识 注释的简单形式如下: @Entity 字符@告诉编译器这是一个...阅读全文

博文 2013-03-02 08:04:55 CSDN博客