标签: 前端

  • 【转发招聘】【广州】夸克 App 前端

    【转发招聘】【广州】夸克 App 前端

    近期太忙,博客更新很少,于是流量就下降。正巧看到朋友的招聘信息,转发一下促进首页更新。


    1. 负责夸克App前端业务的开发和维护,包括但不限于搜索结果页、夸克文档等前端内容业务;
    2. 负责前端业务的架构设计工作,推进整体方案拉通及实现落地,并通过技术的手段持续改善性能和体验;
    3. 主导或参与创新产品技术方向探索和业务落地,参与到Flutter、Serverless等新技术的建设和推广落地当中。
      职位描述
    4. 2年以上工作经验,精通各种前端技术(包括HTML/CSS/JavaScript等),熟悉ES6语法,熟悉网络协议(HTTP/SSL),熟悉常见安全问题和对策;
    5. 精通主流的前端框架,如react/vue/angular等,精通前端构建工具,如 Webpack / FIS等;
    6. 熟悉nodejs 相关知识,并有express/koa等的实践经验,或有其他后端开发经验;
    7. 擅长性能优化,有架构设计能力,有过大规模复杂项目开发背景;
    8. 对前端技术有持续的热情,良好的团队协作能力,提升团队研发效率,实现极致性能,通过创新交互优化产品体验;
    9. 具备客户端能力或者Native&Web技术融合经验优先;
    10. 具备大规模/高负载场景下NodeJS应用开发、运维经验优先。

    据说上限到 P7,有股票。

    感兴趣的话联系我吧,我帮忙转简历。

  • 【视频】如何正确使用 TailwindCSS

    【视频】如何正确使用 TailwindCSS

    TailwindCSS 是一个争议很大的样式库。

    他封装了大量原子化的样式,比如 w-4,表示 width: 1remtext-gray-500,表示字体颜色为灰色500。如果我们某个节点同时需要两个样式,就是 class="w-4 text-gray-500"。极端一点的例子是这样子的:

    很明显,大家的争议点在于:

    1. 这么细碎的样式,我为什么不自己写?灵活性还高一些。
    2. 这么写跟 inline style 有什么区别?
    3. 开发一时爽,维护火葬场。

    基本上,发出这些疑问的都是前端。包括我,最初也是这样的想法。但是有一天,我要维护一个老项目,大部分组件都是现成的——引用自某个组件库,或者团队已经写好,只需要调整布局,我发现 TailwindCSS 简直是神器,太方便了。

    于是,当我反复看到大家争论该不该用 TailwindCSS 后,决定做一期视频,表达一下自己的态度:

    1. 我们做技术,要避免对一项技术做非黑即白的判断,更不应该轻易否定一项技术。同时,使用技术 A 并不代表就要拒绝技术 B。
    2. 具体到 TailwindCSS 上,使用它不代表我们从头到尾就要只能用 TailwindCSS;使用其它前端框架也不要求我们绝对不能使用 TailwindCSS。
    3. 所以正确的做法是,我们应该使用 TailwindCSS。
    4. 项目启动时,使用比较完整全面的前端框架,比如 Element UI、AntDesign,或者基于 TailwindCSS 打造的 DaisyUI;然后辅以 TailwindCSS。这样就可以同时照顾开发效率与维护效率,收获最佳效果。

    除了并不会降低开发效率之外,TailwindCSS 还有以下优势:

    1. 它跟内联样式有很大的区别,它的优先级很低,意味着我们也可以很容易覆盖、调整。
    2. TailwindCSS 样子很好看,直接能画出漂亮的界面。
    3. 基于 TailwindCSS 的代码分享很容易,只要复制粘贴 html 即可,在前端工程化日趋复杂的今天,简直是一股清流。
    4. 因为文档组织得更好,后端和其它领域的开发者也很喜欢使用 TailwindCSS 替代手写样式。

    所以无论如何,我都推荐所有团队所有开发者使用 TailwindCSS。当然,用其它原子化样式框架,比如 UnoCSS 也可以。

    如果你有其它意见和建议,欢迎提出讨论。如果你有 B 站账号,恳请三连+关注+转发,感谢。

  • 聊聊前端入门(1):HTML+CSS

    聊聊前端入门(1):HTML+CSS

    最近有一些新老同学入门前端,找我问问题,我从他们身上发现了一些共性问题,今天拿出来总结一下,希望后来者能吸取经验。

    前端三大件:HTML、CSS、JavaScript。这三位是根本,万变不离其宗,不管用多先进的技术,最终浏览器里跑的还是他们(不考虑 WASM、WebGL)。所以前端入门应该以这三种语言为基础,慢慢扩展到其它领域。

    当然有些同学可能上来就用框架,拜现代化前端技术所赐,有些同学可能完全没认真学习过这三门语言,也怼出了功能、甚至怼出了产品。但我建议,无论从上限考虑还是从下限考虑,都应该好好学习这三门语言本身。

    声明式语言

    入门一般都从 HTML、CSS 开始,因为它们很简单,简单的原因是因为它俩是声明式语言。那什么是声明式语言呢?标准定义咱们略过不谈,简单来说有两大特点:

    1. 需要什么你就写什么,需要这里有一个文字,那就写一个文字;需要有一张图片,就写一张图片。
    2. 不写的就不会出现。没有逻辑推演、计算,不会因为环境变量而有所不同,没写的就没有。

    于是它们有好处也有坏处:

    • 好处:没有心智负担,不用理解全局,就看某一行、某一段,写了就是有,没写就是没有。
    • 坏处:需要 100 个字就要写 100 个字。有 100 个元素共用一个属性,可能也要写 100 遍。

    如何学习 HTML+CSS

    有些同学上学期间学过编程,比如 C 语言、Java 语言。它们都是命令式语言,有更强的逻辑性,它们就像一本推理小说,你必须从头看到尾,不漏过一个线索,层层推理,才能得到结论。

    他们会套用自己在命令式语言方面的经验去学习 HTML+CSS,然后发现,好难……命令式语言的语法元素很少,难在组合出合适的逻辑、设计合适的数据结构。声明式语言能实现的效果总数是固定的,没有预先设计的部分,就是实现不了,谁都实现不了。但是每种效果的实现可能都是不同的,需要大量经验和记忆。用上一段的类比,声明式语言就像诗歌,甚至上一行跟下一行都没联系,但是连到一起还真有点意思。

    所以学习 HTML+CSS 就要有合适的方法。我个人的经验如下,

    1. 首先要知道

    HTML 标签 100+,CSS 属性 200+,这些都是知识性的内容,不知道就是不知道;不知道但是要用,那就做不出来。所以第一步是知道这些内容,方法大概是:

    1. 浏览文档,比如 MDN
    2. 自己实验,加深记忆和理解
    3. 跟背单词一样,要经常性重复这个过程,才能真的记住

    这个过程不需要了解的很透,重点在于知道这些标签和属性的存在,当你面对需求的时候,才会想到解决方案。

    2. 接下来要多尝试

    经常浏览 codepen.io 这样的网站,上面有很多别人做的范例,可以长很多见识,让你恍然大悟,原来可以这样做那个东西。

    同时,也可以反过来用看到的范例指导自己的学习。比如,看到一个 css 规则,这个你刚好不熟悉,就可以找来文档仔细阅读理解一下,或者在论坛上询问其他前辈。

    一段时间之后,相信你会对大部分 html、css 属性都了如指掌,看到人家的网站,也大概知道该怎么做。但是给你一个实际项目,你可能还做不出来,或者做不好。没关系,那是下一步的目标。

    3. 紧跟社区步伐

    跟其它语言不一样,声明式语言从诞生开始,语法上不会有太大变化,语法元素也很固定。升级换代主要来自增砖添瓦,即新规则、新属性。

    比如 CSS,早年我们布局只能依靠 float。很难用,有各种诘屈聱牙的概念需要记忆。后来就有了 display:flex,也就是弹性盒模型,好用的多。后来又有了网络布局。然后因为各种内部弹性外部弹性,又有了 min-contentmax-contentfit-content 等新属性。

    这些东西,很新,有时候没有办法找到合适的学习资料。于是就要紧跟社区来,通过技术账号了解到新知识,通过技术文档学习新知识。

    4. 突破自己

    自学里面,最难的一件事其实就是突破自己。就好像我今天看到一个帖子,楼主说准备找到工作后就办张健身卡去健身,然后下面一群人歪楼,说“为什么健身要办健身卡?”

    因为自己监督自己很难,自己给自己打分更难。所以学校才要安排各种考试,给学生打分,让大家知道自己的位置。

    所以,做出来自己看觉得还行,没有用。这里有几个建议:

    1. 瞄准一个产品,比如微信,做到像素级复制。可以截图然后调到 50% 透明度,叠到一起慢慢看。
    2. 选择最合适的技术,坚持到底,不要因为某些环节难以突破就乱来。
    3. 邀请比较有经验的前辈帮自己做 code review

    附加:最好找个靠谱的前辈做引路人

    (我想了想还是把这条加上。)

    互联网是个好地方,我们能免费获取几乎所有有价值的资料。但是对于 Web 开发、前端开发这种领域,长期积累的海量知识储备也可能成为大家学习的障碍——东西太多,不知道从何处下手。

    所以,有个靠谱的引路人也很重要,会帮你节省很多时间。笔者不才,亦好为人师,有需要的可以找我:

    新人常犯的错误

    新人难免会犯错,这里列举一些常见的、可以规避的问题:

    1. 沉迷细节无法自拔

    有些同学沉迷细节,喜欢抠字眼,经常会提出一些奇奇怪怪的问题。很多问题其实没有准确答案,也不需要准确答案,尤其是对于新人来说,可能三两年内都不会真的需要解决。

    尤其是 HTML、CSS,因为是声明式语言,很多时候,它们的行为就是这么设计的,不需要也没办法深究;有些设计,可能来自二十年前甚至更早,现在早已没有那个应用场景,新人难以理解也是正常的。

    所以我建议大家以记用法积累经验为主,辅以实操验证,不需要像学命令式语言那样去强迫自己理解。

    2. 遇到问题生拼硬凑

    有些同学遇到问题就发慌,然后开始百度,看到一个方案就复制粘贴试一试,能行就继续,不能行就复制粘贴下一个。结果代码就补丁摞补丁,各种解决方案混合在一起,毛病越来越多。到最后可能完全超出掌控、无法解决。

    这里大家需要明白,语言元素很多,组合方式也很多。同样的问题,可能来自不同的根源;类似的组合,也会产生不同的问题。绝大部分时候,我们都要先选择方案,然后围绕方案组织代码,解决遇到的问题。在不同方案间左右横跳,最后结果多半不是好处均沾,而是问题集中爆发。

    如果能够找到最佳实践,那就坚持。如果几个方案都差不多,那就选好一个,坚持下去。遇到问题,面对多个搜索结果,要分析它们是怎么做的,解决了什么问题,不要直接拷过来试。坚持一段时间,会有很好的结果。

    总结

    我当年也是自学成才,走过不少弯路,希望这系列分享能帮大家节省一些时间。

    有任何问题和建议,欢迎留言评论。下次聊聊 JS 方面的学习。

  • 代友招聘:北京/火币/高级前端

    代友招聘:北京/火币/高级前端

    我们想招脑子清醒,编码靠谱,能独挡一面,解决技术难题的那种。

    招高级到资深,40~50K,上不封顶。

    不加班。

    岗位职责:

    1. 负责公司产品前端的设计、架构、研发和测试工作;
    2. 参与技术方案评审、代码评审等;
    3. 负责技术调研、方案选型等;
    4. 与后端等上下游同事协作,提升用户体验,推动业务发展

    任职要求:

    1. 有5年以上的前端开发经验,扎实的编程功底,良好的设计能力和编程习惯;
    2. 有大型单页面应用开发经验,熟练掌握React前端框架
    3. 熟悉前端工程化手段,具备工程审美,掌握常用构建工具,并具备搭建完整 CI/CD 流程能力
    4. 熟悉 HTTP、WebSocket 协议,具备简单的后端开发能力,能够利用开源软件搭建开发环境
    5. 具备 WebGL、Canvas、SVG、WebAssembly 等技术经验优先,有可视化项目经验优先
    6. 保持学习状态,具备探索精神,不断接受挑战

  • OpenResty 再次开启招聘!

    OpenResty 再次开启招聘!

    以下内容来源于老板春哥,关键词:一流的技术实力研发全新的技术远程工作模式

    OpenResty Inc. 公司诚邀有追求的工程师加入我们的研发团队。

    我们的技术栈是 Nginx, OpenResty, Lua, C/C++, Perl, Python 等等。从高性能网关系统和 CDN 系统,小语言编译器的开发,再到内核开发和动态追踪,以及数据库分析和调优,还有视频生成和处理,可按能力和兴趣选择。我们有世界一流的技术实力,研发全新的技术,解决工业级别的挑战,服务全球众多企业级客户。

    工作地点不限,国家不限。我们不纠结于学历和专业,只看能力和经验。远程工作模式,自由度高。我们在深圳也有办公室。

    有兴趣的朋友欢迎发送简历至 talents@openresty.com

    详情请戳:网页链接


    另外老板说,前端也可以聊,欢迎投简历。

  • 突发招聘: Zine 诚聘 Web 前端开发工程师 全职远程

    突发招聘: Zine 诚聘 Web 前端开发工程师 全职远程

    早上刷推,看到一家全职远程公司招聘 Web 前端开发工程师,叫 Zine,做编辑器产品。心想正好可以水一篇更新,就转载一下吧。

    我跟这家公司并不熟,不过经常在 V2 上看到他们家的消息,应该还是可以的,有自己的产品,有五险一金。感兴趣、并且有定力的同学可以试一试。

    投了再说:

    hr@auramarker.com

    关于投简历的建议:

    1. 开篇写一段100~150字的自我描述,让招聘方对你有一个概括的了解。同时你会更像一个人,而不是某个数字。
    2. 针对对方的 JD 强调自己的优势,比如类似的技术背景、产品开发经验、或者深度用户
    3. 对职业经历的描述要体现自己的价值,哪怕只是参与者,不要写“负责完成领导交付的任务”

    完整的 JD 在这里:

    【全职远程】 Zine 诚聘 Web 前端开发工程师

    V2上的帖子:

    「全职远程」 Zine 诚聘 Web 前端 开发者

  • 三道前端编程面试题

    三道前端编程面试题

    面试题要有区分度。不能太容易,让对方有屈辱感(“看不起人么?让我做这个?”);也不能太难,把所有候选人都干掉,对自己的时间也是一种浪费。其实挺难选的。

    很多大公司,因为买方市场,大把候选人排队等着挑,所以干脆把面试题弄得难一些,目的是筛选,只要好的,合适不合适另说。而一些小公司,比如我厂,得到优秀简历的机会本就不多,如果因为面试题设计不好,没法很好的考察候选人的水平,或者让候选人感到不舒服拒接 offer,都是损失。

    这里分享我近期总结的三道编程题,对应初中高三档候选人,我觉得很有区分度,大家也可以试试。

    (更多…)
  • OpenResty Inc 招聘前端工程师

    OpenResty Inc 招聘前端工程师

    我们 OpenResty Inc 的中国大陆子公司诚邀前端工程师加入。希望能和对前端技术有激情,有想法,有追求的年轻人一起构建优美而强大的各种 Web 应用。不要求非得是大牛,但需要有强烈的求知欲和强大的学习能力。可以致力于 Vue、d3.js/SVG、three.js/WebGL、WebExtensions、CodeMirror 等各种技术栈的创造性的前端工作。拥有一定的美感和品味。不拘一格,喜欢挑战。曾做过酷炫的前端应用可以展示给我们。我们不纠结学历、学校和公司工作经历。远程工作模式,工作地点随意。我们会签订正式的劳动合同,会提供五险一金。会提供丰厚的美国公司的期权。对于还在学校的同学,也提供兼职职位和毕业后的转正途径(如果能胜任工作的话)。欢迎有兴趣的朋友投简历到 talents@openresty.com 邮箱,记得附上自己最酷的作品哦。

    发给我也可以 meathill@openresty.com。

  • 代友内推:【北京】【教育】【前端】【上市公司】

    朴新环球教育
    招聘前端开发工程师

    [工作职责]

    1. 负责公司业务项目(后台系统)的前端界面开发和逻辑实现;
    2. 根据产品需求,实现产品界面和交互功能,页面维护及性能优化;
    3. 负责现有产品的持续改进

    [任职资格]

    1. 2年以上Web前端开发经验,计算机相关专业优先
    2. 熟练掌握HTML5、CSS3、JavaScript、jQuery等,有较强的代码能力
    3. 熟练使用至少一种JS框架,熟练Reactjs、Angular、Vue等,能独立开发常用组件
    4. 对前端工程化、模块化开发有一定了解,熟悉 gulp, webpack等,有开发经验优先
    5. 熟悉Java,node等后端技术优先 ;
    6. 善于沟通,工作积极主动,责任心强,具备良好的团队协作能力。

    薪资open 面谈
    联系人王军武 ‭136 9100 7757‬
    邮箱 wangjunwu@pxjy.com