Not only Java
Java已经到了尽头 ...
最近这段时间,想些一些不一样的东西,但是猛然发现与Java技术相关的知识点,要么是没怎么接触的,要么是很难继续深入的,无论是从增加认知视野层面,还是加工认知深度方面,都很难做出选择,就像艺术来源于生活,同样,灵感应该来源于工作...
开始的话
其实不然,可能是由于最近大部分都在写一些前端的东西,好久没有碰Java,渐渐对其有些疏远才会有这样的感慨吧!不管是哪种编程语言,都是没有止境的,就像你学的汉语,可以说一句话,写一首诗,赋一段词,聊一个未来,作为交流的媒介,一切的可能都来源于使用它的人。
再说编程语言,你可以用C实现一个算法,同样Java也行、Js也行、Python同样...,我们总在讨论在什么场景使用什么样的编程语言,其实更贴切的应该是语言本身就具备某种环境的能力,或者就是为期而生。比如Web页面开发,JavaScript就是为此而存在;做大数据已经深度学习相关,Python早已站稳;Web应用开发Java就能提高开发效率;底层应用开发C早已扎根...
只要我们不用局限于语言本身,那么它们会为我们带来无限可能。
我们喜欢把这样外在的事务称为工具,与其说怎么使用它们,其实又何尝不是在适应它们,认识其本质,使其更有效的服务于我们。
开始
前面发了一些感慨,一方面最近这段时间对其他方面的内容产生了比较浓厚的兴趣,开始一段时间比较对桌面端应用比较感兴趣,特地花费一段时间了解了Tarui、Electron,由于之前使用Tarui写过应用,本来是想更深刻认识这块内容的,于是特定已“网易邮箱大师”作为参考,准备写一个类似的示例出来,邮箱大师单从页面呈现的功能看,觉得应该不会太复杂,无非就是一些接收邮件以及附件管理的工作,但是当你真正想做出这样一个应用时,你会发现里面有大量的知识与细节都是非常知道学习与思考的。每一个能够成为产品的应用,其整个生产与迭代的过程,必定经历过不少曲折
图片
图片
相关的技术
- 前端基于Svelte以及其构建工具SvelteKit 如果对前端了解不够深入的后端,很是推荐使用这个框架,相比Vue你会发现其更容易上手,遇到相关的问题直接看官网,相关的示例比较健全,主要是知识面不会太广,不会像其他语言一样,各种文档都要看好就,很容易产生厌倦。一般我都是写代码的时候,需要问题,直接看下解释,马上就可以看到效果
- 组件使用了skeleton
这是一个集成了tailWind与Svelte的UI工具包,页面美观,组件也足够用,同时提供了非常方便的构建方法与定制能力。当时无意间看到的这个工具,感觉整体风格比较现代化,组件也比较合胃口。tailWindCss是一套针对常用Css样式进行封装的一套UI框架,熟悉的人用非常方便,不熟悉或对CSS不太了解的,这玩意就是累赘 - 后端交互主要用到了Rust 和C语言一样,Rust比较适合写比较底层的应用,由于其高性能与安全,同时提供了非常有特殊的内存管理机制,没有java的GC,但也不像C那样完全又开发者自己进行内存控制,其特有的所有权机制,使内存管理变得更加简单和安全。但是如果你Java代码写了很久,写Rust会非常痛苦,基本每一行代码都在报错,同时非常吃电脑性能,包括存储与CPU,一个项目编译会耗费几十G的存储空间
- 最后就是主题Tauri
Tauri是基于WebView2结合前端技术来构建PC端应用程序的技术,不同于Electron,不依赖于Chrominu内核,打包后不会动辄几百兆,因为使用了性能较高的Rust,所以应用整体效果可能会更好(Electron还没怎么研究)
打开罗列了下,你会发现,要独立开发一套应用,需要掌握的知识还是非常多的,如果做好一个产品,上面的这些可能你需要精通了...
之后
因为今年AI的火爆,不管是刷抖音,看资讯,都可以看到其身影,因此也抽出了一段时间对AI绘画相关做了些了解,前面还分享过如何在阿里云上免费薅羊一套AI绘画,从零搭建属于自己的AI绘画平台,感兴趣的朋友可以往前看看,不知道现在阿里是否还可以免费试用这个服务。
提到AI绘画,如果你有些熟悉,就一定听过Midjourney与Stable diffusion,前者目前一个在线收费产品,只要交了钱,找个能上网的电脑就可以做出非常惊艳与期望的画作了,这里是不需要魔法上面的,通过Watt Toolkit、Discord两个应用就可以轻松访问,第一次看到别人的成品,真的是被惊艳到,没想到现在的AI都这么强大了(中间感觉抓时间回顾了下几年以前的Python知识)。
图片
相比Midjourney的收费(而且费用不低),Stable diffusion却友好多了,不仅免费,还是开源的,随时都可以下载到自己电脑上随意把玩,当然有些夸张了,这个非常吃电脑配置,当然关键是显卡,想我码字的这条电脑,基本玩不起来,中间折腾了一段时间就放弃了,除了电脑配置限制外,主要原因是找到了一个在线免费使用的网站(哩布里布),换句话说,免费像Midjourney一样,玩转AI绘画。
当然既然是开源的东西,一方面如果想玩转,肯定是需要很长时间的了解,如果自己搭建,相关的知识,比如Python,模型使用,模型训练,提示词,各种插件等待,都够你学一阵了。作为一个小白入局,确实比较吃力,但是确实也丰富了自己认知。
图片
上面就是别人生成的效果图,像这样漂亮的小姐姐你不仅可以随意生成,更可以按你的要求定制生成合你胃口的效果[斜眼笑]。当然最近一段时间,之前非常火爆的网站逐渐都被404大军入侵,以后想要免费的下载与分享模型,可能只有魔法才能 实现了,且行且珍惜吧...
很多知识很陌生,但是你不断摸索与探究后,你会觉得一样陌生...那么就去坚持吧
最后
完了一段时间的AI绘画后,有了难道漂亮的小姐姐,总不能不弄点花样出来吧,刚巧最近在写前端,于是乎带着那些图片,写了一些关于图片布局与效果的网站,之前发布在inscode上,还有现金补贴呢...
图片
以前一直认为Css是一门玄学,在这个示例中,尽量少用js库与代码,发现Css可以实现的效果远比我们想到的多,经过这次,不说精通Css,起码是上了很大一个台阶
像这样比较流行的瀑布流布局:
图片
这样3D效果的轮换图
图片
自然的照片墙
图片
按数学函数排列的
图片
正方体盒子
图片
像上面这样的效果,可以信手拈来。当然里面还有很多优化的,比如图片太大页面加载慢,需要图片压缩技术;图片加载形式,通过隔行扫描、分布加载等方式提示用户体验;空图占位待加载完成后替换图片等待,都是需要去了解与面临的挑战
结束语
今天没有说Java,我们学习的路上不是只有Java,编程语言只是一扇门,你在学习的时候,会发现还有很多扇窗需要我们去打开...