zoukankan      html  css  js  c++  java
  • 【转】分享一份C语言写的简历

    个人观点:文章想法很棒,作者的编码风格也很赞,可以从中学到不少东西。转载的文章是我都用心看过的,而且希望后续再可以回过头看的文章,努力让自己的能力越来越强,加油

    这里黑客新闻吗?作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的C语言源文件,也是作者编码风格的体现。

    #include <stdio.h>
    #include <time.h>
    
    typedef struct {
        union {
            char * company;
            char * school;
            char * project;
        };
        union {
            char * location;
            char * url;
        };
        union {
            char * title;
            char * program;
        };
    
        time_t started;
        time_t left;
    
        char * description[];
    } thing_t;
    
    typedef thing_t job_t;
    typedef thing_t school_t;
    typedef thing_t project_t;
    
    #define CURRENT 0 /* I wasn't alive at the Unix epoch, so that'll work */ /* Contact Information */ char * name = "Kevin R. Lange";
    char * email = "klange@toaruos.org";
    char * address = "1045 Mission St, Apt 440
    " "San Francisco, CA 94103";
    
    /* Education */
    school_t uiuc = {
        .school   = "University of Illinois at Urbana-Champaign",
        .location = "Urbana, IL",
        .program  = "BS Computer Science",
        .started  = 1251158400,
        .left     = 1336608000,
        .description = {
            "Minor in International Studies in Engineering, Japan",
            "Focused on systems software courses",
            NULL
        }
    };
    
    school_t hit = {
        .school   = "Hiroshima Institute of Technology",
        .location = "Hiroshima, Japan",
        .program  = "Study Abroad",
        .started  = 1274745600,
        .left     = 1278288000,
        .description = {
            "Cultural exchange program",
            NULL
        }
    };
    
    school_t * schools[] = {
        &uiuc,
        &hit,
        NULL
    };
    
    /* Projects */
    project_t compiz = {
        .project = "Compiz Window Manager",
        .url     = "http://compiz.org",
        .title   = "Developer",
        .started = 1201392000,
        .left    = 1264291200,
        .description = {
            "Minor plugin contributor",
            "Various research projects",
            NULL
        }
    };
    
    project_t toaruos = {
        .project = "ToAruOS",
        .url     = "https://github.com/klange/toaruos",
        .title   = "Lead",
        .started = 1295049600,
        .left    = CURRENT,
        .description = {
            "Hobby x86 Unix-like kernel and userspace",
            "Advanced in-house GUI with compositing window manager",
            NULL
        }
    };
    
    project_t * projects[] = {
        &toaruos,
        &compiz,
        NULL
    };
    
    /* Employment History */
    
    job_t yelp = {
        .company  = "Yelp, Inc.",
        .location = "San Francisco, CA",
        .title    = "Software Engineer, i18n",
        .started  = 1339977600,
        .left     = CURRENT,
        .description = {
            "Developed several internal tools and libraries",
            "Provided critical input and design work for Yelp's launch in Japan",
            NULL
        }
    };
    
    job_t apple_internship = {
        .company  = "Apple Inc.",
        .location = "Cupertino, CA",
        .title    = "Software Engineering Intern",
        .started  = 1306886400,
        .left     = 1314662400,
        .description = {
            "Built software framework for testing and verification of desktop retina display modes",
            "Assisted other interns with Unix fundamentals",
            NULL
        }
    };
    
    job_t * jobs[] = {
        &yelp,
        &apple_internship,
        NULL
    };
    
    void print_thing (thing_t * thing) {
        char started[100];
        char left[100];
        struct tm * ti;
        int i = 0;
    
        printf ("%s at %s - %s
    ", thing->title, thing->company, thing->location);
    
        ti = localtime (&thing->started);
        strftime (started, 100, "%B %d, %Y", ti);
    
        if (thing->left == CURRENT)  {
            printf ("%s to now
    ", started);
        } else {
            ti = localtime (&thing->left);
            strftime (left,    100, "%B %d, %Y", ti);
            printf ("%s to %s
    ", started, left);
        }
    
        char ** desc = thing->description;
        while (*desc) {
            printf ("- %s
    ", *desc);
            desc++;
        }
    }
    
    int main (int argc, char ** argv) {
    
        printf ("%s
    %s
    %s
    
    ", name, email, address);
    
        puts ("Education
    ");
        school_t ** s = schools;
        while (*s) {
            print_thing (*s);
            puts ("");
            s++;
        }
    
        puts ("Employment
    ");
        job_t ** j = jobs;
        while (*j) {
            print_thing (*j);
            puts ("");
            j++;
        }
    
        puts ("Projects
    ");
        project_t ** p = projects;
        while (*p) {
            print_thing (*p);
            puts ("");
            p++;
        }
    
        return 0;
    }

    编译后,我们看到的简历如下

    Kevin R. Lange
    klange@toaruos.org
    1045 Mission St, Apt 440
    San Francisco, CA 94103

    Education

    BS Computer Science at University of Illinois at Urbana-Champaign – Urbana, IL
    August 25, 2009 to May 10, 2012
    - Minor in International Studies in Engineering, Japan
    - Focused on systems software courses

    Study Abroad at Hiroshima Institute of Technology – Hiroshima, Japan
    May 25, 2010 to July 05, 2010
    - Cultural exchange program

    Employment

    Software Engineer, i18n at Yelp, Inc. – San Francisco, CA
    June 18, 2012 to now
    - Developed several internal tools and libraries
    - Provided critical input and design work for Yelp’s launch in Japan

    Software Engineering Intern at Apple Inc. – Cupertino, CA
    June 01, 2011 to August 30, 2011
    - Built software framework for testing and verification of desktop retina display modes
    - Assisted other interns with Unix fundamentals

    Projects

    Lead at ToAruOS - https://github.com/klange/toaruos
    January 15, 2011 to now
    - Hobby x86 Unix-like kernel and userspace
    - Advanced in-house GUI with compositing window manager

    Developer at Compiz Window Manager - http://compiz.org
    January 27, 2008 to January 24, 2010
    - Minor plugin contributor
    - Various research projects

    原文:http://www.codeceo.com/article/c-program-notes.html

  • 相关阅读:
    NOKIA自己掌控的新的智能手机系统ASHA
    NOKIA自己掌控的新的智能手机系统ASHA
    双系统启动菜单修复工具(NTBootAutofix)v2.5.7 绿色版
    双系统启动菜单修复工具(NTBootAutofix)v2.5.7 绿色版
    如何用ghost安装双系统(WinXP+Win7)
    摄影还能这么玩!Jamie Beck创意GIF摄影
    线程知识结构概览
    window多线程操作文件
    多线程内存的表现形式
    进程的调度的理解
  • 原文地址:https://www.cnblogs.com/davygeek/p/4347044.html
Copyright © 2011-2022 走看看