【轉】分享一份C語言寫的簡曆

來源:互聯網
上載者:User

標籤:

個人觀點:文章想法很棒,作者的編碼風格也很贊,可以從中學到不少東西。轉載的文章是我都用心看過的,而且希望後續再可以回過頭看的文章,努力讓自己的能力越來越強,加油

這裡駭客新聞嗎?作者用代碼更新了自己的簡曆,是不是很接地氣,特符合程式員的逼格。這是一份可讀可執行檔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 = "[email protected]";char * address = "1045 Mission St, Apt 440\n" "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\n", 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\n", started);    } else {        ti = localtime (&thing->left);        strftime (left,    100, "%B %d, %Y", ti);        printf ("%s to %s\n", started, left);    }    char ** desc = thing->description;    while (*desc) {        printf ("- %s\n", *desc);        desc++;    }}int main (int argc, char ** argv) {    printf ("%s\n%s\n%s\n\n", name, email, address);    puts ("Education\n");    school_t ** s = schools;    while (*s) {        print_thing (*s);        puts ("");        s++;    }    puts ("Employment\n");    job_t ** j = jobs;    while (*j) {        print_thing (*j);        puts ("");        j++;    }    puts ("Projects\n");    project_t ** p = projects;    while (*p) {        print_thing (*p);        puts ("");        p++;    }    return 0;}

 

編譯後,我們看到的簡曆如下

Kevin R. Lange
[email protected]
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

【轉】分享一份C語言寫的簡曆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.