找工作失败,推广一下自己的开源框架吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sepping
V2EX    开源软件

找工作失败,推广一下自己的开源框架吧

  •  
  •   Sepping 2019-07-19 03:40:54 +08:00 5211 次点击
    这是一个创建于 2345 天前的主题,其中的信息可能已经有所发展或是发生改变。
    30 条回复    2019-08-11 11:36:29 +08:00
    div id="r_7641479" class="cell">
    Sepping
        1
    Sepping  
    OP
       2019-07-19 03:41:48 +08:00
    有点失落,准备回家咯~不过还是想让自己做的东西见见光,可能也有长期发展这个框架的打算。本人菜鸟一枚,欢迎各种建议。

    aHR0cHMlM0EvL2dpdGh1Yi5jb20vU2VwaW5nL0pRTA==

    主要功能:这是一个可以让你用 Java 8 以上的方法引用来写 SQL 的框架。例如,假如你要写一句 SQL:SELECT * FROM user WHERE user.name = "John"

    你可以这样来写:JQL.from(User.class) .where((root1, conditionChain) -> { return conditionChain .equal(root1.getAttribute(User::getName), "John"); }); 其中,User 是 user 表对应的实体类,有 get/set 方法。

    为什么要用“方法引用”呢?我只能说,初衷是为了能用 IDE 里的自动提示……

    部件构成:1、实体类 需要在类上标注 @Table 注解,表明这是与数据库表对应的实体类。实体类须有 get/set 方法,在 get 方法上可以用 @Column 注解标明该字段的特殊功能(插入时写默认值,逻辑删除标识等等)。

    2、实体类解析器 实体类需要经 EntityResolver 解析,得到实体类的通用抽象 Entity<t>,并存放于 EntityRepository 中。 我默认提供了一个用 ASM 解析的解析器,AnnotationBasicASMResolver。</t>

    3、JQL JQL 就是用来写 SQL 的类了。很抱歉,目前只支持 SELECT 语句和 MySQL 的部分语法。。。

    4、执行 SQL 在接口 SQLExecutor 中实现,查询结果以 List<CompositeEntity<t>>返回。</t>

    5、结果 结果封装为 CompositeEntity<t>的形式。CompositeEntity 是根据查询语句的 join 来封装的,例如,对于以下查询:SELECT * FROM user JOIN city ON city.name = user.city WHERE user.name = "John" 然后,得到了一个 CompositeEntity<user>对象 userResult,你可以用 userResult.getJoinEntities(City.class)来获得这条 user 关联的所有 city。 我默认提供了一个较为简陋的实现。</user></t>

    再杂谈一下吧。这个框架的具体实现其实很早就做出来了( master )分支,但是发现想扩展一个功能时存在了困难,就着手改造,把部件全部抽象化接口化。这才发现接口化、定义规范是最难的事情。当然,目前的组件结构我也不是很满意,主要在于复合条件链( ConditionChain )这个地方。有兴趣的大佬可以去看看代码,指点迷津一下。

    以上,觉得有意思就 star 一下吧~
    Sepping
        2
    Sepping  
    OP
       2019-07-19 03:45:06 +08:00
    真对不起各位!第一次再 V2EX 发帖不知道要用 base64,用了 base64 从记事本里拷文本的时候又没发现排版已经乱了。。。
    Pyjamas
        3
    Pyjamas  
       2019-07-19 06:52:48 +08:00
    建议搞清楚为什么用 base64...
    zvcs
        4
    zvcs  
       2019-07-19 07:03:26 +08:00 via iPhone   6
    我感觉那个人又要来了.....
    alw
        5
    alw  
       2019-07-19 07:30:37 +08:00
    PS:你可以给你的帖子 append,再发一下内容。
    nvioue
        6
    nvioue  
       2019-07-19 07:35:43 +08:00
    所以找工作失败什么情况
    lhx2008
        7
    lhx2008  
       2019-07-19 08:29:44 +08:00
    Jooq 了解一下
    breezeFP
        8
    breezeFP  
       2019-07-19 08:53:57 +08:00
    #7 我也想推荐来着,被你抢先了
    Sepping
        9
    Sepping  
    OP
       2019-07-19 13:43:04 +08:00 via iPhone
    @lhx2008 是,有参考过 Jooq。不过我觉得我的做法更有意思哈哈
    Sepping
        10
    Sepping  
    OP
       2019-07-19 13:43:35 +08:00 via iPhone
    @Pyjamas 防广告吗?
    Sepping
        11
    Sepping  
    OP
       2019-07-19 13:44:08 +08:00 via iPhone
    @zvcs 谁呢
    Sepping
        12
    Sepping  
    OP
       2019-07-19 13:45:03 +08:00 via iPhone
    @nvioue 投简历内推都少有回应,唯一有回应的一个昨天电话面试感觉凉了
    Sepping
        13
    Sepping  
    OP
       2019-07-19 13:56:16 +08:00 via iPhone
    @breezeFP 老哥,这不冲突吧……?
    breezeFP
        14
    breezeFP  
       2019-07-19 14:00:58 +08:00
    看清楚,我说的是 7 楼,没说你,这不冲突吧......?
    Sepping
        15
    Sepping  
    OP
       2019-07-19 14:14:30 +08:00 via iPhone
    @breezeFP 我理解错了,sry
    cominghome
        16
    cominghome  
       2019-07-19 14:36:48 +08:00
    orm ?
    Sepping
        17
    Sepping  
    OP
       2019-07-19 15:22:34 +08:00
    @cominghome 不知道能不能算 orm,因为很多东西都没加进去,事务控制之类的
    sarices
        18
    sarices  
       2019-07-19 15:27:03 +08:00
    放个 base64 出来让人去 star?
    Sepping
        19
    Sepping  
    OP
       2019-07-19 15:32:21 +08:00
    @sarices = = 啥意思呢……我没有骗 star 的意思啊
    glaucus
        20
    glaucus  
       2019-07-19 15:35:12 +08:00
    URL 干嘛要 BASE64。。。又不是你的个人信息
    AND 我曾经找不到工作待业 3 个月,是我人生总最灰暗的日子,所以 LZ 一定不要气馁,坚持下去~有时候并不是你不够优秀,而是你差一点运气。
    Sepping
        21
    Sepping  
    OP
       2019-07-19 15:39:41 +08:00
    @glaucus 因为我刚发帖的时候有 30 天注册限制,把 URL 换成 base64 才能发出来。
    很感谢你的鼓励,只是现在没钱交房租了……想着如果干不了程序员这行了,也可以继续发展这个框架,所以壮着胆子来这里宣传了一波
    sarices
        22
    sarices  
       2019-07-19 15:40:12 +08:00
    @Sepping 让人 star,就是来推广,但是故意设门槛?不是自相矛盾?
    Sepping
        23
    Sepping  
    OP
       2019-07-19 15:42:47 +08:00
    @sarices 我有 30 天限制,没法直接发 URL
    glaucus
        24
    glaucus  
       2019-07-19 15:45:02 +08:00
    @Sepping #21 别这样想,我当初也是交不起房租,还有花呗要换,幸好和我哥一起租的,他能帮我兜着点房租,不然我都快去要饭了,最艰难的时候不愿意找家里要钱,靠卖之前的电子产品过下去,一天只花 10 块,也想过接收朋友介绍的其他行业的工作,甚至是当服务员暂时解决生计,最后还是坚持下来了,在这个阶段往往容易怀疑自己,不过还是我想说的,你不是不够优秀,你只是差点运气而已,回家好好休息一下,重新整装待发,坚持下去,以后你会感谢当初坚持的自己。
    Sepping
        25
    Sepping  
    OP
       2019-07-19 15:50:24 +08:00
    @sarices 另外比起 star,我更希望有人能看看代码给点意见。目前这个框架离能让人使用还很远,能让人用了自然 star 不会少,现在拿一两个 star 没啥意思
    Sepping
        26
    Sepping  
    OP
       2019-07-19 15:52:51 +08:00
    @glaucus 借你吉言了,希望能和你有一样的好运
    Sepping
        27
    Sepping  
    OP
       2019-07-19 15:55:12 +08:00
    @alw 唉,很怕会变得更乱啊……
    Samuelcc
        28
    Samuelcc  
       2019-07-19 21:40:59 +08:00 via Android
    觉得 jooq 已经比较完整了吧
    Sepping
        29
    Sepping  
    OP
       2019-07-20 09:44:20 +08:00
    @Samuelcc 另一种思路吧
    enen123456789
        30
    enen123456789  
       2019-08-11 11:36:29 +08:00 via Android
    哪个城市啊?一年经验真的这么难嘛,焦虑
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2576 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 13:01 PVG 21:01 LAX 05:01 JFK 08:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86