药品库存

请注意药品有效期 & 药品性状 药品名称数量 医用口罩1盒 洛索洛芬那片1盒 布洛芬缓释胶囊1盒 复方氨酚烷胺片1盒 复方对乙酰氨基酚片1盒 连花清瘟颗粒1盒 双黄连口服液1盒 麝香痔疮栓1盒 咽立爽口含滴丸1盒 氨酚咖匹林片2板 复方嗜酸乳杆菌片1盒 创口贴2盒 荜铃胃痛颗粒1盒 清咽滴丸1瓶 布地奈德鼻喷雾剂1盒 诺氟沙星胶囊1盒 开喉剑喷雾剂1盒 纯春堂云南本草抑菌喷剂1盒 头孢克肟片4粒 马来酸曲美布汀分散片1盒 泮托拉唑钠肠溶片1盒 <++><++>

2025/7/20
articleCard.readMore

pacman

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 pacman -S <package_name> 有一定风险!!! 有可能静默安装旧包 有可能安装成最新包,但静默安装旧依赖 pacman -Sy 刷新本地数据库 pacman -Syy 强制!刷新本地数据库 如果直接跟包名,仍然有风险,比如假设你的系统中安装了libvpx-1.14,当你执行pacman -Sy firefox,此时系统会直接安装最新版firefox和libvpx-1.15(最新版),但是你的系统中的ffmpeg依赖libvpx-1.14,此时依赖链断裂,系统崩溃 pacman -Su 基于旧数据库升级包 有一定风险!!! 有可能静默升级成旧包 有可能升级成最新包,但安装了旧依赖 如果跟包名,基于旧数据库升级指定包,就更有风险了,毕竟上面基于新数据库升级指定包都有风险 pacman -Syu 刷新本地数据库然后更新所有软件包(更新系统) pacman -Syu <package_name> 这是安装软件包的标杆做法 --- pacman -R 卸载包,保留所有依赖和配置文件 pacman -Rs 卸载包,卸载无用依赖 pacman -Rsc 卸载包,卸载无用依赖,卸载配置文件 --- -Q 查询所有已安装的包 -Qd 仅查询依赖(dependence) -Qdt 仅查询独立的依赖(dependence independent) -Qdtq 仅查询独立的依赖(dependence independent)q for --quiet 仅显示包名,不显示版本号 -Qs ,关键词,本地查询 --- -Ss 关键词,联网查询 -Ss '^package_name$',精准匹配包名

2025/6/28
articleCard.readMore

chinese-input-method-setup

与时俱进,用fcitx5 1 2 3 4 5 6 7 8 9 10 11 12 sudo pacman -Syu fcitx5-im sudo pacman -Syu fcitx5-chinese-addons sudo pacman -Syu fcitx5-pinyin-zhwiki sudo vim /etc/environment # Add then :wq GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx # 使用i3wm,需在~/.config/i3/config文件中添加一条配置信息exec fcitx5 -d # 使用sway,需在~/.config/sway/config文件中添加一条配置信息exec fcitx5 -d,注意配置文件先从/etc/sway/config拷贝过来一份再修改 重启系统,使用fcitx5-configtool添加中文输入法,使用ctrl+space进行输入法的切换

2025/6/15
articleCard.readMore

Programming Concepts and Algorithms/Solutions

(The type of thinking that enables you to write computer programs) are called Computational Thinking Programming is great for solving problems that have a lot of computation or repetition in them. Computers only work with numbers => so Everything is a Number Hardware: bits(0, 1), can only do math. Do not need to worry about bits due to a wonderful principle called abstraction. Abstraction: Separation of interface(what-it-does/how-you-use-it) & implementation(how-it-does-it/how-it-works). Abstraction often comes in layers, and what layer you need to work at depends on what you need to do. Importance of Everything is a Number Can expose numeric properities(eg: Math with letters can be Cryptography) Interpretation of numbers/How to operate on numbers => Types eg: “1” + “1” = “11” 1 + 1 = 2 Whenever you have data you want to work with, you need to represent it as numbers. You may be able to use existing types such as strings, which already represent information as numbers, to help you out. The Green Screen Problem(Developing an Algorithm)

2025/4/5
articleCard.readMore

Programming Foundations with CSS

Web pages are often designed to accommodate [different device/different screen] so that to decide how to display and even what to dispaly. Users experience webpages differently, some users are color-blind, some can’t see well, some have trouble hearing, some can’t clicking, etc… So to ensure GoodUserExperience: web-designers must take [devices & users] into account when creating webpages. and webpages should load quickly. CSS: Cascading Style Sheets [HTML specifies the content | CSS specifies the look & formating] of webpages. This allows web-designers to separate the content from how it’s presented, which can accommodate different users and different display devices to make sure that even in other countries, these can be displayed without changing the content of the webpage. And if you’re creating thousands of webpages for a website, changing the color or font or the size of an HTML element can be localized in one place, rather than repeated in a thousand places which would make changes difficult. This is called [Maintainability] in response to changing design requirments & [Reusability] across multiple elements or even multiple webpages. CSS Basics 1 You could include CSS by either using <style> or <link> tag which are go in the <head> portion of you HTML. Selector tag_name class id combinators: select by relationship(eg: style <li> inside of <ul>: ul li { ... }) Note: You should make name descriptive.(eg: foodLi => can means food-list-items) https://developer.mozilla.org/en-US/docs/Web/CSS/Reference Q&A: whats-the-difference-between-an-id-and-a-class what-error-will-i-get-if-i-use-the-same-id-for-multiple-html-elements Colors https://www.w3.org/TR/2022/REC-css-color-3-20220118/ 140 standard color names. An important concept: Everything is a number for a computer. Red + Green + Blue, 0-255, => can specify about 16 million colors. => more than humans can distinguish. eg: Gold == rgb(255, 215, 0) because of that 0-255 is 256 possible colors, which can be presented by 两个十六进制的数字 FF == 15 * 16 + 15 == 255 D7 == 13 * 16 + 7 == 215 00 == 0 * 16 + 0 == 0 so, Gold == #FFD700 https://developer.mozilla.org/en-US/docs/Web/CSS/Tools/ColorPicker_Tool

2025/3/30
articleCard.readMore

Programming Foundations with HTML

OFFERED BY Duke UNIVERSITY https://www.dukelearntoprogram.com Let’s begin to learn how to think like a programmer: analyzing problems, designing solutions called algorithms, and translating your algorithms into programs. Reading document please, so that you will know what methods you can use in a programming language. Use https://codepen.io to play around ! HTML is [not] a programming language but rather a Markup Language. HTML is used by web browsers to display a webpage. Note: You may have written documents in which you select text and make it bold or underlined or italics, [this is a way of marking up the text to display in certain ways ! ] https://www.bilibili.com/video/BV1GkewzwEbK Metadata Elements 1 2 3 4 5 6 7 8 9 10 11 12 13 <html> - specifies using HTML standard - contains all other elements <head> - information about the page: title, css, scripts, ... <title> - specifies page title - nested inside <head></head> tags etc... Sectioning Elements 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <body> - contains all items seen on page <div> - defines section of webpage - [useful for grouping elements together to use CSS styling ! ] <h1> - section header - also <h2>, <h3>, ..., <h6> <p> - paragraphs. etc... Semantic or Style HTML Tags Tags surround [text]/[page elements] 1 2 3 4 5 <b>Make text stylistically different, Traditionally bold face, but can change</b> eg: If you have trouble seeing, then it's(<b></b>) a semantics/meaning to helps screen reader to change how text is read to you(a blind user). Adding Images, Audios/Videos 1 2 3 4 5 6 7 8 9 10 <img src="http://xyz.png" width="75%" /> <img src="http://xyz.png" /> Note: We can add Options(eg: src, width) in the image tags, which give information about what we're doing. Some Options are required!(eg: src, which means source), because of that we have to specify what image we want to display. copyright What to use for src=”..” ? In some cases, there may be concern with the person, organization or group that create the photo you display on a webpage you create. The creator has certain rights called copyrights. Many images are in the public_domain and are not copyrighted.(eg: Wikimedia commons website) Some images have what are called creative commons licenses, which specify how you can use the images, and some creative_commons_images are not copyrighted. Images Storage In some cases, there may be storage/hosting concerns. Where are the images stored that you’ve included on your webpage? And who pays. 我曾经自建图床 Suppose one million people view your webpage, it means that the image is sent from the website which stores it, across the Internet to one million users that might be scattered all over the world! Someone pays, even if it’s not you. Inline-Linking/Hot-Linking When you use a URL in a webpage you create as part of an IMG tag, you’ve included what’s called an Inline Linking, also called Hot Linking. It means that the image is stored on another site but visually it appears in the site you create. If you create a webpage with lots of views or traffic, there may be storage costs or server costs that might be a concern. => Thus some sites don’t allow hot-linking! Further reason and solution. Linking Pages Together 1 2 3 4 5 6 7 8 9 <a href="https://asd.org/en-US/HTML">EXAMPLE_LINKS</a> Note: a means anchor. href is required! You must specify some text between the start and end anchor tag, and this text will be clickable to take you to an another website. Lists 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // unordered list <ul> <li></li> <li></li> <li></li> </ul> // ordered list <ol> <li></li> <li></li> <li></li> </ol> li tag stands for list items, [is required], and are the only type of tag you can put as direct children of ul/ol tag. inside li tags we can put much more than just text, we can put images, links or even another list. Tables 1 2 3 4 <table> <tr> => table row <th> => table header <td> => table data Test your webpage You can use private browsing to be sure that you are behaving like an anonymous user, rather than being logged in as yourself when looking at a webpage. eg: to be sure that you can see images. Be aware of… Making a webpage good isn’t easy. Webpages can be displayed on different types of divices, such as your laptop, your phone. Webpages can be used by different types of people, such as normal user, blind user. …

2025/3/25
articleCard.readMore

如何高效地学习一门编程语言

请使用英文原版教材!!! 一门语言的特定【实现】,可以是编译型或解释型 语言 = { 特性1,特性2,…,特性n } 一个世界就是一堆独立运转的节点在相互发送和处理消息。—— Alan Kay => 这揭示了 Object-Oriented 的首要特征:messaging(发送 & 处理消息)

2025/3/24
articleCard.readMore

低卡火锅蘸料

以下都无辣椒(可自行添加) 版本一 一勺香醋 一勺生抽 半勺蒜蓉 半勺小葱 半勺香菜 版本二 一勺香醋 半勺腐乳 半勺韭花酱 半勺蒜蓉 半勺小葱 半勺香菜 版本三(海鲜版) 一勺海鲜汁 半勺蒜蓉 半勺小葱 半勺香菜

2025/3/23
articleCard.readMore

使用键盘组合键启动iTerm

参考了:https://shinyu0430.github.io/2023/05/12/iterm-shortcut-mac-automator/ 用键盘组合键启动应用程序无疑是最高效的方式,话不多说,下面演示如何实现用键盘组合键启动iTerm 运行【自动操作】,即:automator 新建文稿,选取文稿类型,快速操作 搜索AppleScript,双击【运行AppleScript】 粘贴代码 1 2 3 4 5 6 7 if application "iTerm" is running then tell application "iTerm" activate end tell else activate application "iTerm" end if Command+S 保存,命名为【运行iTerm】 系统设置=》键盘=》键盘快捷键…=》服务=》通用,设置组合键即可,我设置成了【command+Shift+m】 Have a try!

2025/3/19
articleCard.readMore

中餐厨艺课

清炒绿叶菜:菜+油+盐+味精+鸡精=出锅,注意清洗蔬菜要用滤网!!! 清炒蔬菜更精彩的调味品:大蒜(蒜香味)、干辣椒(糊辣味)、干花椒(麻辣味) 一天一斤蔬菜,方能补充:维生素、矿物质、膳食纤维 be more healthier ! —— 冬瓜汤 && 羊肉冬瓜汤 炊具:炒菜铁锅即可、汤勺 准备食材:冬瓜适量(切片,2~3mm)、生姜(切片,2~3片)、食盐、味精、鸡精、食用油、葱花、枸杞子、羊肉片 水烧开,生姜和冬瓜下锅、转二档火(中小火)炖煮(大概10mins左右),加入羊肉片食盐味精鸡精食用油搅和搅和,2~3mins出锅撒上葱花枸杞子 —— 生抽、蚝油(都能提味增鲜) 素炒冬瓜 —— 青椒土豆丝 主料:青椒、土豆 辅料:油、大蒜、盐、味精、鸡精 —— 扬州炒饭 主料:黄瓜、胡萝卜、火腿肠、鸡蛋、大米饭(熟冷) 辅料:小葱、生姜、油、盐、味精、鸡精 步骤: 鸡蛋打散备用 黄瓜、胡萝卜、火腿肠均适量切成6mm的方丁备用 切一点姜末备用 切一些葱花备用 —— 葱油饼 冷水、面粉、鸡蛋、盐、葱花、油 —— 蒜蓉油麦菜/生菜/空心菜/菠菜… 主料:3颗油麦菜+半头大蒜 —— 素炒胡萝卜 4根红色细长的胡萝卜(滚刀块)+3瓣大蒜(切片) —— 万能凉拌菜调料 以下调料均可适量减少(for your health) 1勺盐 1勺味精 1勺白糖 3勺生抽 2勺陈醋 半勺芝麻油 半勺花椒油 2勺辣椒油 一点姜蒜末 两三个红小米椒切成小圈圈,然后用刀改小 —— 青椒炒茄子 主料:茄子、青椒 调料:油、蒜、青花椒粒、盐、鸡精、味精 —— 炒豆腐 主料:一块豆腐 调料:油、蒜、盐、味精、鸡精、干辣椒 —— 家常豆腐 主料:一块豆腐、一小块猪瘦肉 调料: 油、盐、 豆瓣酱、生姜、大蒜、 料酒、胡椒粉、 生抽、 味精、鸡精、 蒜苗、水淀粉 素面碗汁 姜蒜末、盐、味精、鸡精、生抽两勺、半勺陈醋、一点蚝油、香油

2025/1/2
articleCard.readMore

关于网卡、网口、路由器、ip、mac之间的数量对应关系

以下为观看视频 https://www.bilibili.com/video/BV124411k7uV 所交的作业,小爱同学提供了一定支持 首先,二层交换机作为一种网络设备,具有全球唯一的MAC地址 但是,二层交换机的MAC只是为了实现局域网内的数据转发,即局域网内的设备通信 所以,二层交换机本身无网卡 但是二层交换机有很多网口啊,所以这就解释了网口和网卡其实并无严格的对应关系(虽然大多数家用电脑的一个网口确实对应一张网卡) ————————— ip和mac确实都是网卡的属性 一张网卡通常具备 1 个全球唯一的mac地址 但是特殊网卡可能存在多个mac地址,比如某些网卡可能支持虚拟网络接口,可能存在多个mac地址,但不常见 一张网卡通常具备 1 个ip地址 但在一些特殊情况下,可以给 1 张网卡分配多个ip地址,比如这样可以同时连接多个不同的网络进行通信 ————————— 路由器通常具备 2 个ip,即WAN侧的ip和LAN侧的ip 但由于路由器本身就是个linux系统,所以完全可以登录进去,给他的网卡配更多ip ————————— 诚然,从理论上来说,一个路由器中可以只有1张网卡,但是在实际应用中,这样做并不好 至于为什么不好,你可以问问小爱同学【既然一张网卡可以配置多个ip,那么常见家用路由器中为什么给WAN口和LAN口使用了不同的网卡(或从逻辑和功能上认为是不同的网卡)】 简要来说大致是因为: 便于ip地址的管理 便于针对WAN口和LAN口的特定需求进行网络优化 两张网卡实现了内外网物理层面的隔离,更安全 便于故障的排查和维护 常见的情况: 路由器中有多少网卡需要具体情况具体分析 不考虑Wi-Fi功能的话,一般家用路由器通常具备LAN口网卡和WAN口网卡 考虑Wi-Fi功能的话,还会有无线网卡提供无线连接;单频路由器提供1个无线网卡工作在2.4GHz频段,双频路由器相比单频路由器再多一个无线网卡工作在5GHz频段

2024/12/23
articleCard.readMore

童言即诗

以下内容选摘自互联网络,仅仅因为觉得可爱故分享于此,如有雷同纯属巧合,侵权可删 1 2 3 4 5 6 7 8 9 10 11 《拔牙》 昨晚我的一颗牙齿 想去旅行 他一定会后悔的 再也尝不到 棒棒糖的美味了 一个小婴儿哭了,旁边的小朋友说:“阿姨你的宝宝响了!” 4 岁娃坐车上,外面阳光照他脸上,说:“我被太阳发现了!” 小孩不会读“逸”字,他说:”妈妈,这个小兔子有滑板车~“ 坐地铁遇到一个小朋友,因为地铁摇晃站不稳,这个小朋友说了句:”地铁先生你不要乱动!“ 女儿跟妈妈说怕黑,妈妈对女儿说要勇敢,她说:”我不怕红不怕绿不怕蓝不怕黄,还不够勇敢吗?“ 小朋友蹲马桶腿麻了,他突然眼睛睁好大说:”我的腿里面好疯狂啊!“ 给一个孩子上钢琴课,从大三度转到小三度音程时,他说这个音抑郁了…真的,这感觉太到位了 我儿子第一次见到黑人,头默默地埋在我怀里,很小声地问我:“叔叔是不是过期了” 我儿子小时候有一次问我要“驼背的花生”吃,原来他是要吃腰果 我儿子脚麻了,他说:“妈妈我的脚在放烟花” 我女儿洗完手,非常大声地说:“谢谢水龙头”,然后鞠躬,我当时简直是呆住了 我小女儿两三岁的时候每次拉完粑粑都要跟粑粑说再见,还要挥着手手说 风把门吹开了,小朋友说:“妈妈,风有我们家的钥匙“ 我二宝坐在安全座椅里,被遮光帘碰到了,她说:”风在踢我“ 我娃说90多岁拄着拐颤巍巍走路的老奶奶该换电池了

2024/10/19
articleCard.readMore

与通信相拥,共织中国结

烽火狼烟今不在,仍爱故人寄梅花。我的前二十六年,早已与通信结缘。 回想起来,对于通信这个现代名词的最初记忆,大概是孩童时期和伙伴们玩的一种游戏——将一根细绳的两头分别连接到两个一次性纸杯的底部,将细绳绷直,其中一个人对着杯口说话,另一个人就可以从另一个纸杯中清晰地听到声音。游戏虽然很简单,但那时的我却觉得乐趣无穷,冥冥中就像那个时代的通信,虽然原始,但却充满着无限可能。 时光荏苒,国内互联网的浪潮席卷而来,连接纸杯的细绳就变成了连接电脑的网线,拨号上网和一众新兴的互联网应用开始造访我的童年,我的小学同学一个接一个地拥有了他们的QQ号,交到了他们的第一批网友,快乐分享着各自的生活和喜怒哀乐。再后来出现了QQ空间,我也终于在发小的帮助下注册了自己的QQ号,依稀记得有几个好朋友给我留言,尽管我们只是用平白的文字和简单的网络符号进行交流,但这种新奇的、远程的、即时的信息交换方式,让当时的我兴奋无比。 通信技术的迅猛发展实打实地影响着我的生活,且以肉眼可见的速度不断改造着我生活的小镇。随着3G技术在中国市场商业化的展开,一个个背上印有红色中国结的通信工人开始奔走在我居住城市的大街小巷,秉持着心中红色的信仰,肩负着用网络连接千家万户的使命,一个个大大小小的信号塔被这些戴着脚扣、背着工具包的城市工蜂树立了起来。一批历经风雨垂垂老矣的电话亭开始识趣地让位,朝气蓬勃的电子商务和移动支付紧接着排队登场。通信时代的春风正向着我们扑面而来… “你有一个思想,我有一个思想,我们交换思想,我们就都有了两个思想。”英国剧作家萧伯纳说的这句话曾一针见血地揭示了信息交换对于我们人类社会的重要意义。步入大学校园,我终于如愿以偿地拥有了自己的第一部智能手机,时值4G通信网络的普及,一众触手可得的网络应用使得我与数据通信世界交换信息变得前所未有地方便快捷。好大学的围墙开始被网络打破,bilibili、中国MOOC、好多信息共享网站正让资源变得唾手可得,曾经梦想在自己的网站上同网线彼端的读者们分享见解也顺理成章地成为现实。现在想来,我何尝不庆幸自己能有机会在宝贵的大学时光通过网络学到清北、伯克利、麻省理工等名校名师的优质课程,何尝不是通信技术的进步让我获得了更多平等受教育的机会呢? 2019年底,通过新闻媒体,家乡小镇的居民得知了新冠疫情爆发的消息,得益于5G的推广,社区第一时间组建了抗疫微信群来发布消息,健康码、行程码等疫情追踪应用应运而生,盒马鲜生、在线医疗咨询等服务迅速建立,通信技术的革新助力我们迅速建立起了抗击疫情的网络长城。接连三个除夕夜、三个新春佳节,大家都是足不出户,在家庭微信群里发红包,通过流畅的高清视频通话互相拜年,使用高清IPTV收看央视春节联欢晚会。疫情期间,我也通过远程视频面试的方式收到了联通的录取通知。那时爸爸就曾发出感慨:“幸亏现在有网络~”是啊,人民邮电为人民,通信的初心就是为了让我们普通百姓的生活变得更便捷、更美好。 在联通工作将满两年,跟着前辈奔走在生产一线,从ONU到交换机,从光交箱到服务器,联通千兆光网从抽象的拓扑图在我的认知里渐渐变得具象可感。跟在许多优秀的“大中国结”身边,我这个初出茅庐的“小中国结”,也见识到了诸如智能家居、5G云游、智慧城市、智慧农业、智慧生态治理等新应用、新产业的规划、实施和落地。所爱隔山海,山海皆可平。我感恩联通,感恩一代代通信人创造的数据互联互通的信息时代,同时我也热切期盼着下一代通信技术变革的到来,期待着和我的同事们一起,为这个世界带来更多惊喜。

2024/8/26
articleCard.readMore

Java Grammar

初学编程的常见误区 Module 1: Java Fundamentals Variables: store data Conditionals: control how your code runs Arrays: store and work with many values Loops: control how many times a piece of code needs to run Functions: perform tasks Module 2: Object Oriented Programming objects、immutable objects、list collections、map collections、exception handling、 package and import、static and final、enums、unit test、inheritance and polymorphism、 higher order functions、big decimal、interface、concurrency and multithreading Reasons to learn Java Java is general-purpose, which means that Java powers a wide range of applications. As a Java developer, you can build web applications using Spring boot, you can build applications on Android, you can automate tasks using Selenium, you can develop cloud native applications, you can integrate microservices, you can … Java can run on any machine, it’s well known for its “write once, run anywhere” This is because the Java Virtual Machine, the JVM, which is responsible for executing compiled Java code, can be installed on any platform Java is the No.1 language for developing enterprise applications To run Java code, you need A Java Compiler - to compile your code. A Java Runtime - to run the compiled code. So, this is why JDK provides a Compiler、a Runtime、and a lot of other things. Roadmap Install a JDK(Java Development Kit) on your machine => from Amazon Corretto is recomended. Amazon Corretto is just a distribution which once installed, does the work of setting up a JDK on your machine. Basically all you need to do is install it and it’s going to do the heavy lifting. 1 2 javac -version # check compiler java -version # check runtime Finished ! you’ve just installed a JDK, now your computer can compile and run Java code. Download a text editor to write code I use vim & vscode(the extension pack for java is must). Now you have everything you need to start building Java applications! Write & Run your first Java code 1 2 # Every java file needs to follow the naming convention -> CamelCase touch HelloJava.java 1 2 3 4 5 // In java, you must write all of your code in a class. // And the ClassName needs to be the same as your FileName. // So here we create a class. class HelloJava { } All right, so what’s next is the main() method, which is the entry point of a Java application. And inside main, we’re going to print the message “Hello Java” 1 2 3 4 5 6 7 8 9 10 11 12 class HelloJava { // not understand this line is doesn't matter now. public static void main(String[] args) { System.out.println("Hello Java"); } } /* Notice: the semicolon is really important, which means end of statement. every statement in Java, every line of code, needs a semicolon at the end. so if you forget your semicolon, your code is not gonna run. */ Now we’re ready to compile and run our Java code. 1 2 3 4 5 # The javac command compiles your javaCode into byteCode javac <FileName>.java # The java command executes the compiled code java <FileName> For example See you in workbook 1.1 Variable Store data inside variable. Java is strongly typed which means that variables can only store values of their type. Java is case sensitive eg: people is not the same as People The convention to naming a variable lowerCamelCase eg: int peopleOnBus = 20; Update the value inside a variable Just set it equal to a new value, or use +=、-=、… See you in workbook 2.1 Use variables to store numeric data Types: int and long We can use int and long variables to store whole numbers. You should know the difference between int and long and when to use int vs long. 1 2 3 4 5 int numberOfFans = 5000; // 如下两行等价,但显然第二行的可读性更好 long population = 7000000000L; long population = 7_000_000_000L; 为什么要在 7000000000 这个数后面加个 L ? 如果你不加 L,那么 Java 就只会看到这是一个很大的数,它并不知道你这个傻乎乎的开发者要将这个数存到什么地方,所以 Java 就慌了 因此,你只需在这个数后面加个 L 来告诉 Java:“放松啦~ 咱们要存的地方存得下这个数的。”,然后 Java 就平静了 Type: double We can use double variables to store decimal numbers, which are given so much size in memory that a double value can reach 15 significant digits. 1 double percentage = 55.7; Be careful !!! Avoid just using integers for math calculations, because if you multiply or divide two integers, the result will always be an integer, because Java’s going to cut off all the decimals. 1 2 integer * integer => integer integer / integer => integer eg 1 2 3 4 5 6 7 8 9 int people = 3; int wallet = 20; System.out.println(wallet / people); // 6, which is not the result we want. // So we need to make sure that at least one of these values is stored as a decimal, // then Java's going to know to return a decimal result. int people = 3; double wallet = 20; System.out.println(wallet / people); // 6.666666666666667, this is the result we want. Golden Rule If precision is important, use double for math calculations. Type: String We can use the type String to store text. 1 String sentence = "Hello world !"; String unlike int in memory, no matter what you store in the integer variable, it’s always 4 bytes, but with String, empty text alone takes up 24 bytes, and the more text that you add to a string, the more memory it takes up. You can use the + operator to join two String values. 1 2 3 String sentence = "His name is: "; String placeholder = "Harry"; System.out.println(sentence + placeholder); You can use the + operator to blend values into a string. 1 2 3 double points = 50; String announcement = " points for Gryffindor"; System.out.println(points + announcement); // 50.0 points for Gryffindor Type: char We can use the char type to store single characters. 1 char gender = 'F'; We can join a String value with a char value using the + operator. 1 System.out.println("Gender: " + 'F'); 1 String gender = "F"; It seems that String is more flexible than char, so why not always use String ? The answer is【memory】and【performance】! char consumes less memory, and char is faster than String ! Summarize There are 6 core data types (we didn’t cover boolean yet). Data TypeValueAmount of Memory (Bytes)Valid Range of Values intWhole numbers4From: -2147483648 To: 2147483647 longVery large whole numbers8From: -9223372036854775808 To: 9223372036854775807 doubleDecimals8Decimal can reach 15 significant digits StringTextVaries, 24 bytes for empty text.- charA single character2- 平时开发我基本不使用 byte, short, float See you in workbook 2.2 补充知识 在以二进制存储数据的计算机中,浮点数存在误差 !=> https://liupj.top/2021/08/31/01/ Math operators So far you’ve learned about: int、long、double、String and char. Now, you can use math operators shown as below to play with these values. +, -, *, /, %, ++, --, +=, -=, ... Pattern An operation between whole numbers returns a whole number. An operation between decimals will always perserve the decimal. Think about that why do we care about the remainder ? It’s very useful if you want to identify odd or even numbers. 1 int remainder = 10 % 2; // 0 See you in workbook 2.3 Type casting In Java, we can cast variables from one type to another. 1 2 3 4 // Cast double to int // Just telling Java the type that we're casting to. double decimal = 4.3; int integer = (int)decimal; See you in workbook 2.4 Scanner Scanner contains many methods that we can use to scan for user input. methodscan forexplaination nextInt()integersskips the whiteSpace and picks up the next Integer nextLong()integersskips the whiteSpace and picks up the next Long nextDouble()decimalsskips the whiteSpace and picks up the next Double next()textskips the whiteSpace and picks up the next String nextLine()textpicks up a line of data ……… The default delimiter is white space. Usage 1、Create an instance of Scanner which can receive input from the System.in. 1 2 import java.util.Scanner; Scanner sc = new Scanner(System.in); 2、Use Scanner’s methods to pick up (integers、decimals、text、…) from user input. 1 2 3 4 int coffeeAmount = sc.nextInt(); double coffeePrice = sc.nextDouble(); String name = sc.nextLine(); ... 3、Once you are done with Scanner, always close it, otherwise you’re going to get a resource leak. 1 sc.close(); Debugging Fixing bugs in your code is called debugging, which is a must have skill for any programmer. Debugging involves tracing the runTime step by step. Please do not clutter your code with print statements to understand what’s going on, use breakpoints instead ! the trap of nextLine() recap methodscans forexplaination next()textskips the whiteSpace and picks up the next String nextLine()textpicks up a line of data 表面现象 nextLine() gets skipped when placed after nextInt()、nextLong()、nextDouble() and next() 看清本质 这不就是我在大一学 C 语言的时候,那个曾经让我头疼万分的所谓“没有吃回车”的问题嘛 当时我还浅浅了解了一下什么是 Shell,什么是 Shell 的缓冲区 解决方案 显而易见,用 nextLine() “吃一下残留在 Shell 的缓冲区中的回车”呗~ 即:place a throwaway nextLine before the ‘real’ nextLine 请阅读 什么是 Shell 的缓冲区 what’s-the-difference-between-next-and-nextline-methods-from-scanner-class See you in workbook 2.5 Booleans and Conditionals In this section, you will gain full control over how your code runs. Roadmap Use conditions to control which parts of your code run. Execute code by comaring a [value] against a list of [cases]. boolean 1 2 boolean bool1 = true; boolean bool2 = false; Summarize Data TypeValueAmount of Memory (Bytes)Valid Range of Values intWhole numbers4From: -2147483648 To: 2147483647 longVery large whole numbers8From: -9223372036854775808 To: 9223372036854775807 doubleDecimals8a decimal can reach 15 significant digits StringTextVaries, 24 bytes for empty text.- charA single character2- boolean1true or false Comparison Operators >, Greater than, returns true if the value on the left is greater than the value on the right. <, Less than, returns true if the value on the left is less than the value on the right. >=, Greater than or equal to, returns true if the value on the left is greater than or equal to the value on the right. <=, Less than or equal to, returns true if the value on the left is less than or equal to the value on the right. ==, returns true if two values are equal. !=, returns true if two values are not equal. Comparing Strings Do not use == or != to compare strings. Instead, you can compare one string to another by calling equals() from one of them. 1 2 3 4 5 String str1 = "hello"; String str2 = "hello"; str1.equals(str2); // true !str1.equals(str2); // false You should know about how memory is being allocated. but 目前老师并没有讲 See you in workbook 3.1 if - else Goal: Use if - else to run specific code blocks based on various conditions. 1 2 3 4 5 if (condition) { // Code runs if the condition is true } else { // Code runs if the condition is false } The condition is usually the result of a comparison that returns true or false. See you in workbook 3.2 Not only can we test only one condition, but also many conditions by embedding a series of else if (condition) statements. 1 2 3 4 5 6 7 8 9 if (condition) { // Code } else if (condition) { // Code } else if (condition) { // Code } else { // Code } See you in workbook 3.3 and 3.4 Logical Operators We can use logical operators to make our conditionals a little more complex. There are 3 types of logical operators, && returns true only if both comparisons are true. ( comparison1 && comparison2 ) || returns true if either one of the comparison is true. ( comparison1 || comparison2 ) ! reverses the value of a boolean expression. See you in workbook 3.5 Switch Statements whenever you’re comparing one variable against a long list of values, such as 1 2 3 4 5 6 7 8 9 if (weather.equals("sunny")) { // code } else if (weather.equals("cloudy")) { // code } else if (weather.equals("rainy")) { // code } else { // code } you should avoid having a long list of else if statements, because this looks so disgusting ! Instead, you should favor using a switch statement which was designed to compare one variable against a list of cases. 1 2 3 4 5 6 switch (weather) { case "sunny": // code break; case "cloudy": // code break; case "rainy": // code break; default: // code } Then you might be asking that when to use if vs switch ? The only thing you can really do with switch is compare one variable against a list of values. if statement is more flexible so that suitable for complex conditions, such as when you need to compare multiple variables, they give you the flexibility to evaluate compound conditions using logical operators. 1 2 3 4 5 if (temperature >= 80 && humidity >= 60) { System.out.println("It's too hot and humid\n"); } else { System.out.println("It's comfortable\n"); } See you in workbook 3.6 and 3.7 As you write more and more code inside main(), you’ll notice that it becomes increasingly cluttered and messy. And the more code you write, the more unreadable that it becomes. Functions A function is a grouping of code, it performs a task, and obviously it’s reusable. Some functions rely on parameters to perform their task. Some functions will return a final value. Instead of writing all of your code inside of a single code block, you can split it up into functions and call them as needed. Let’s begin organizing your code using functions! Define functions and call them See video on udemy. Notice Functions’ name needs to represent the task it’s performing. Notice public means the function can be publicly accessed from any package or subfolder, but because we’ve got only one package with a single class in it, it doesn’t really matter what level of access you specify. Notice You can notice that main() is also a function, it has a very similar signature to our functions. Every function has a specific task that it performs, the main() function performs the task of running our application. The main() function has a very specific signature that the JVM looks for when you run your app, when it finds main() function, it executes it. Parameters Functions with parameters expect to receive values.(these functions rely on parameters to perform their task) Functions【without】parameters【do not expect】to receive values. Parameters are essentially just variables. Arguments A value that you pass into a function is known as an argument. Parameters and Arguments makes functions completely reusable! Notice When a function defines parameters, then in order to call it, you need to pass in a matching number of arguments based on the position of these parameters. Return Values You can return values from a function. Notice Bad practice: Your function handles the final result. Good practice: Your function return the final result. Notice Whenever you specify a return type, you need to make sure that something gets returned no matter what gets passed in. Terminate the runTime 1 System.exit(0); See you in workbook 4.3 Doc Comments Can be used to describe what a function does. If you’re working in a team of developers, you should have a document for every function. How to write Doc Comments ? See udemy See you in workbook 4.4 Scope The scope of a variable determines its life span. The take home message is: You can never access a variable outside the scope that it was defined in. Global Scope Please against using global variables, instead, you should keep everything local and use parameters, because when you have too many global variables, you start losing track of what’s really going on(such as from your debugger in vscode). Please watch the video on udemy. Built-in Functions The JDK provides so many built-in functions that you can call out of the box. But to be honest, a good developer never memorizes code! Instead, a good developer uses the internet! to read documentation. to find resources. See you in workbook 4.5 Loops For Loops: designed to run code a specific number of times. While Loops: designed to run code an unknown number of times. You will use the break and continue keywords to gain full control over your loops. For Loops 1 2 for (int i = 0; i < 3; i ++) { } While Loops What is a while loop ? A while loop keeps running while a condition is true. 1 2 while (condition) { } See you in workboook 5.8 ~ 5.10 continue The continue keyword skips a run in the loop and continues with the next one. break The break keyword when invoked, breaks the loop entirely. Nested Loops A nested loop is a loop inside of another loop. eg: useful when working with 2D arrays. 1 2 3 4 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { } } Arrays、2D_Arrays Looping Arrays、Updating Arrays Arrays Sometimes values can be closely related and creating one variable after another can be very messy such as below. 1 2 3 4 5 double price1 = 5.99; double price2 = 6.99; double price3 = 7.99; double price4 = 8.99; double price5 = 9.99; So what we can do is to store all of these values at the same time in an organized way which is called an array. 1 double[] prices = { 5.99, 6.99, 7.99, 8.99, 9.99 }; Although an array can hold many values, all of them have to share the same type. For example as below, integers points to an array of integer values. 1 int[] integers = { 1, 2, 3 }; Talk is cheap 1 String[] kindoms = { "qwe", "asd", "zxc" }; The truth is: the variable kingdoms doesn’t store the array directly instead it stores a [reference] that points to it 1 2 3 // You can try to compile and run this line of code, // you will get a hashcode representation of the reference. System.out.println(kingdoms); and each element is stored at an index what will happen if I try to access an element outside the range of the array ? 1 System.out.println(kingdoms[3]); Java throws an ArrayIndexOutOfBoundsException, in essence, crashing our application, telling us that we have an error in our code —— “Index 3 is out of bounds” Preparing to loop arrays The length of an array indicates the number of items it contains. 1 2 String[] items = { "apple", "banana", "cherry" }; System.out.println(items.length); // 3 So we can use the length property to loop arrays. Looping arrays Arrays and loops are like siblings. 1 2 3 4 5 6 7 8 9 10 11 12 String[] numbers = { 1, 2, 3, 4, 5, 6 }; // If you want to access each element in the array // Would you perfer to index them all individually ? numbers[0] numbers[1] numbers[2] numbers[3] numbers[4] numbers[5] // or use some kind of loop that iterates through every single element in the array ? // I think the looping approach would be more efficient. 1 2 // Print the elements of an integer array using a loop int[] numbers = {22, 24, 26, 29, 30}; for 循环 1 2 3 4 // autoComplete a for loop in vscode: fori<ENTER> for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } foreach 循环 foreach simplifies looping through an array without the need for a counter or a counter increment or anything. 1 2 3 4 // autoComplete a foreach loop in vscode: fore<ENTER> for (int number : numbers) { System.out.println(number); } It just automatically iterates through every single number inside of the numbers array. So as you can see, foreach is much cleaner and concise than the traditional for loop, but the traditional for loop is more flexible because the counter i give us more control over the looping process. I’m a bit tired of using loops to print an array, Java has a function called toString, it takes your array as an argument, and it returns a string that we can print. Updating Arrays It’s time to learn how to update arrays. 1 2 String[] flavours = { "Sweet", "Sour", "Bitter" }; flavours[2] = "Salty"; Is it possible to change the array length ? NO. Once you create an array, you cannot resize it. 1 2 String[] menu = { "Espresso", "Iced Coffee", "Latte" }; String[] newMenu = new String[5]; 1 2 3 for (int i = 0; i < menu.length; i++) { newMenu[i] = menu[i]; } The reference trap I told you earlier that a variable cannot store an array, it stores a reference that points to it. Because of this, another variable can actually store a reference that points to the same array. 1 2 int[] numbers = { 1, 2, 3 }; int[] numbers2 = numbers; Do not set array variables equal to each other! Instead, create a new array, then, copy every value using a for loop. A better solution Arrays.copyOf(a, b); a means that the array you want to copy. b means that how much of it you want to copy. 2D Arrays 1 2 3 4 5 int[][] grades = { {72, 74, 78, 76}, {65, 64, 61, 67}, {95, 98, 99, 96} }; When to work with 2D arrays ? 2D arrays is perfect for data in the form of a table. 1 2 int[][] integers = new int[3][4]; // 3 行 4 列 System.out.println(Arrays.toString(grades[0])); // [0, 0, 0, 0] arrays and loops are like siblings nested loops outer loop runs through every row (i) inner loop runs through every item in that row 1 2 3 4 5 for (int i = 0; i < grades.length; i++) { for (j = 0; j < grades[i].length; j++) { // ... } }

2023/12/10
articleCard.readMore

公司内部培训笔记

21世纪的 5 大生产要素:[数据]、土地、劳力、技术、资金 数据治理/运营是一种硬技能 做解决方案的思路 让用户感受到我们了解他们行业,并且很专业(用户不愿意听一个外行的聒噪) 描述清楚客户的核心问题 针对性地提出方案 讲出用户和我们合作的理由(我们是很专业的) 口说无凭,给出我们做过的成功案例 用结构化的方式进行思考、表达 Tips:思考的过程中应拿笔将思考出的结构用笔写下来,进而进一步分析 读观点传达类的文章可以对文章进行解构分析,然后建构,以清楚全面了解文章观点 学习别人的PPT可以先解构,再建构,为我所用 解构4步法:PUTS P:means pick,即提取要点 U:means unit,即分组整理 T:means track,即查找关联,画出结构树状图 S:means summary,即总结概括 建构4原则:PGOS 树状图 P:结论前置 G:共性分组 O:先后排序 S:上下对应 典型场景的结论撰写公式 计划型:准备做…. + 预期目标(结果) 解释型:因为…… + 准备做… 状态型:已进行到.. + 当前状态/阶段成果 总结型:….已完成 + 结果/影响是… 建议型:应该做…. + 以达到..目的/效果 表态型:我认为…. + 因为…的原因 营销的一种结构 你的目的是:递观点 讲故事 述情怀

2023/12/3
articleCard.readMore

颓废文学

正义都能迟到,为什么我上班不能迟到 比我优秀的人都在努力,那我努力还有什么用 干一行,恨一行,三百六十行,行行干破防 安慰别人一套一套,安慰自己绳子一套 天生我材必有用,至今不知有何用 轻舟已过万重山,乌蒙山连着山外山 明知山有虎,不去明知山 任何困难都可以直接克服我 希望大家都能走出舒适圈,然后让我进去 生活不是无路可走,还有死路一条 …

2023/11/19
articleCard.readMore

早起奔向面馆(转载)

很喜欢这篇文章,所以转载到我的小站了,如有侵权请联系我 原文链接:https://www.yilinzazhi.com/2023/yl20231/2023111246.html 鱼面分离的长鱼汤面是小面馆的绝活儿,长鱼就是鳝鱼。一大碗汤面配上一小碟鳝鱼,足以作为一天的元气补给。汤面由青花瓷碗盛着,浸在奶白色泽的汤里。如果顾客无食忌,王师傅会加些葱花或韭菜提鲜。这碗汤,王师傅头天下午便开始熬。 这个熬可大有讲究,熬汤先熬骨。凌晨四点钟不到,已经开始忙活的王师傅加入鳝鱼片接着吊汤。直到清晨六点钟,汤熬毕,面备齐,小镇的八方食客也在来吃面的路上了。 “王师傅早!”“早上好!”王师傅利落地盛汤、盛面、迎客、送客。让我想起第一次看他“庖王片鳝”,原本呈二角面的鳝鱼骨头在王师傅手里瞬时变得不一样起来,似乎有了神圣的色彩。王师傅头一刀从鱼头扎下去,急速沿鱼肚破开,接着沿骨剖开,末了再来一刀,一条干净齐整的鱼骨就在这三刀间成功脱了鱼肉。后来熟悉了小面馆,熟悉了王师傅,知道他就是这样一个干净齐整的人,案板总是清清爽爽,菜码也是秩序分明。简单的汤面,鳝鱼摆盘,他也尽可能在最短的时间拾掇得适宜、美观。我夸他认真,他一边片他的鳝鱼,一边笑道:“日子不就是这样过的吗?” 日子一日三餐地过,举筷间我们一家人总要聊起小面馆,聊起认真过日子的王师傅。外公说:“做工作就要像老王,带劲!”他的确是带劲的,想来很大程度上缘于他有个好环境。在哪里工作,哪就是自己的领地。既然是领地,哪能潦草呢?除了“字典”里基本的整洁,王师傅还给自己的小面馆装了几盏灯。除了负责让店面更亮堂的暖黄灯管,还有星星一样的装饰灯,也是暖光的。他很得意地告诉我,这是他从儿子课本上看来的,书上说暖色调会刺激人的食欲。 用王师傅的话说“忙总要忙出名堂来的”。其实,他追求的也不过四个字——“健康美味”,只不过他从未搞错这两个词的顺序。王师傅不怕麻烦,我早就见识过,该先熬魚骨就先熬鱼骨,该下鱼肉了才下鱼肉,该几个小时就几个小时。直到准确的步骤和恰到好处的时间让鱼骨里的胶质毫无保留地煨在汤中,进入每个食客的胃中,暖身暖心,最终久久地写入他们的味蕾记忆。王师傅还不怕浪费,后来外公说起,我才知道他总是挑好的、贵的食材,从不吝啬。 一次,王师傅念小学的儿子给他打下手,小家伙一个没夹稳,食客要的荷包蛋“啪”的一声掉在了案板上,儿子拾起来就要往水池走,应该是想洗干净。王师傅停下手中的活儿,指着墙角的垃圾桶,说道:“扔掉。”得到大众认可总是有其道理的,而得到大家伙儿的肯定,除了能收获一众老客,还能收获满满的干劲。 在王师傅的小面馆里,的确蕴藏着极盛大的认真,大清早世界刚刚苏醒,他已带着足足的干劲盛汤、盛面、迎客、送客。热气扑向他,把他衬得像个早间厨神,好像人间千家万户的早餐,全都仰仗着他这双带劲的路膊。 我大喝一口乳白色的鲜鱼汤,由它把我体内的一个个器官朋友彻底激活。在早上急匆匆的城市大背景里选择稳当坐下来,认真吃一碗热腾腾、鲜入骨的长鱼汤面,也是我过日子所坚持的认真。

2023/9/10
articleCard.readMore

夜爬泰山有感

因为网上别人发表的攻略给了我不少帮助,所以我也决定写下这篇攻略,分享给大家 说实话,夜爬泰山之后,我是有些后怕的,为了大家的安全着想,我要先写一下此次夜爬我感受到的危险 我没有数我到底爬了多少级台阶,但据网友反映泰山大致需要爬六七千级台阶(但我觉得这每一级台阶都比普通住宅楼里的台阶更窄、更陡、更不平) 端午假期游人众多,十有八九都是二十啷当岁初生牛犊不怕虎的年轻人,达到了人挤人的状态,众多的爬山人和漆黑的夜色给山路增加了不少危险性 因为台阶上会有空的矿泉水瓶、西瓜皮、水果核,甚至还会有别人遗弃的登山杖,这些东西会向山下掉落,而你很难时刻注意你脚下的真实情况 一旦不小心踩住或绊住,就特别容易摔跤(下山路上不少台阶上已经干了的暗红色血迹真的让人不寒而栗) 而在人挤人的情况下,摔跤就变得更加危险,无论是自己摔跤还是别人摔跤,都极易造成连锁反应(幸好我没遇到) 另外,如果你爬到半山腰想放弃,你会进退两难,你只能向山路两边的护栏和岩石靠拢,而部分爬不动的人放倒在地面上的登山杖又容易绊倒上山的人 渴、饿、累、困、冷、拉肚子、低血糖,还有其他情况在高山上的夜晚都可能出现,商店很多,厕所不多,没有医院 另外,上山容易下山难,这是亘古不变的真理!!! 看到这里如果你觉得你可以,我要开始安利了 上山之前 你可以像我一样,下午去山东农大旁边的清真寺街吃当地的特色美食——姜片炒鸡 清真寺街的许家姜片炒鸡很好吃也很适合作为上山前补充体力的食物 鸡肉外香里嫩干而不柴,姜片是油炸过的,薄脆像薯片,很适合我这种不喜欢姜味的人哈哈哈哈哈 老板娘年轻美丽,长得像我高中语文老师,掌柜的慈眉善目和蔼可亲,看起来人很正派,希望他们家红火 我吃了一只炒鸡一碗大米半份蒜泥黄瓜,昏昏欲睡。。 那就去红门游客中心旁边开个房吧,钟点房一小时 20 元,一觉醒来八点半了。。 九点多向山顶进发! 爬山途中 一路上我竟然没有一丝困意,大概是太想登顶了吧,虽然我一直在出汗,一直在补水,到中天门没忍住,吃了两块西瓜 反正周围一片漆黑全是人啥风景也看不到,心中只有一个目标,冲向山顶! 早知道就不带风油精了,蚊子大概不知道该咬谁吧,全是人。。 脑海里竟然出现了角马大迁徙的场景,那个画面。。我们就是英勇无畏的角马! 登山杖立起来啊朋友们我都害怕踩到前面人的登山杖。。 登顶了! 在一个看起来人不多的地方坐了下来,面前是齐鲁大地灯火辉煌的夜景,好令人震撼啊,打开手机指南针一看,正西。。 溜了溜了 果不其然,正东已经坐下了两三排人,一点多啊,我还以为我来早了。。 看到一个空位,两边都是小姐姐。。我滴妈呀。。问了一句她们竟然是同伴。。友善的小姐姐给我挪了个位置,小姐姐真好啊,带了薄荷口香糖提神用的,问她吃不吃,好像把我当坏人了。。防人之心不可无啊。。 山风一阵阵的,这届大学生果然优秀,我们喊着口号“青春没有售价,泰山就在脚下!” 啊!心情舒畅! 您的浏览器不支持Video标签。 扛旗的小伙子真酷啊!美丽的五星红旗在泰山之顶迎风飘荡,我们唱起了国歌! 租件大衣看来是正确的,山风一阵一阵的,没风的时候热,吹风的时候冷,嗨,还是穿着吧。。 好久没有看到过这么多的星星了啊,感觉真美好,可是星星不够亮,手机拍不出来。。 天蒙蒙亮了!岩石上一个小哥哥播放了下面这首歌,感谢他 Your browser does not support the audio element. 泰山之巅的启明星叫醒了不知名的鸟儿,歌声婉转,我的头顶还飞过了几只小蜜蜂,到底是谁喊了一句“md还有苍蝇” 远处的云竟然像一个齐平的大幕,太阳像一个烙红的热铁,又像一盏刚点亮的路灯,从云深处慢悠悠巍然而起 清晨的太阳变化很快,不一会儿就变得像一个顶着金色帽子的红色真知棒 前面的人开始下山,后面的人举着镜头向前,我开始饿了,找了个安全的地方开始补充体力,夜晚没看到的风景我要在凉爽的早晨补回来! 和一个刚毕业的小哥哥聊天了,我感觉他好有礼貌好帅气好紧张,我说我不年轻了,他说我心态年轻。。没毛病 95 后已经干不过 00 后了。。 我还是很感激他,告诉了我厕所在哪里,虽然我去了另一个厕所。。 在山顶休整了两个小时,山上开始变得冷清,我开始欣赏清晨的泰山景色,啊,山川大好,大好河山! 我在泰山顶的岩石上晾晒我湿了的衣服,心想咱也是在泰山顶上晾过衣服的人了哈哈哈 有个零零后的小男生翻过了护栏让他朋友拍照,脚的旁边就是万丈悬崖,我看得好害怕,友善提醒了一句,他没听,幸好他安全翻回来了 别做傻事啊朋友们,青春价虽高,生命诚可贵,也可能是我太胆小了吧,但我觉得小心驶得万年船 我看到有一家人也在山顶玩耍,感觉素质很高,孩子丢下的垃圾都捡走了,给他们点赞,朋友们在保证安全的情况下尽量别乱丢垃圾啊,清洁工很辛苦,泰山奶奶不容易 我和他们一起聊着天下山了,他们竟然也从天津来,本来说要一起去坐索道,但是我不想排队了,就下山去中天门了 下山路上的风景真好啊,空气看起来就特别清新的样子,呼吸让人舒畅 坐索道的人应该会看到不一样的风景吧 坐着大巴下山了,这个盘山路真刺激啊,窄窄的双行道只有两个大巴的宽度,连续不断的大巴车擦身而过,司机师傅太牛了 车上超级安静,司机超级淡定,我超级亢奋,这比跑跑卡丁车都刺激 到了山下手机信号才变好了,去的时候带点一块的纸币爬山路上用得着啊朋友们 拜拜泰山,拜拜沿路遇到的每一个友善的人 下次再来 手机,充电器,充电宝,身份证,钥匙,水,卫生纸,纸币零钱 换洗保暖衣物 洗漱用品:牙刷、牙膏、毛巾、剃须刀,保鲜膜套 应急药物 遮雨遮阳防病毒防蚊虫:伞,帽,墨镜,口罩,风油精/花露水 其它:手表、蓝牙音响、耳机、口哨

2023/6/24
articleCard.readMore

How a good scripter to solve problem

1 2 3 4 5 6 7 8 9 10 just repeat: try it the slow way to understand what you are trying to achieve do some learning(remember to look up documentation) break up the problem into steps choose data_types、control_flows、... write down your pseudo_code write code & test code 思考一下:why you should choose data_types ? Different types have different properties, and an object’s type defines which operators and functions will work on that object and how they work so when you’re designing on computer program, you need to choose types for your data based on how you’re going to use them For example, if you want to use a number as a part of a sentence in Python, it’ll be easiest if that number is a string, because there exists specially designed operators and functions for working with these data. learn from: https://learn.udacity.com/courses/ud1110

2023/4/1
articleCard.readMore

如何购买国外的课程(在中国)

先看看这篇文章:从支付、购买到售后:Google Play 购物指南 ok, 我选择使用【礼品卡】的付款方式 使用的设备 macbook、iqoo-z5 背景 我的每台设备均可以正常访问 google 读者可以各显神通以获得速度良好的外网访问权限 安卓手机如何下载 play 商店 下载渠道:apkmirror.com 参考了这个视频:https://www.youtube.com/watch?v=isERiuP5xTY 安卓手机通过验证码验证谷歌账号时若不显示验证码的输入框怎么办 将手机的【验证码安全保护】关闭即可,可在手机设置中搜索 感谢这个视频的评论区给予的帮助 在哪购买礼品卡 淘宝搜索【play 礼品卡】 根据自己需要哪个国家或地区的💰来选择购买礼品卡 笔者礼品卡购于咸鱼,使用方式可询问卖家 done

2023/3/28
articleCard.readMore