前言
今天蓝景技术团队将要和大家探讨一个话题:如何借助人工智能辅助前端学习。实际上,这个主题也可以被描述为“如何正确看待人工智能”、“如何更好地使用人工智能”等等。2023年是人工智能元年,GPT模型的迭代使全世界为之关注和震撼。甚至国内低调多年的“文心一言”也在这个时间点发布了,尽管它还不成熟,尽管在国内引起了一些争议声音。可见国外的AI模型、AI生态衍生出来的工具、AI的相关知识等等,都已经在成熟度和可靠性上到达了一个新的高度,国内其实也早已嗅到了“AI革命”的气息。所以此时此刻,我们已经无法逃避或忽视AI的到来,如果你也是一位对AI充满着浓厚的兴趣或者惆怅于自己的工作效率低下,那么,接下来分享的一些“AI使用之道”将会对你有大大的帮助和提升!
现阶段的AI能力
我们要想用好AI,首先要了解AI。现今世界上流行着非常多的机器学习框架,如Google的TensorFlow、除此之外还有GPT4的基础训练框架PyTorch,除此之外还有Keras、Scikit-learn等等。这些工具都提供了丰富的机器学习算法和模型,可以帮助开发者快速构建和训练自己的AI模型。那么现如今所谓的AI模型,基本都是基于Transformer的,只要喂给它的数据足够庞大,背后的算力足够强大,那么,它就足够的强大,再加上人为的偏好纠正,使其更像一个“符合我们需要的人”。也就是说,AI其实也像一个小朋友,你可以大量的教会他画画的知识技能,那么它就是一位强大的“设计师”、“建筑师”、“插画师”等等。而如果你喂给它的是你们家产品白皮书,产品文档、技术文档,那估计它会比你还熟悉自家产品,是一位非常可靠的“客服”,乃至“公司百事通”。而假如把你毕生的开发项目经验,技术思维,传授给它,虽然说暂时还不能完全替代真正的程序员,但至少,它可以成为你的可靠帮手。
AI工具的选择
所以,可以看出现在的AI,其实本质上就是一个“对话式生成内容的工具”,即使时而会“胡说八道”,但时而回答的内容逻辑的严谨性却让人发指,都取决于背后的模型是否“训练有素”。所以,在AI工具上,根据行业的不同或需求的不同,我的建议是择优汰劣。我把主流的几大需求划分成以下几类,并各自描述对应的工具。
前端设计相关
● 全网推荐的MidJourney
https://www.midjourney.com/

● 开源的Stable Diffusion 2.0
https://stability.ai/

● 非常强大的Adobe Firefly 萤火虫
https://www.adobe.com/sensei/generative-ai/firefly.html

前端笔记PPT等相关
● office 365 copilot
https://www.microsoft.com/en-us/microsoft-365

● 强力推荐的Notion AI,一款轻便且集成GPT3.5模型的协作写作工具
https://www.notion.so/

更多notion相关的使用教程和技巧,大家一定要关注我们的官方公众号和抖音官方号
前端编程相关
● GitHub Copilot
https://github.com/features/copilot

● 不能少的白嫖chatGPT 3.5 or 4 (有钱的主可选)
https://chat.openai.com/chat

这里,尤其要说一下,ChatGPT的出现,其实更多的是释放了低廉的劳动力,请看一下我这个基于GPT3.5模型的代码生成过程:

可以看到,它完全可以作为一位高级搜索工具或者说,是一位初学好导师,它除了提供手册上的API查询,还能通过你的直接问题,继续提供增量功能代码。

还可以让它帮你整合进完整代码中,让你好像跟着一位老师傅学习一般。

最后还可以让它输出为html页面,让你可以直接在浏览器运行。
如何更好的操控AI
前面我们说过了,这种“对话式生产内容”的过程,重点在于“提问”,那如何更好地提问呢,我也给大家收集了一下材料和网站,大家可以从这里面去持续学习,也可以通过自己的深入实践工具使用,总结出一些自己的心得,从而更好的操控这位“自由而强大的”帮手。
● ChatGPT 中文调教指南
https://github.com/PlexPt/awesome-chatgpt-prompts-zh
● MidJourney的关键词大全
https://github.com/willwulfken/MidJourney-Styles-and-Keywords-Reference
● Stable Diffusion的作品分享学习平台
https://civitai.com/
总结思考
其实大家有没有发现,以上说的的过程其实都是一个“对话式生成内容的过程”,无非就是text、img和video三者的互相换转,那现阶段最多的应该还是text2Any,也就是只有把prompt提示词描述得足够详细,甚至有严格的结构要求,才能尽可能让AI生成你想要的东西。
但大家是否有想过,这种场景在学习等不需要非常严谨的情况下,是完全可以满足的,但如果真的要放到一个生产环境中,且真的甲方客户提出来的需求,并不是一两句描述得清楚,甚至甲方爸爸都不知道自己要什么 ,这个时候,你就会发现AI的“无能”,所以AI至此还是一个高阶工具而已,善于用技术武装自己,而不是替代自己。
因此大家不必为了AI的出现变得这么焦虑,当然如果你不提升自己的能力,始终有一天会被替代掉,所以小蓝在这还是要建议大家,想要减少焦虑你能做的就是不断提升自身的能力,才不会有被淘汰的焦虑出现,因为这才是真正的核心竞争力!AI它可以做得更多的是提高你的工作效率而已。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我在开发的Rails3网站的一些搜索功能上遇到了一个小问题。我有一个简单的Post模型,如下所示:classPost我正在使用acts_as_taggable_on来更轻松地向我的帖子添加标签。当我有一个标记为“rails”的帖子并执行以下操作时,一切正常:@posts=Post.tagged_with("rails")问题是,我还想搜索帖子的标题。当我有一篇标题为“Helloworld”并标记为“rails”的帖子时,我希望能够通过搜索“hello”或“rails”来找到这篇帖子。因此,我希望标题列的LIKE语句与acts_as_taggable_on提供的tagged_with方法
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为