V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
flash866
V2EX  ›  求职

求 PHP 开发工作,附代码。

  •  
  •   flash866 · Feb 13, 2015 · 5854 views
    This topic created in 4097 days ago, the information mentioned may be changed or developed.
    年方32,各位无关人士请勿打击更勿鼓励。
    个人期望:合理待遇,公积金,拒外包希望做长期运营类项目。
    邮箱: [email protected]
    附刚在坛子里看到的一个腾讯圣经题,于是试着写的代码一份:
    <?
    /**
    * Tencent 圣(神)经题
    * @author 子悟
    * @description 缺陷:单线程很慢 ,不如按行读取后放入数据库,将优化工作交给数据库实现
    */
    ini_set('max_execution_time',60);
    function search($str){
    $start = memory_get_usage();
    $startTime = microtime(true);
    $fo=fopen('access_log','r');
    $lineNumber=1;
    $searchResult='';
    while($lineStr = fgets($fo)){
    //echo $lineNumber,':',$lineStr;
    //$result=strpos($lineStr,$str);
    $arr=explode(' ',$lineStr);
    $result=array_search($str,$arr);
    if($result !== false){
    $searchResult .= 'row:'.$lineNumber.',clomun:'.($result+1)."<br/>";
    }
    $lineNumber++;
    }
    fclose($fo);

    $mdiff=(memory_get_usage()-$start);
    $tdiff=microtime(true)-$startTime;
    if($searchResult){
    return $searchResult . "[$mdiff B][$tdiff ms]";
    }else{
    return 'sorry!can\'t found it!'."[$mdiff B][$tdiff ms]";
    }
    }
    /*使用方法:传key参数*/
    echo search($_GET['key']);
    Supplement 1  ·  Mar 9, 2015
    ```php
    <?
    /**
    * Tencent 圣(神)经题
    * @author 子悟
    * @description 缺陷:单线程很慢 ,不如按行读取后放入数据库,将优化工作交给数据库实现
    */
    //ini_set('max_execution_time','500');
    set_time_limit(500);
    function search($str){
    $start = memory_get_usage();
    $startTime = microtime(true);
    $fo=fopen('access_log','r');
    $lineNumber=1;
    $searchResult='';
    while($lineStr = fgets($fo)){
    //echo $lineNumber,':',$lineStr;
    //$result=strpos($lineStr,$str);
    $arr=explode(' ',$lineStr);
    $result=array_search($str,$arr);
    if($result !== false){
    $searchResult .= 'row:'.$lineNumber.',clomun:'.($result+1)."<br/>";
    }
    $lineNumber++;
    }
    fclose($fo);

    $mdiff=(memory_get_usage()-$start);
    $tdiff=microtime(true)-$startTime;
    if($searchResult){
    return $searchResult . "[$mdiff B][$tdiff ms]";
    }else{
    return 'sorry!can\'t found it!'."[$mdiff B][$tdiff ms]";
    }
    }
    /*使用方法:传key参数*/
    echo search($_GET['key']);

    ```
    19 replies    2015-02-14 20:32:32 +08:00
    fising
        1
    fising  
       Feb 13, 2015
    搭车铜球
    datatom
        2
    datatom  
       Feb 13, 2015
    在上海吗?我们公司在徐汇区漕河泾开发区,有兴趣吗?
    QQ联系吧,752348415
    zhangmaozhu988
        3
    zhangmaozhu988  
       Feb 13, 2015
    在西安吗?
    kmvan
        4
    kmvan  
       Feb 13, 2015 via Android
    这代码哪里牛?
    siri
        5
    siri  
       Feb 13, 2015
    在哪里啊。。。
    shiny
        6
    shiny  
    PRO
       Feb 13, 2015
    楼主是不是以前常出没于 PHPChina 的那个 flash866?
    zhengkai
        7
    zhengkai  
       Feb 13, 2015
    楼主用过 grep 命令没……
    P2
        8
    P2  
       Feb 13, 2015
    @fising 联合创业办公社急招PHP,坐标上海静安,简历投递邮箱siqi.pan@people-squared.com。考虑不?
    P2
        9
    P2  
       Feb 13, 2015
    联合创业办公社急招PHP,坐标上海静安,简历投递邮箱siqi.pan@people-squared.com。考虑不?
    RIcter
        10
    RIcter  
       Feb 13, 2015 via iPad
    小学初中的时候玩武林外传的时候有一个玩的很好的大哥哥就叫子悟…
    心里一惊~
    fising
        11
    fising  
       Feb 13, 2015
    @P2 能给个QQ聊聊吗先
    frankzeng
        12
    frankzeng  
       Feb 13, 2015
    这代码是在access_log找一找关键词?这文件要是大了,前端会不会卡死?
    zhaobinhui
        13
    zhaobinhui  
       Feb 13, 2015 via iPhone
    顶,内存和运行时间都算了。
    raincious
        14
    raincious  
       Feb 13, 2015
    @zhengkai

    PHP用grep?而且其实grep是类Unix Only的,让Windows用户咋办?

    如果是preg_grep,得先把整个文件读成字符串。如果文件太大直接就爆了。如果一行一行调用preg_grep,估计比explode+array_search快不了多少。

    我就想知道为什么不用strpos?

    另外为什么要ini_set('max_execution_time', 60);?set_timeout_limit比它短多了。

    $lineNumber++改成++$lineNumber。虽然基本没有优化作用,但得养成好习惯。
    leeloo
        15
    leeloo  
       Feb 13, 2015
    广州叫小鱼软件公司 “取暖”app,寻找靠谱php开发工程师一枚。有想法看广州的机会,找时间面聊下哦~[email protected]
    P2
        16
    P2  
       Feb 13, 2015
    @fising qq:865011120
    branchzero
        17
    branchzero  
       Feb 13, 2015
    逐行检索 access_log 啊,只是很好奇这东西用 PHP 实现实用性在哪里。。。(不过既然是DEMO就不吐槽了
    ,请无视这行。)
    代码没缩进看着好难过,下次发代码建议gist走起,这样缩进应该不会给吃掉。。。
    还有,愿意来扬州发展么?咱这里缺PHP开发者。
    有意的话带邮箱@我吧:)
    redhatping
        18
    redhatping  
       Feb 14, 2015
    要哪里的企业?地址给i个
    peterwang
        19
    peterwang  
       Feb 14, 2015
    @flash866 愿意来北京发展么?https://www.v2ex.com/t/163478
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 88ms · UTC 21:23 · PVG 05:23 · LAX 14:23 · JFK 17:23
    ♥ Do have faith in what you're doing.