Chinaunix首页 | 论坛 | 博客
  • 博客访问: 566988
  • 博文数量: 99
  • 博客积分: 3976
  • 博客等级: 中校
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-15 15:48
文章分类
文章存档

2009年(1)

2008年(5)

2007年(31)

2006年(58)

2005年(4)

分类: LINUX

2007-08-10 18:01:45

   不知不觉三个月过去了,时间过的真的很快,我也学到了不少东西,在公司工作的日子里,没有伤心的时候,真感觉到了曹工说的:"快乐沟通,快乐团队"这两个词.只要大伙多交流很多问题都会解决的.
   
   描述问题要比解决问题还要困难:
 
      这个是曹工经常说的话,当我们在工作中遇到问题的时候,总是想着如何去解决问题,当把问题反映给总工的时候,他会说:"先不要着急去解决问题,写个文档,把问题描述清楚,找到点.",的确,很多时候我们自己可以理解到哪里的问题,但是却很难描述得让别人完全明白,这个就是要不断的去沟通,不段的去交流.
 
   学习到了什么叫产品:
 
      做产品与做项目果然不一样,很多细节,很多事情都不同.总工经常说的一句话:"做一个产品真是太不容易啦~~~~!",我不是总工,但是我这三个月我真的知道了点什么似的,的确是有点不容易,很多问题是我以前没有考虑到的,来到公司后学到了.
 
   配置文件很重要,你们的代码我不看都知道写的不好:
 
      真是像总工所说的,我们写的代码他不看都知道写得很垃圾,5月,6月份刚来公司时写的代码,现在对我来说,真的就是垃圾代码.经过多次教训,学会了用配置文件,刚刚接触写软件,为了修改起来方便,配置起来方便,我接受了读取配置文件,写配置文件.例如我们在代码中,用的GPRS模块里,Wavecom的模块,多数默认比特是115200,但是有些可能是有问题的,可是改成9600又可以正常使用,所以,这个时候如果去改代码的话会很麻烦,总不可能去用户面前修改编译源代码吧!这个时候配置文件就会起到很大的作用,只要用串口连到终端机上,然后修改conf文件就可以作到了.配置文件真的很有趣,得多学学,看了看apache的源代码,想到了其中的一个实现,正好被我用上了,嘿嘿:
 
 
 

#include <stdio.h>
#include <string.h>

int main(int argc,char **argv)
{
    FILE *fp;
    unsigned char inbuf[512]={0,};
    unsigned char *a="somename=";
    fp=fopen("/tmp/configfile.conf","r");

    /*open file faild*/
    if(fp==NULL)
    {
        printf("error\n");
    }
    else
    {

        /*read file*/
        while(!feof(fp))
        {
            fgets(inbuf, sizeof(inbuf), fp);

            /*if the first char is '#' or '\n',go on to next loop*/
            if (inbuf[0] == '#' || inbuf[0] == '\n')
            {
                continue;
            }
            else if(strncmp(inbuf,a,strlen(a))==0)
            {
                    sscanf(inbuf,"thisisliuqi=%s\n",inbuf);
                    printf("%s\n",inbuf);
                    break;
            }
            else
            {
                continue;
            }
            
        }
    }
    return 0;
}

[root@test1 code]# ./get
jssssssssssssssss
[root@test1 code]# cat aaaa.txt
#dfkljghsdfjhgkljdfhklghdfkghkdfjg

#dfklghdfkjghkdflhgkldfhgkhjdf
sdfgsdfthisisliuqi=jsjsjsjsjsjsjs
thisisliuqi=jssssssssssssssss
#dfdfsg
[root@test1 code]#

 

虽然代码还有很多不足,但是比以前好多啦.学到了方便的东西,值得啦,不求马上成为高手,每天进步一点就可以了,跟CU里那种读ini文件的大手笔可查太远了.

 

没有问题就是最大的问题,没问题会死人的:

      仔细想想,在研发产品的过程中怎么会没有问题呢,问题肯定会有的,不论大问题还是小问题,都要提出,并且做个总结,这样,以后大伙交流,相互学习,相互吸取经验,才会有发展;研发产品过程中没有问题比较可怕,怕的不是别的,就是在用户那里出现问题.

 

记录一个师傅给提的问题:

 

 

 

#include <stdio.h>
#include <string.h>
#include <time.h>

char *gettime(void)
{
    char *month[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
    char *monthnumber[]={"01","02","03","04","05","06","07","08","09","10","11","12"};
    char *strdate[]={" 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9"};
    time_t thetime;
    int i=0;
    thetime=time(NULL);
    char timeview[30];
    char timestr[9]={0,};
    char monmon[4]={0,};
    char strstr[3]={0,};
    sprintf(timeview,"%s",ctime(&thetime));
    sprintf(strstr,"%c%c",timeview[8],timeview[9]);
    sprintf(monmon,"%c%c%c",timeview[4],timeview[5],timeview[6]);
    sprintf(timestr,"%c%c:%c%c:%c%c",timeview[11],timeview[12],timeview[14],timeview[15],timeview[17],timeview[18]);
    for(i=0;i<12;i++)
    {
        if(strcmp(month[i],monmon)==0)
        {
            strcpy(monmon,monthnumber[i]);
            break;
        }
    }
    for(i=0;i<10;i++)
    {
        if(strcmp(strdate[i],strstr)==0)
        {
            strcpy(strstr,monthnumber[i]);
            break;
        }
    }
    sprintf(timeview,"%c%c%c%c-%c%c-%c%c %s",timeview[20],timeview[21],timeview[22],timeview[23],monmon[0],monmon[1],strstr[0],strstr[1],timestr);    
    return timeview;
}

 

上面的代码不是用垃圾就可以形容的,不过勉强按照自己的设想的结果把他实现了,被批评了,不过值得,因为学到东西了.

3个月,学到了好多,认识了很多朋友,虽然有的时候有些新来的兄弟很气人,但是可以理解,毕竟刚刚毕业,依赖性还没有减少,慢慢就会好了.

 

阅读(1900) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~