写点什么

ARTS 打卡 第三周,渐入佳境

作者:三掌柜
  • 2023-09-13
    江苏
  • 本文字数:1828 字

    阅读完需:约 6 分钟

ARTS 打卡 第三周,渐入佳境

引言

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


Algorithm

本周我想分享一个自己之前在面试时候遇到的算法问题,虽然自己当时也回答上来了,但是个人觉得掌握的不行,那么本周就来重新学习一遍。算法题是力扣(Leetcode)的经典算法题目:斐波那契数问题。


斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。

具体的代码实现如下所示:

class Solution {    public int fib(int n) {        if(n==0){            return 0;        }else if(n==1){            return 1;        }else{            return fib(n-1)+fib(n-2);        }    }}
复制代码

分析:

使用递归来实现,其中,时间复杂度:O(2^n);空间复杂度:O(n),算上了编程语言中实现递归的系统栈所占空间。


Review

本周分享一个自己在学习区块链的英文文章,作为 bitcoin 区块链的《圣经》,英文链接Bitcoin: A Peer-to-Peer Electronic Cash System,比特币白皮书作为区块链的始祖,区块链的《圣经》,分析全文的过程我中充满了对中本聪的钦佩。下面分享文章中的节选内容:

The solution we propose begins with a timestamp server. A timestamp server works by taking ahash of a block of items to be timestamped and widely publishing the hash, such as in anewspaper or Usenet post [2-5]. The timestamp proves that the data must have existed at thetime, obviously, in order to get into the hash. Each timestamp includes the previous timestamp inits hash, forming a chain, with each additional timestamp reinforcing the ones before it.


从这部分开始说明的就是矿工(miner)所干的工作。这里的一组数据就是指很多笔交易,然后把这一组数据打包成了一个区块(block),并把这个区块加盖上时间戳并做 hash,以此来保证时间的先后顺序,也就是要完成第 2 部分所介绍的“确保历史顺序”。而因为要得到这个 hash 是和当时的时间戳联系在一起的,所以这个 hash 就标识着时间了。因为这些区块是形成一个链条的,而区块的增长是 CPU 算力的证明(后文会描述),所以因为 hash->体现了时间戳->hash 被链在一起->链上一个新的区块需要耗费 CPU->所以之前的 hash 就一定是正确的(不断被加强可信度)。


Technique/Tips

这次分享一个关于 Flutter 开发中的重要知识点,在 Flutter 开发中,关于图片上传和展示也是常用必用的操作,尤其是在设置 APP 用户的头像信息,以及上传背景图的操作。关于 Flutter 开发中图片的上传和展示也是比较常用的操作,也有对应的组件和插件,但是关于一些引申的需求操作,常规的操作是满足不了需要的,那么就来分享一下在实际业务需求中常用的需求:把从相册选中的图片转换成 Base64 之后再显示,或者展示获取到的 Base64 的图片。具体代码如下所示:

void _getImage() async{     XFile? file = await ImagePicker().pickImage(source: ImageSource.gallery);     if (file == null) return;     _avataFile = File(file.path);     Uint8List  imageBytes = await _avataFile!.readAsBytes();     String base64 = base64Encode(imageBytes);     String base64Image = "data:image/png;base64," + base64;     print(base64Image); }
复制代码


Share

本次分享一下关于大模型是真正的银弹吗?这是个问题!

纵观实际情况,我的观点是:大模型并不是真正的银弹。虽然说大模型在某些任务上表现出色,但并不能解决所有问题。虽然大模型具备更高的性能和表现力,但它们需要庞大的计算资源和数据支持,而且在实际应用中也面临着一些挑战,如内存占用、推理速度等问题。与此同时,大模型也存在一些伦理和安全问题,需要引起我们的重视。所以,我们不能过分依赖大模型,而是要根据具体情况选择最合适的工具和方法。

结束语

写到这里,第三周是渐入佳境进行中,总体来讲用一周的业余时间来分别研究这 4 件事情,总体来说每天花一些时间来分别研究这几件事情,然后一周的周末来一个总结,这样的方式也是相当不错的。经过四件事情的逐一完成,可以逐渐提升自己的编程思维,也可以让自己在潜移默化中不断进步成长!让我们下周见!

发布于: 刚刚阅读数: 4
用户头像

三掌柜

关注

某某某技术有限责任公司架构师 2021-02-05 加入

一分耕耘,不一定有一分收获,但十分耕耘,一定会有一分收获!

评论

发布
暂无评论
ARTS 打卡 第三周,渐入佳境_ARTS 打卡计划_三掌柜_InfoQ写作社区