ARTS 打卡 第一周,初试ARTS

2023-09-13 18:32:54

前言

认识三掌柜的想必都知道,我持续创作技术博客已经有6年时间了,固定每个月发布不少于6篇博文。同时,自己作为一名热爱分享的开发者,像ARTS这样的活动自然少不了我。由于我是打算挤在一起分享,之前都是做了本地文档记录,所以直接把内容整合起来即可,那么接下来就开启我的第一周打卡咯。

ARTS是什么?

ARTS其实是由四个部分组成的:Algorithm,一道算法题;Review,读一篇英文文章;Technique/Tips,分享一个小技术;Share,分享一个观点。

自从知道耗子叔当初解释了ARTS的意思之后,我是非常赞同他的这个模式的,也非常感谢他开创的这个学习法。我觉得这四个部分真实去实践很简单,但是困难也是有的,例如算法题就很考验思维,以及英文文章需要具备一定的英语水平等,但是我觉得想要成为一名合格的程序开发者,就需要学会在困境中成长,而且要不断保持学习的心态!

Algorithm

本周分享的算法题是力扣(LeetCode)的经典算法题目:百钱买百鸡问题。

题目描述

公元五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 

现要求你打印出所有花一百元买一百只鸡的方式。

输入描述:

输入任何一个整数,即可运行程序。

输出描述:

 输出有数行,每行三个整数,分别代表鸡翁,母鸡,鸡雏的数量

具体实现代码:

public class Main {
    public static void main(String[] args) {
        //公鸡5块 母鸡3块 小鸡3个1块  100块各买几只
        for (int i = 0; i <= 20; i++) {//公鸡
            for (int j = 0; j <= 33; j++) { //母鸡
                int small = 100 - i - j;
                if ((small % 3 == 0) && i * 5 + j * 3 + small / 3 == 100) {
                    System.out.println(i + " " + j + " " + small);
                }
            }
        }
    }
}

小结:

本质上就是解方程,满足约束条件  5x+3y+z/3 =100 以及 x+y+z=100;其中隐含条件是z必须是3的倍数,所以 x=4z/3 -100;y=200-7z/3;只需要遍历z,每次z加3,找到满足条件(00)的x和y就行,不需要判定是整数,因为z是3的倍数,所以x和y必定也是整数。

Review

最近在研究关于Web 3的文章,下面分享一下关于Web 3相关的文章,题目叫:The Architecture of a Web 3.0 application,具体文章链接:The Architecture of a Web 3.0 application

花费了不到一天时间去翻译和理解这篇文章,这篇文章主要是讲解Web 3应用程序的架构,以Medium为例来讲解怎么用Web 3实现一个简单的博客网站。并且通过具体的实现步骤,结合术语和原理,来让初学者更进一步的去了解Web 3应用程序的开发。下面分享一下文章节选内容:

For instance, Hardhat is a developer framework that makes it easier for Ethereum developers to build, deploy, and test their smart contracts. Hardhat offers the “Hardhat Network,” which developers can use to deploy their smart contracts onto a local network — without having to deal with live environments. Better yet, it offers a great plugin ecosystem that makes developers’ lives much easier. Hardhat also provides console.log() functionality, similar to javascript, for debugging purposes.

例如,Hardhat是一个开发人员框架,使以太坊开发人员可以更轻松地构建、部署和测试他们的智能合约。Hardhat 提供“Hardhat 网络”,开发人员可以使用该网络将智能合约部署到本地网络上,而无需处理实时环境。更好的是,它提供了一个出色的插件生态系统,使开发人员的生活变得更加轻松。

Hardhat 还提供了 console.log() 功能,类似于 javascript,用于调试目的。

Technique/Tips

由于笔者是大前端开发领域的,所以首先来分享一个关于前端开发中使用的小技巧。首先来了解一下高斯玻璃效果(俗称毛玻璃效果),高斯模糊效果是一种常见的效果,在前端开发过程中(包括微信小程序开发)设置高斯模糊效果主要是直接在CSS中使用filter、backdrop属性都可以实现该效果。

通过直接在CSS中使用filter来设置实现高斯模糊效果,其实filter是一种“假模糊”,因为需要一层做背景并且使用filter属性来达到模糊效果,另外一层(需要在背景层上面 )设置一个半透明的背景色,二者结合使用,才能达到模糊效果。具体示例如下所示:

.matter-view {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
    opacity: 0.6;
    filter: alpha(opacity=60); //设置filter属性

}

下面是实现效果:

Share

由于最近一段时期人工智能比较火,那么就来分享一下个人观点,拿AI作画为例,来看一下AI作画打造的博主与真实存在的博主几乎无什么区别,反而还比一些过度P图的照片更加真实、自然,这是让人震惊的地方,之前AIGC刚出来的时候,号称可以让画家、设计师“下岗”的,但是以目前的情况来看,画家、设计师还未被AI作画替代,反而让一些千篇一律的主播先“下岗”了,比如短视频平台有太多相似的量产主播,同一类型的几乎大部分都是千篇一律,观众在刷视频的时候,遇到这种同款视频基本停留不会超过3s,通过AI作画推出的主播,完全可以替代这种量产真人主播,这也让这批真人主播们感到很大压力了。

再者,假如让AI不仅打造虚拟主播,再让接管虚拟主播的留言回复功能,那么往后判断是不是IA生成的图,就只能依靠背景里“三条腿”的路人来分辨了。现在还是AI发展上升阶段,还有很大的提升进步空间,但是笔者认为,未来有一天AI一定能把如何画人搞明白,到了那时候再去分辨真人与AI可能就真的靠缘分来支撑了。

最后

写到这里,本次的内容分享就基本接近尾声,总体来讲用一周的业余时间来分别研究这4件事情,然后在一周的最后做一个总结,这是一个非常不错的方式,而且也可以帮助自己养成正确的学习习惯,尤其是可以帮助初入职场的开发者树立正确的学习观。经过四件事情的逐一完成,可以逐渐提升自己的编程思维,也可以让自己在潜移默化中不断进步成长!让我们下周见!

更多推荐

51单片机1【单片机到底是什么】

1.从电路到集成电路1.电路发展变化的趋势(1)功率:电子设备·越来越省电,待机时间越来越长,工作电压越来越低。(2)体积:体积越来越小(3)功能:功能越来越强大2.微器件(1)电路的核心:开关控制,倍率控制(2)电子管,晶体管3.集成电路(IC,芯片)的出现(1)IC(integratedcircuit,集成电路),

[创业之路-76] - 创业公司如何在长期坚持中顺势而为?诚迈科技参观交流有感

目录一、创业环境1.1.VUCA乌卡时代:易变、复杂、不确定性、模糊的时代1.2.中国用了四十年的时间完成了三次工业革命:机械化、电气化、数字化1.3.中国正在经历着第四次工业革命:智能化、生态化、拟人化1.4国产替代:国产化1.5所有的赛道都挤满了人二、创业公司在长期坚持中顺势而为的路径2.1做自己的熟悉行业:对行业

annyang语音识别与语音合成库

*text是Annyang.js中的一个通配符,表示匹配任何语音输入中的文本,并将其作为参数传递给命令回调函数。例如,如果用户说“searchforcats”,则可以使用以下命令来捕获输入中的搜索词:constcommands={'searchfor*text':(text)=>{console.log('Search

Selenium和Requests搭配使用

Selenium和Requests搭配使用前要1.CDP2.通过requests控制浏览器2.1代码一2.2代码23.通过selenium获取cookie,requests携带cookie请求前要之前有提过,用selenium控制本地浏览器,提高拟人化,但是效率比较低,今天说一种selenium和requests搭配使

人类的生成式与机器的生成式

生成式是指一种基于模型的方法,通过给定的条件或输入,生成与之相符合的输出。在自然语言处理领域中,生成式模型通常用于生成文本、文章、对话等自然语言序列。生成式模型的训练主要涉及两个步骤:学习和生成。在学习阶段,模型通过对大量的训练数据进行学习和训练,以学习出模式、语法和语义等语言特征。在生成阶段,模型接受一个初始输入,并

【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署

【Redis】Redis常见面试题(3)文章目录【Redis】Redis常见面试题(3)1.特性&应用场景1.1Redis能实现什么功能1.2Redis支持分布式的原理1.3为什么Redis这么快1.4Redis实现分布式锁1.5Redis作为缓存2.数据类型2.1Redis常用的数据类型有哪些2.2有序列表的底层是如

java 入门-使用eclipse、javaFX、SceneBuilder进行图形界面开发

个人是一直在开C#CS端开发,目前公司的软件基本都使用了java作开发。为了更好适应环境,我也只能再次学习这个陌生的开发工具。java的开发界面非常不友好,对于我这样的初学者只能是借助插件来进行界面与后台联动,上网度娘了好多资料,java的开发环境非常不易构建特别是需要辅助界面设计的。谨以我这么多天的摸索经历来作下小记

高通recovery流程分析(编译、界面、图片)

目录recovery界面菜单recovery界面操作recovery启动流程recovery编译makefilerecovery图片大小ramdisk、boot.img、recovery.img之间的关系authordaisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主recovery界面菜单rec

【QT开发笔记-基础篇】| 第四章 事件QEvent | 4.2 完成整体布局

本章要实现的整体效果如下:在讲解实际的事件之前,本节先把整体布局搭建好。布局整体包括左侧的导航和右侧的主窗体1.新建工程新建一个窗口类MainWidget,继承自QWidget,并且取消“Generateform”复选框也就是不使用UI设计师界面拖拽控件,而是纯代码来实现界面。最终新建工程如下:此时,直接运行是一个空白

超越创意,从用户创造内容到AI生成内容的新时代

在这个信息爆炸的时代,内容创作正经历前所未有的变革,其频率和多样性令人瞠目结舌。曾经,我们主要依赖传统媒体,需要专业团队为人们打造内容,这被称为专业生成内容(PGC,Professional-generatedContent)。但随着互联网的广泛渗透,用户生成内容(UGC,User-generatedContent)逐

【Python小项目之Tkinter应用】随机点名/抽奖工具大优化:新增查看历史记录窗口!语音播报功能!修复预览文件按钮等之前版本的bug!

文章目录前言一、实现思路二、关键代码查看历史记录按钮语音播报按钮三、完整代码总结前言老生常谈,先看效果:(订阅专栏可获取完整代码)初始状态下,我们为除了【设置】外的按钮添加弹窗,提示用户在使用工具之前要先【设置】。在设置界面,我们主要修改了【预览文件】按钮,从之前的只预览前5条变为预览文件全部内容,但是内容是只读的。同

热文推荐