Linux是一个多用户的操作系统,每个用户登录系统后,有专用的运行环境;通常每个用户默认的环境变量是一样的,用户可以对修改自己的环境变量达到定制目的。环境变量是和shell息息相关的,用户登录系统就是启动了一个Shell,对Linux而言一般是Bash,可以重新设定或者切换。根据发行版本的情况,Bash有两个基本的系统级配置文件:/etc/profile、/etc/bashrc。这些配置文件包含两组不同的变量:Shell变量和环境变量;Shell变量是局部的、环境变量是全局的。
在程序真正运行在CPU上之前,必须要让OS的kernel理解我们在编辑器或者IDE里根据每种语言的语法规则敲入的源代码,kernel才能做出相关的调度,所以需要先将源代码转化成可执行的二进制文件,这个过程通常由编译器完成。有些编译器直接将源代码编译成机器码,载入内存后CPU可以直接运行。而机器码的格式与跟具体的CPU架构相关连,例如ARM CPU无法理解Intel CPU机器码。因此,同样的源代码需要根据不同的硬件进行特定的编译。高级语言转换到低级语言的桥梁就是编译器。程序员写好源代码,编译器将源码编译成可执行的机码,然后CPU读取机器码,执行程序。
工欲善其事,必先利其器。 大量的代码提交,必然会产生大量的commit log,而每一次commit是阶段性的Ending,应记录着这一阶段所完成的事以及关注点,尽可能详细具体;且提供更多的历史信息,方便快速浏览;可以过滤某些commit(比如文档改动),便于快速查找信息;可以直接从commit生成Change log。所以log的格式就是关键所在,而[Commitizen](https://www.npmjs.com/package/commitizen)可以完美的解决这些问题。
51CTO博客开发
设计模式就是一些常见问题的优秀实践,一套按面向接口严格实现的优秀方法,是经过实践认证的、高效的、解耦的解决方案。那么为什么要使用它,一个设计模式定义了一个问题、定义了一个解决方案、是经过测试的、能促进良好的设计,具有很高的灵活性和可重用性。
算法是为求解一个问题需要遵循的、被清楚地指定的简单的指令的集合。对于一个问题,一旦给定某种算法并且确定是正确的,那么重要的一步是确定该算法将需要多少诸如时间和空间的问题,也就是要分析该算法的时间复杂度和空间复杂度,时间复杂度低和空间复杂度低就代表该算法是好的,但我们要努力找到最优的算法。下面来看看最大子序列和问题的最优求解算法,用php实现了function maxSubS
利用Redis原语命令等功能来解决传统环境中碰到的一些常见问题。在这些例子中,Redis都不是作为首选数据库。显示最新的项目列表下面这个语句常用来显示最新项目,随着数据多了,查询毫无疑问会越来越慢。SELECT * FROM foo WHERE ...&
工欲善其事,必先利其器。 Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。 xdebug是一个PHP的扩展,它可以允许PHP开发者调试与分析代码,并高效的追踪错误,所以说是调试必备利器。
计算机与数学是息息相关的,计算机模型中无时无刻不体现数学的理念。例如余弦定理用来求两个文案的相似度。今天我这里解决的问题也与数学有关。实际需求是这样的,在项目当中,需要人工在百度地图中划分配送区域,要求划分出来的区域不能是杂乱无章的,即线段与线段之间不能相穿。当时接到这个需求有点懵逼,如何是好,开完会坐下来,慢慢画图发现划出的图形只要是凹凸多边形即可,突然茅塞顿开,问题迎刃而解,因为规则的凹凸多边
在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。
Mysql数值类型INT关键字后面括号内的数字指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
夜,黑的那么纯粹、黑的那么透彻,仿佛吞噬了一切,这是黎明前的黑暗,还是说---是漫漫长夜的开始。 黑夜中艰难前行,疲惫、饥饿、寒冷,步伐沉重而坚定,唯一守着自己的,是漫无边际的寂寞。醉生梦死的温床,纸醉金迷的诱惑,那是美杜莎的眼睛,一旦沉沦,便再也无法前行。抛却初心,一时的贪图,只会换来万古凄凉。宁与孤寂为伴,也不可忘却初心。孤寂只是暂时的,就像这漫漫长夜,总会到尽头,何不将初心化作一盏灯,
我想我需要光,于是便有了光。 关于nginx日志定时切割、一般有两种方案,第一用logrotate,它是一个linux系统日志的管理工具、它可以切割、压缩等其他软件的日志文件软件;logrotate是基于crontab运行的,所以这个时间点是由crontab控制的,具体可以查询 crontab的配置文件/etc/anacrontab。第二种用shell脚本定时切割。
喝再多的鸡汤也治不了你的惰性。学而不思则罔,思而不学则殆,一起来回顾吧。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号