📮漫游日报 Roam Daily
710 subscribers
54 photos
2 videos
2 files
1.14K links
吕立青的漫游日报,
每天分享我的阅读。
有趣、有料、有用,
随时、随心、随意。
🌝🌕🌖🌗🌘🌑🌚
jimmylv@crossbell
Download Telegram
Forwarded from JimmyLv 吕立青
在互联网行业,流量和生意是不会变的,它只会从一个蓄水池到另一个蓄水池,是自古事物发展之定律。

传统BAT用户时常流失的同时,短视频平台却在上升。

来时天地同接力,这一规律在互联网很多赛道都被验证过,比如早期的微博、偷菜、分类信息、团购、外卖、出行都曾经历过疯狂期、竞争期、淘汰期、收获期。而现在,这种模型也完全适用于短视频平台。

今天,我们很少会提及2000年之后的互联网泡沫,在那一段幽暗的岁月里,所有后来的巨头都还在苦苦探索盈利模式,也不被人相信。如果拉长视角来看,我们今天也应该给短视频平台更多时间,期待它的第三重奏。
朋友,​我所分享的都是噪声,你们所记住的东西才是信号。

#信噪比# #我说的都是错的#

Media

via 吕立青_JimmyLv 的 bilibili 动态 https://ift.tt/Fnq7h6X
我是一名 7 years+ 经验的全栈工程师,👨🏻‍💻 偏爱前端 🎨 和 DevOps ⚙️。 2022 年下定决心,正经学习区块链 & Web3 技术栈,「学习技术,穿越牛熊」🐻 这个 Thread 记录我的公开学习,分享最直观的体验和学习笔记。 🧵 /n 📣 如果有不正确的地方,感谢指出!
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
🍭 欢迎大家都来跟我一起学习 Web3 技术栈 🏃 🏻 🏃 🏻‍♀️ 学习智能合约,先从编程语言开始。 Solidity,也就是智能合约的语言。 Solidity 是智能合约的主要编程语言,Solidity 目前还是最主流的。 https://t.co/pCg4beZVO5
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
运行 Solidity 最方便的方式,必然先得试一下 Remix IDE。 https://t.co/272TVGdJ5I 最直观的体验:这才叫真正的 Cloud Native,无需数据库和本地环境,只需要编写合约。 云开发:编写、测试、部署、调试,都可以直接在 Remix IDE 中直接操作,还能加载 Solidity Plugin。 https://t.co/ZXOWLiFsvc
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
contract 是 Solidity 的关键字,用来声明智能合约,它告诉编译器后面的代码是来定义智能合约的。 类似 Java 和 Javascript 面向对象编程语言中的 class 关键字。 tip: Remix IDE 使用 Cmd+S 可以自动 Compile 注意这里的证书 `// SPDX-License-Identifier: MIT` 合约天然公开,否则报 warnings https://t.co/uXxfu94i95
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
Solidity 数据类型,最基础的 5 种分别是 boolean, uint, int 和 address, bytes • boolean 定义 true 和 false • uint 是无符号整数,表示这个数字不是可正可负的,只能是正数 • int 可以表示正数或者负数 • address,表示地址,就像在 @MetaMask 钱包中看到的一样
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
• bytes (更底层,bytes 变量值通常是“0x”开头然后加上一些随机的数字和字母 ref: (02:12:29 https://ift.tt/VpzuTZ3 Basic Solidity - Types
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
Solidity 创建变量,类型在前,比如 uint8 声明分配了 8个bit,uint不带数字默认分配 uint256 • 通常,把分配空间显式的写出来是一个好习惯,即不要 单独使用 uint tip: 结尾处的分号 ; 是必须的 https://t.co/uCxzN7A9WJ
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
string 类型很有趣,因为它本质上是一种 bytes,但是 string 只能存储文本;所以“cat”字符串是一个 string,但是可以自动转化为 bytes https://t.co/hIV7nHSlLG https://t.co/mRCDNtsBk5
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
Solidity function,比如图中的 store() 函数,跟其他语言没有什么不同。 tip: 在 Remix IDE 中运行时,可以连接 Swarm 本地网络,Environment 下拉列表,选择 Remix VM 即可。 https://t.co/GKfY7xOPD8
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
Deploy 后,每个智能合约都有一个地址,就像每个账户都有地址一样。 0xd9145CCE52D386f254917e481eB44e9943F39138 https://t.co/1YtFqShEBk
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
在执行 store() 方法时 terminal 会显示对应的 transition tip: Solidity 创建变量声明时,默认是private 的,所以 terminal log 看不到,需要加上 public 修饰符(Function Visibility Specifiers) https://t.co/SAN6jzAycn https://t.co/cpxEdOdjq4
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
1. public:在外部和内部可见(其实是给 storage/state 变量创建一个getter函数) 2. private:仅在当前合约中可见 3. external:仅在外部可见(相对于当前 function 而言)-- 即只能被消息调用(通过this.func) 4. internal:只在内部可见 不写默认为第 4 种,合约内可见,https://t.co/uMpx6MYA59 https://t.co/bJMATIKV19
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
只要部署过后,旧的合约其实无法删掉,因为区块链是不可更改的。 重新部署[[智能合约]],会产生新的合约地址。 function 执行计算就会消耗gas,最简单的理解是,做越多的操作,消耗更多的 gas https://t.co/u9p1i6aZ6W
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
Remix IDE 会为已部署合约显示对应的操作按钮 比如黄色的 store 按钮,对应合约中的 store() 方法 蓝色的 favoriteNumber 按钮,对应 public 的变量,颜色代表单独读取 state 数据,无需消耗 gas tip: 这里的 Scope 概念即上下文,跟 JavaScript 类似 https://t.co/e89Th0klLj
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
view, pure 函数只是读区块链数据 - 记住,只有更改状态的时候才支付 gas,发交易,即 store 橙色按钮 - 调用 view 或者 pure 函数,是不需要支付 gas 的 - 在 Remix IDE 中未显示 绿色的 ,即没有发生交易 https://t.co/yDOuSxgrsD
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
点击 retrieve 蓝色按钮,不发送交易,我们只是在链上读取数值 但需要注意的是:“消耗只有在被合约调用时才会计算在内”,也就是说 如果在一个要改变区块链状态的函数内部,调用了类似 retrieve 这种 view 或者 pure 函数,还是会消耗 gas,因为需要消耗额外计算量。 https://t.co/2MZDpvAIxV
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022
view 和 pure 的区别: 1. view 告诉我们,通过运行该函数,不会保存/更改任何数据。 2. pure 告诉我们,该函数不仅不会将任何数据保存到区块链中,而且不会从区块链中读取任何数据。 带有 public 的变量 favoriteNumber,可以看作是一个返回 uint256 的 view 函数 uint256 public favoriteNumber;
— jimmylv.eth (🐣, 🐣) 吕立青 2𐃏22 🇨🇳 (@Jimmy_JingLv) Nov 22, 2022