摘要: popen和system问题 1. 问题描述 C的代码里面去调用命令启动一个shell脚本,分别使用了下面两个途径。 其中一个是: func1(cmd) { popen(cmd,type); pclose(); } 另一个是: func2() { system(cmd); } 其中cmd类似于“./ 阅读全文
posted @ 2018-12-12 20:55 doctorJ 阅读(1462) 评论(0) 推荐(0) 编辑
摘要: abs项目 - 战线拉的太长 “从项目中来,到项目中去”。 坑是踩不完的,尽量做到不要踩重复的坑就好。 最近的这个项目,从2016的8月份左右开始立项,一直做到2017的2月份,还是有很多的问题在继续排查。其中暴露出来不少的问题。 现在回头来看,总体来讲整个框架其实并不复杂,只是牵扯的模块太多: 其 阅读全文
posted @ 2018-12-12 20:48 doctorJ 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 向“优质码农“看齐 有本书上讲了一个意思,大概是说,一个可以用商业眼光看待自己开发的软件,思考开发需求的程序员,其价值和“等身的黄金”一样。 除了上述的“需求分析”,“市场意识”这些能力:还有一些能力也是很有优势的: 1.结果导向,加班很少,但是总能提供出有用的,简约的,稳定的“版本”; 2.耐扛, 阅读全文
posted @ 2018-12-12 20:43 doctorJ 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 项目总结(2017.9) 近期的项目以版本融合为主要节奏,后面阶段项目有涉及分布式相关的一些东西。 总结近期的项目,有下面几点做的非常有问题,后面要引以为戒。 1.需求的管理和回溯 一个版本,尤其是这种预研的平台版本,需求的来源和定义其实是比较模糊的,后期开发过程中很容易忽视了功能需求中的一些性能约 阅读全文
posted @ 2018-12-12 20:42 doctorJ 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 对SE的认识 简述 “架构师”,也就是SE,总是给外人一种比较牛逼的感觉,其实踏实做开发的真的很少关注这个title。 抛开这个名词,这个角色的存在的确有一定的意义,因为项目中需要一个能“带领大家前进的人”。 我对SE这个角色的定位就是:那个带领整个项目组前进的人。 职责 SE是需要对产品的最终竞争 阅读全文
posted @ 2018-12-12 20:41 doctorJ 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: 多进程还是多线程? 对于新的业务,是以进程还是线程的方式展开,是一个需要思考的问题。 首先,关键的一点是,进程是cpu调度和资源分配的实体,单独占用系统资源。线程共享着进程内部的资源,运行起来是cpu调度的一个基本单位。 也就是说,不同的进程按照优先级占用时间片,单独有着自己的地址空间,而一个进程内 阅读全文
posted @ 2018-12-12 20:36 doctorJ 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 软件质量规范的想法 作为一线的开发人员,确实比较容易屈服于项目中的压力,往往被迫追赶进度而舍弃部分质量标准。 开发人员应该是自己要有主见的,好的质量除了和绩效有关系,更主要的是代表一个人的水平问题。 设计阶段 明确需求的侧重点,明确产品最终的期望值,避免做的过于简单或者是过于复杂; 多个方案里面挑一 阅读全文
posted @ 2018-12-12 20:34 doctorJ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 设计的6个考虑点 之前维护固定几个模块的时候没什么认识,后来参与了几个大功能的设计和开发,觉得在动手前,下面这个几个步骤还是要考虑清楚的: 1. 问题的本质 设计的前期需要搞清楚需求的意义,使用场景,整个产品的交付后用户真正关心的是什么,用户不能接受的场景是什么。 搞清楚是什么样的用户在什么场景下用 阅读全文
posted @ 2018-12-12 20:29 doctorJ 阅读(474) 评论(0) 推荐(0) 编辑
摘要: shell文本处理工具总结 为了效率,应该熟练的掌握自动化处理相关的知识和技能,能力就表现在做同样的一件事情,可以做的很好的同时,耗时还很短。 再次总结shell文本处理的相关规则,对提高软件调试效率,加快数据处理分析都很有帮助。 Shell常用的文本处理工具,主要是4种:sed,grep,gawk 阅读全文
posted @ 2018-12-12 20:26 doctorJ 阅读(645) 评论(0) 推荐(0) 编辑
摘要: ubuntu软件管理 ubuntn下的软件包管理主要是基于dpkg和apt-get两个工具。 dpkg(debian packages),是一个底层的软件管理工具,用于软件包的安装,卸载和管理。 apt-get(advanced package tool),是一个用于管理软件的命令行工具。 dpkg 阅读全文
posted @ 2018-12-12 20:20 doctorJ 阅读(455) 评论(0) 推荐(0) 编辑
摘要: iterm2+vim 终端切换为iterm2+zsh+oh my zsh,确实好用。 I term2常用快捷键记录 新建标签:cmd+t 关闭标签:cmd+w 切换标签:cmd+数字, 切换全屏:cmd+enter 查找:cmd+f 清空分屏:cmd+r 垂直分屏:cmd+d 水平分屏:cmd+sh 阅读全文
posted @ 2018-12-12 20:16 doctorJ 阅读(2448) 评论(0) 推荐(0) 编辑
摘要: makefile规则整理 实际开发中,makefile改的多,写的少。 为了后面不要在编译链接这种地方花费太多的时间,在这里系统性的整理其规则: 基本格式 TARGET : PREREQUISITES command1 command2 ... TARGET:1个目标(.o,lable,可执行文件等 阅读全文
posted @ 2018-12-12 20:13 doctorJ 阅读(866) 评论(0) 推荐(0) 编辑
摘要: python import导入的可用模块很多,新增速度较快,无法一次性全部掌握。 掌握熟悉一种模块的方法是非常有价值的技能。 探究模块可以从python解释器入手,具体流程记录如下: 以os模块为例: 1. 在解释器中导入os模块,import os,成功表示该模块存在; 2. 用dir函数,dir 阅读全文
posted @ 2018-12-12 20:12 doctorJ 阅读(256) 评论(0) 推荐(0) 编辑