V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flash866
V2EX  ›  求职

求 PHP 开发工作,附代码。

  •  
  •   flash866 · 2015-02-13 11:44:21 +08:00 · 4941 次点击
    这是一个创建于 3608 天前的主题,其中的信息可能已经有所发展或是发生改变。
    年方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']);
    第 1 条附言  ·  2015-03-09 12:01:29 +08:00
    ```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 条回复    2015-02-14 20:32:32 +08:00
    fising
        1
    fising  
       2015-02-13 11:48:49 +08:00
    搭车铜球
    datatom
        2
    datatom  
       2015-02-13 11:55:25 +08:00
    在上海吗?我们公司在徐汇区漕河泾开发区,有兴趣吗?
    QQ联系吧,752348415
    zhangmaozhu988
        3
    zhangmaozhu988  
       2015-02-13 12:04:29 +08:00
    在西安吗?
    kmvan
        4
    kmvan  
       2015-02-13 12:24:15 +08:00 via Android
    这代码哪里牛?
    siri
        5
    siri  
       2015-02-13 12:26:39 +08:00
    在哪里啊。。。
    shiny
        6
    shiny  
       2015-02-13 12:31:44 +08:00
    楼主是不是以前常出没于 PHPChina 的那个 flash866?
    zhengkai
        7
    zhengkai  
       2015-02-13 13:16:50 +08:00
    楼主用过 grep 命令没……
    P2
        8
    P2  
       2015-02-13 13:24:31 +08:00
    @fising 联合创业办公社急招PHP,坐标上海静安,简历投递邮箱siqi.pan@people-squared.com。考虑不?
    P2
        9
    P2  
       2015-02-13 13:24:42 +08:00
    联合创业办公社急招PHP,坐标上海静安,简历投递邮箱siqi.pan@people-squared.com。考虑不?
    RIcter
        10
    RIcter  
       2015-02-13 13:29:34 +08:00 via iPad
    小学初中的时候玩武林外传的时候有一个玩的很好的大哥哥就叫子悟…
    心里一惊~
    fising
        11
    fising  
       2015-02-13 13:32:05 +08:00
    @P2 能给个QQ聊聊吗先
    frankzeng
        12
    frankzeng  
       2015-02-13 13:57:49 +08:00
    这代码是在access_log找一找关键词?这文件要是大了,前端会不会卡死?
    zhaobinhui
        13
    zhaobinhui  
       2015-02-13 14:28:28 +08:00 via iPhone
    顶,内存和运行时间都算了。
    raincious
        14
    raincious  
       2015-02-13 14:31:28 +08:00
    @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  
       2015-02-13 15:21:48 +08:00
    广州叫小鱼软件公司 “取暖”app,寻找靠谱php开发工程师一枚。有想法看广州的机会,找时间面聊下哦~[email protected]
    P2
        16
    P2  
       2015-02-13 15:23:19 +08:00
    @fising qq:865011120
    branchzero
        17
    branchzero  
       2015-02-13 22:27:19 +08:00
    逐行检索 access_log 啊,只是很好奇这东西用 PHP 实现实用性在哪里。。。(不过既然是DEMO就不吐槽了
    ,请无视这行。)
    代码没缩进看着好难过,下次发代码建议gist走起,这样缩进应该不会给吃掉。。。
    还有,愿意来扬州发展么?咱这里缺PHP开发者。
    有意的话带邮箱@我吧:)
    redhatping
        18
    redhatping  
       2015-02-14 07:56:32 +08:00
    要哪里的企业?地址给i个
    peterwang
        19
    peterwang  
       2015-02-14 20:32:32 +08:00
    @flash866 愿意来北京发展么?https://www.v2ex.com/t/163478
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:23 · PVG 03:23 · LAX 11:23 · JFK 14:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.