2020-07-18 09:19
⁄ 工业·编程
⁄ 共 971字
1. 五种I/O模型
网络编程,经常接触下述的I/O相关的概念:
同步(Synchronous)
异步(Asynchronous)
阻塞(Blocking)
非阻塞(Non-blocking)
信号驱动(Signal driven)
他们之间的关系如下图:
引用网上一个比喻:
你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下”,然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。
而异步通信机制,书店老板直...
网络编程阅读全文
2020-07-17 09:15
⁄ 工业·编程
⁄ 共 995字
1、MInGW是什么?
MinGW(Minimalist GNU for Windows)提供了一套简单方便的Windows下的基于GCC程序开发环境。MinGW收集了一系列免费的Windows是用的头文件和库文件;同时整合了GNU的工具集,特别是GNU程序开发工具,如经典的gcc,g++,make等。MinGW是完全免费的自由软件,它在Windows平台下模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好的基础支持,为了在Windows下工作的程序员熟悉Linux下的C++工程组织...
MinGW阅读全文
2020-07-16 09:09
⁄ 工业·编程
⁄ 共 899字
1.Flask
Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过
Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库
入门简单,即便没有多少web开发经验,也能很快做出网站
非常适用于小型网站
非常适用于开发web服务的API
开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和...
Django, Flask, 区别阅读全文
2020-07-15 09:25
⁄ 工业·编程
⁄ 共 30字
版本控制工具:Git
代码托管平台:GitHub,GitLab
git, 区别阅读全文
2020-07-14 05:21
⁄ 工业·编程
⁄ 共 2713字
1、GOPATH 和 GOROOT 不同于其他语言,go中没有项目的说法,只有包, 其中有两个重要的路径,GOROOT 和 GOPATH
Go开发相关的环境变量如下:
GOROOT:GOROOT就是Go的安装目录,(类似于java的JDK) GOPATH:GOPATH是我们的工作空间,保存go项目代码和第三方依赖包 GOPATH可以设置多个,其中,第一个将会是默认的包目录,使用 go get 下载的包都会在第一个path中的src目录下,使用 go install时,在哪个GOPATH...
Go阅读全文
2020-07-13 19:51
⁄ 工业·编程
⁄ 共 332字
鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;
· 网络编程方面,Go语言广泛应用于Web 应用、API应用、下载应用等;除此之外,Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。
· 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
· 分...
Go阅读全文
2020-07-12 19:39
⁄ 工业·编程
⁄ 共 4531字
1.简介
GoLand 是一款由捷克软件开发公司 JetBrains 专为 Go 开发的跨平台的商业 IDE。Goland 具有 Strong Code Insight、Navigation & Search、Run & Debug、Integration with VCSs、More than just a Go IDE 以及较强的 Extensibility,能够帮助 Gopher 轻松愉悦方便快捷地 read 和 write Go code。
JetBrains 公司出品的IDE,在业界有着良好的口碑,比如 CLion for C/C++、IntellijI IDEA for Java、PyCharm for Pyt...
Go, 软件工具阅读全文
2020-07-11 19:48
⁄ 工业·编程
⁄ 共 614字
在Linux下动态库(.so)中,通过GCC的C++ visibility属性可以控制共享文件导出符号。在GCC 4.0及以上版本中,有个visibility属性,可见属性可以应用到函数、变量、模板以及C++类。
限制符号可见性的原因:从动态库中尽可能少地输出符号是一个好的实践经验。输出一个受限制的符号会提高程序的模块性,并隐藏实现的细节。动态库装载和识别的符号越少,程序启动和运行的速度就越快。导出所有符号会减慢程序速度,并耗用大量内存。
“d...
GCC, glibc阅读全文
2020-07-10 09:50
⁄ 工业·编程
⁄ 共 3061字
Java生态体系中有三大构建工具:Ant、Maven和Gradle。其中,Ant是由Apache软件基金会维护;Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程;Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
经过几年的发展,Ant几乎销声匿迹,而Maven由于较为不灵活的配...
Gradle, maven, 软件工具阅读全文
2020-07-09 09:13
⁄ 工业·编程
⁄ 共 2215字
Eclipse是老牌的开发工具,相信早期开发android程序每一个码农都使用过这个软件,添加ADT插件之后就能开发android程序了。因为是开源的,所以开发起项目来还是倍儿爽的...直到遇到Google亲自操刀的AndroidStudio这匹黑马,曾经的王者也只能俯首称臣了!AndroidStudio从一开始就加了吸血光环,毕竟它是由开发了Android的Google亲自开发用来开发Android项目的工具,它那么强大也是理所应当的了。
Android Studio是一项全新的基于I...
Android-Studio, eclipse, 软件工具阅读全文