1970-01-01 08:00:00
你好,我是小柒。
Java 程序员,热衷自动化。
前段时间花了 5 天左右,借助 Notion + CloudFlare + Github Actions 零成本搭建了一个支持一键分销的小报童排行榜: https://xiaobot.osguider.com。在这里复盘一下过程,希望能够对你有所启发。
善用 MVP 思维,用最小的成本最快地实现最核心的功能,尽早触达用户,尽早获取反馈,不断迭代,不断升级。
小报童排行榜是一个罗列了(几乎)所有小报童专栏的导航网页。可以帮助你一键分销所有小报童专栏。
1970-01-01 08:00:00
添加数据文件 _data/site.json
,写入以下内容,定义站点信息和 si
1970-01-01 08:00:00
GitHub Actions 可以添加运行参数。我只需要设置 filepath 和 content 两个参数,然后配合 shell 脚本就可以自动生成和提交博文到 GitHub 仓库,进而触发自动构建和发布。
GitHub Actions 提供了 REST API 来触发前面的工作流,这样我就可以通过 HTTP 请求来自动生成和发布博文。
开源服务指南数据库现在是建立在 Notion 上的,Notion 也提供了 REST API 的交互方式。所以我只需要定时扫描 Notion 数据库,获取状态刚变更为 “已发布” 的博文,提取文章内容,通过第 2 步中提到的 REST API 来触发第 1 步中提到的 GitHub Actions 即可自动生成和发布博文。这里我使用了 Cloudflare Workers 实现。
怎么监测 Notion 数据库文章状态变动呢?想要监测状态“变动”,我们需要知道变动前的状态和变动后的状态,进而需要有数据库缓存变动前的状态,能做,但麻烦。所幸,pipedream 帮我们做好了这个事情。它能够监测 Notion 数据库变动,并且触发工作流执行。
1970-01-01 08:00:00
activiti 由 Alfresco 软件开发,目前最高版本 activiti 7
。
activiti 有 5、6、7 几个主流版本。其中 5 和 6 的核心 Leader 是 Tijs Rademakers,后来由于内部分歧,Tijs Rademakers 在 2017 年离开团队,创建了 flowable。
现在 activiti 由 Salaboy 团队接管,5 和 6 两个版本已经暂停维护,activiti 7 仍然使用 activiti 6 的内核,并没有开发新的特性。只是在 activiti 上层封装了一些应用。
1970-01-01 08:00:00
特色 | Canal | mysql_streamer | go-mysql-transfer | Maxwell | Databus | DataX |
---|---|---|---|---|---|---|
开源方 | 阿里巴巴 | Yelp | - | zendesk | 阿里巴巴 | |
开发语言 | Java | Python | Golang | Java | Java | Java |
活跃 | 是 | 否 | 是 | 是 | 否 | 是 |
高可用 | 支持 | 支持 | 支持 | - | 支持 | - |
文档 | 详细 | 还行 | 详细 | 详细 | 详细 | 还行 |
数据源 | Mysql | Mysql | Mysql | Mysql | Mysql Oracle |
MySQL Oracle OceanBase SQLServer PostgreSQL DRDS ALL_RDBMS ODPS OSS OTS Hbase0.94 Hbase1.1 Phoenix4.x Phoenix5.x MongoDB Hive Cassandra TxtFile FTP HDFS TSDB TDengine OpenTSDB |
接收端 | 编码定制 | Kafka等(MQ) | Redis MongoDB Elasticsearch RabbitMQ Kafka RocketMQ HTTP API 后续支持更多 |
stdout Kafka Kinesis Nats Google Cloud Pub/Sub Google Cloud Bigquery RabbitMQ Redis SNS |
编码定制? | MySQL Oracle OceanBase SQLServer PostgreSQL DRDS ALL_RDBMS ODPS OSS OTS Hbase0.94 Hbase1.1 Phoenix4.x Phoenix5.x MongoDB Hive Cassandra TxtFile FTP HDFS TSDB TDengine ADS OCS Elasticsearch |
全量数据初始化 | 不支持 | 支持 | 支持 | 支持(maxwell-bootstrap) | - | 支持 |
数据格式 | 编码定制 | Json(固定格式) | Json(规则配置) 模板语法 Lua脚本 |
Json (固定) | 编码定制? | - |
备注 | 需要写代码定制接受端 | 可扩展性更强,但是上手难度更高 | 数据同步非实时 实际使用配合 datax-web 体验更佳 |
1970-01-01 08:00:00
是指非接触式类电子卡片/标签,包括有ID卡、IC卡和NFC卡以及其它等电子卡/标签。他们主要的区别在于工作频段。
NFC,全称是Near Field Communication,“近距离无线通信”,NFC本质信息双向交换。
NFC和RFID都是基于位置相近的两个物体之间的信号传输,NFC技术增加了点对点(P2P)通信功能,NFC设备彼此寻找对方并建立通信连接。P2P通信的双方设备是对等的,而RFID通信的双方设备是主从关系。
NFC 的工作频率是 13.56Mhz,所以只能读取和模拟 13.56Mhz 的 IC 卡。
1970-01-01 08:00:00
每一年都会发生很多很多的事情,能引发我去觉悟的,却寥寥无几。
2023,我称之为自己的开悟元年。
一些故事和感悟,与你共享。
认识了一位新朋友,毫无保留地跟我分享她的世界。音乐、美食、玩乐、世界观,等等等等。给我异常封闭的世界打开了一扇窗。
还有一位老朋友,劳心劳力带我四处游玩,没有一丁点怨言。见到了许多从未见过的风水,体验了许多从未体验过的人情。
读万卷书不如行万里路,行万里路不如阅人无数。
可能多亏了这些朋友们,才能让我愿意打开自己的心门,尝试着去接触这个世界。
当然,按照我现在的境况,距离“见自己、见天地、见众生”还相差甚远。但我相信自己终能解开枷锁,释放真我。
1970-01-01 08:00:00
平台 | 收费策略 | API | 自定义宽高 |
月刊-202310
1970-01-01 08:00:00 开发技巧
待办清单:化被动主动
1970-01-01 08:00:00 我有一个天赋,脑海时常能蹦出来许许多多的奇思妙想,如漫天星海,美妙无穷。 我把事情装在脑子里,经常需要冥思苦想:
等
1970-01-01 08:00:00 “终有一天,我要抛却一切枷锁。踏上旅程,环游世界。” “健康永远是第一要务,是时候好好规划一下了。” “等我调研完所有的时间管理理念并且总结出一套适合自己的方法论再去执行。” “我想开个自媒体帐号分享心得,倒逼自己成长。但是…..等
记一次 Notion 油猴脚本的编写经历
1970-01-01 08:00:00 起因最近借助 Notion 作为数据库搭建了《开源服务指南》的工作流,Notion 是真的好用,无奈复制出来的 Markdown 文本中图片部分格式不对(不知道是不是我使用方法有问题),需要手动修正。一回生二回熟三回咱可不就烦了嘛,所以想着写个油猴插件解决 把 Notion Page 内容复制为标准 Markdown 文本 这个问题。 折腾获取页面 HTML,然后 HTML 转 Markdown先查了一下资料,在 GreasyFork 搜索 使用类似的思路,先获取目标 DOM 的 HTML 代码,然后 HTML 转 Markdown。但是理想很丰满,显示很骨感。
刀
1970-01-01 08:00:00 以前的我 指哪儿打哪儿 人都说刀客 天下无敌 现在这把刀有了刀灵
裹挟
1970-01-01 08:00:00 江河湖泊, 或许, 偶尔抬头看看天, 只是,
蒲公英
1970-01-01 08:00:00 我最近突然对自己有了相对来说更加清醒的认知。 在互联网的世界里 我把自己比作蒲公英。 乘风而行,能比更多人更早地见到更多更新鲜的事物。 能乘风但不能御风,观万物但未能留痕。
使用 dockerfile-maven-plugin 构建 docker 镜像
1970-01-01 08:00:00 简介本文介绍了 com.spotify:dockerfile-maven-plugin 的简单使用示例。 功能相似的插件有三个:
使用以 spring-boot-web 项目为例:
学习笔记-专利写作第一课
1970-01-01 08:00:00
Linux + picgo 图床自动化实践
1970-01-01 08:00:00 前言因为 PicGo 在 Linux 下的 GUI 体验并不是很好,索性自己通过 Shell 脚本和快捷键的方式实现了较好的用户体验,记录下操作流程,希望能帮到各位。 环境笔者测试的相关软件环境如下:
使用 git 备份和恢复 dotfiles
1970-01-01 08:00:00 前言Unix 用户的配置文件一般存储在以 本文讲述了一种极其优雅的通过 git 备份和恢复 dotfiles 的方法。 备份
学习笔记-持续交付 36 讲
1970-01-01 08:00:00 持续交付 36 讲持续交付是提升软件交付速率的一套工程方法和一系列最佳实践的集合。它的关注点可以概括为:持续集成构建、测试自动化和部署流水线。 基本概念持续集成、持续交付和持续部署的关系
“持续交付”是一个承上启下的过程,它使“持续集成”形成闭环,有了实际业务价值;又为将来达到“持续部署”的高级目标做好了铺垫。 持续交付的价值不仅仅局限于简单的提高产品交付的效率,它还通过统一标准、规范流程、工具化、自动化等等方式,影响着整个研发生命周期。
IntelliJ IDEA 最佳实践 - 精选插件
1970-01-01 08:00:00 前言IntelliJ IDEA 提供了强大的插件系统,并且有着完善的插件生态。 成千上万追求极致的开发者们为 IDEA 开发了不计其数的插件,可以极大程度地帮助开发者提升开发速度、代码质量、以及开发的舒适度等等。 本文收集了最受开发者喜欢的一些插件,罗列至此,希望能够对你有所帮助。 插件的安装和卸载章节被我放在了文章较后的位置,如果你需要查看这些内容,翻看文章后面的 安装 和 卸载 章节即可。 精选插件Rainbow Brackets这款插件名为彩虹括号,可以帮助我们更好地匹配括号和定位代码块。
Intellij IDEA 最佳实践-注释模板
1970-01-01 08:00:00 IDEA 的设置项中提供了 Live Templates 和 File and Code Templates 的设置。其中:
使用 Intellij IDEA 创建 maven 多模块项目
1970-01-01 08:00:00 前言之前接触过的项目大都是单体应用,各应用之间有功能重合但无代码共用。同样的功能,要么重复开发,要么代码拷贝,开发繁琐且效率低下。一但在多个应用中均有使用的相同的代码出现了 bug,开发人员更是要在多个应用中逐个修复,劳神伤身。 故引入模块化开发概念,把相对独立的功能抽离成组件开发,完成之后再组合到一起服务业务。一来开发有了积淀,新项目不必从零开发;二来 bug 的修复也会简单很多,只需修复一次,升级版本即可。提高了工作效率,才会有更多的时间去做技术研究和价值创造。 简单查询了使用 Intellij IDEA 进行 maven 多模块项目的创建过程,只是模块化开发中很小的一部分,记录于此,用以备忘。
通过代理连接 ssh 服务器
1970-01-01 08:00:00 前言碍于各种复杂的网络环境,有些情况下我们并不能直接访问 SSH 服务器。 这时,网络代理和 SSH 隧道就成了救命稻草。 本文记录了通过网络代理和 SSH 隧道连接远程服务器的几种方法,希望对你有所帮助。 稻草堆使用 SSH 隧道连接服务器常用于跳板机场景。
SSH + ncat 使用 HTTP(s) 代理连接服务器
SSH + ncat 使用 Socks 代理连接服务器
Java 清空控制台输出
1970-01-01 08:00:00 前言本文通过两种方法讲述了 Java 如何清空控制台输出,达到类似 Linux 中 两种方法均在 Linux 环境中测试通过,Windows 环境请自行测试,理论可行。 下列代码需要在控制台执行才会有清除控制台效果,在 IDE 中执行无效。 使用 ASCI 控制码清空控制台通过输出 ASCI 控制码清空控制台,代码如下:
另外,ASCI 控制码还可以实现前景色、背景色、下划线、消隐、闪烁效果的设置以及光标控制,具体方法请阅读参考文档。
红米 K40 Pro 安装 Magisk(非 TWRP)
1970-01-01 08:00:00 前言这篇文章记录了 RedMi K40 Pro 手机非 TWRP 方式刷入 Magisk 的过程、OTA 升级的注意事项和一些常用 Magisk 模块推荐。希望能够对你有所帮助。 安装 Magisk
Hexo + Typora + PicGo-Core 写作三件套
1970-01-01 08:00:00 前言使用 Hexo 写博客已经很久了,各方面体验还算顺滑,唯一感觉不是那么爽的地方在于图床的使用。 如果在写作的过程中需要插入图片,我需要先中断写作,打开图床 web 页面,上传图片,复制图片链接,再回到编辑器粘贴图片链接。整个过程极其繁琐,令人苦不堪言。直到我遇到了 PicGo-Core。 PicGo-Core 可以和 Typora 无缝连接,在几乎无感的情况下完成图片的上传与 markdown 格式的转换,极大得提高了写作的流畅程度。 本文将结合我的自身实践,讲述 Hexo + Typora + PicGo-Core 的联合配置过程,希望能够对你有所帮助。 文章适合已经把玩过 Hexo 或者对 Node 有所了解的用户理解,如果您没有接触过对应知识,还请自行补充。 文中 “Hexo + Typora 联动” 章节与 “Typora + PicGo-Core 联动” 章节并无关联,可以只阅读自己感兴趣的部分。
月刊-202012
1970-01-01 08:00:00 优秀文章
月刊-202009
1970-01-01 08:00:00 优秀文章
monthly-202005
1970-01-01 08:00:00 优秀文章
Ubuntu 20.04 装机手册
1970-01-01 08:00:00 前言期待已久的 Ubuntu 20.04 终于发布了,对其朝思暮想的我当然要前来尝试一番。 这篇文章是我从 16.04 至今一直在使用的装机手册,致力于让 Ubuntu 使用起来更加顺手。整理至此,供君采撷。 附装机图一张:
Python 兴趣小组第十周作业
1970-01-01 08:00:00 学习目标第十周的部分目标在第九周提前完成了,第十周实战章节的教程与我目前的能力不太符合。索性调整了计划,自己设计实现了一个简单地新闻爬取程序。 利用了第三方现有的接口,综合使用了之前学到的许多知识,勉强能让自己满意吧。
愿世间美好与你环环相扣
1970-01-01 08:00:00 前言我是一个有着轻微强迫症的人,万事万物都想追求尽善尽美。 对于工具,亦是如此。欲善其事,先利其器。我一直在寻找更加得心应手的工具。 所幸、这样的工具并不少见;可惜,很多工具鲜为人知。 所以,我做了一个网站,罗列了一些我个人认为很好的值得与大家分享的东西。 愿世间美好,皆与你环环相扣。
Python 兴趣小组第九周作业
1970-01-01 08:00:00 学习目标完成 Python 教程 - 廖雪峰的官方网站 以下章节的学习并输出学习笔记:
Python 兴趣小组第七周作业
1970-01-01 08:00:00 学习目标完成 Python 教程 - 廖雪峰的官方网站 以下章节的学习并输出学习笔记:
围墙
1970-01-01 08:00:00 围墙温饱有余,奢侈不足。从小到大,我的家境一直是这样的一种境况。 凭借勤俭节约,我们能过上“还不错”的生活。所以,我一直不太理解“有钱人”的生活。 千元左右的安卓手机也能打电话玩游戏,为什么要花四五倍的价格去买 iPhone? 淘宝上遍地都是十几块钱的线控耳机,为什么要花几千块钱去买 AirPods、Sony? 都是打字,薄膜键盘凭啥就不如机械键盘? …… 大学之后,这些问题便常伴随我左右。 因为在自己的小天地里过得“还不错”,所以简简单单地把答案归结为“钱多没地方花”或者“打肿脸充胖子”。 从未去深究,从未去探寻围墙外的世界。
月刊-202004
1970-01-01 08:00:00 优秀文章
Python 兴趣小组第五周作业
1970-01-01 08:00:00 学习目标完成 Python 教程 - 廖雪峰的官方网站 以下章节的学习并输出学习笔记:
反思
1970-01-01 08:00:00 堕我是一个很纠结的人。 不安于现状,不付诸改变。 退一步安于现状,可得温饱安逸;进一步付诸改变,可得蜕变升华。但我恰恰就身处这夹缝之间,不愿退,不易进。循环往复,无法自拔。庸人自扰,说的大概就是我现在的状态罢。 惑我大多数时候的生活状态是这样的:忙时碌碌无为,闲时无所事事。 忙到尽头,便是自怨自艾;闲到极致,皆是胡思乱想。 为什么?我会成为这样的自己?
Python 兴趣小组第三周作业
1970-01-01 08:00:00 学习目标完成 Python 教程 - 廖雪峰的官方网站 以下章节的学习并输出学习笔记:
《寄生虫》观后感
1970-01-01 08:00:00 电影信息电影简介电影《寄生虫》讲述了一个韩国贫苦人家凭借机遇、能力和心机把自己一家四口安排到一个富贵人家工作,最后因被前帮佣一家发现而引起冲突并导致真相败露的故事。
月刊-202003
1970-01-01 08:00:00 优秀文章
Python 兴趣小组第二周作业
1970-01-01 08:00:00 目标系统学习 Python 知识,简单入门 Python 编程。 验收标准学完 Python 教程 - 廖雪峰的官方网站 系列教程。 Python 入门学习计划本计划依据 Python 教程 - 廖雪峰的官方网站 制定。
Python 兴趣小组第一周作业
1970-01-01 08:00:00 Python 是什么?Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。由 Guido van Rossum 于 1989 年底发明。Python 的第一个公开发行版发行与 1991 年,源代码遵循 GPL(GNU General Public License)协议。Python 语法简洁而清晰,具有丰富和强大的类库。它常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。 为什么会出现 Python 这种语言?Python 由 Guido van Rossum 于 1989 年年底出于某种娱乐目的而开发,Python 语言是基于 ABC 教学语言的,而 ABC 这种语言非常强大,是专门为非专业程序员设计的。但 ABC 语言并没有获得广泛的应用,Guido 认为这是非开放造成的。 Gudio 在 Python 中避免了 ABC 不够开放的劣势,加强了 Python 和其他语言如 C、C++ 和 Java 的结合性。此外,Python 还实现了许多 ABC 中未曾实现的东西,这些因素大大提高了 Python 的流行程度。
实验 - Python 兴趣小组
1970-01-01 08:00:00 背景受 一名叫大蕉的程序员 的影响,我在过去一年里获得了比较大的成长。我也一直在想,自己能不能像他一样,帮助周围的人一起成长。 两个月前组建了一个写作群,虽发展不及预期,但效果还不错,群员都有自己的成长。亲眼看着有的人从一直有兴趣写作但几乎从未动笔到几乎周周更文并且还能获得班主任和辅导员的点赞转发;亲眼看着有人写出了比我更深刻的对于乡情的认识;亲眼看着有人可以用“我不想长高”切入,讲述让我眼眶发热的关于父爱的故事…… 到最后我只能惊叹道:“你们真是一群宝藏男 / 女孩”。他们的文字,让我收获良多。 一开始只想着看看自己能不能帮到别人什么。没曾想,在收获面前,我的付出根本不值一提。 在学校同乡会的群聊中,我曾不止一次看到不止一人说想学 Python,但之后貌似都没了下文。恰巧前几日群里又有人说起了这个话题,心想着我或许可以给他们一个开始的理由和坚持下去的动力及约束。 于是,“Python 兴趣小组”群应运而生。谨以此文,记录建群历程,供以后借鉴。
月刊-202002
1970-01-01 08:00:00 优秀文章
年
1970-01-01 08:00:00 2020,果真是多事之秋,开年便有诸多不顺。 最近经常听到别人说庚子年是灾年。但是我觉得吧,好事和坏事每天都在发生,只是有时候坏事恰巧发生在了庚子年,特别惹人注意,仅此而已。 作为一个 30% 的唯心主义者,我认为逆天改命最大的因素在于自身。管它大环境如何,做好自己,便是成功的开始。 虽然说环境的势能也不可忽略,但那都是后话。成就更好的自己,才能更好地利用势能。
我的 2019 总结和 2020 计划
1970-01-01 08:00:00 前言碌碌无为。 人生中的前 20 多年,似乎都是这同样的一种状态。 每一天都在学习,每一刻都在做事。但是一天下来,却想不起当天做了什么;一年过去,依旧停留在原地踏步。 可能,这是因为没有计划吧。 朝菌不知晦朔,蟪蛄不知春秋。漫无目的,得过且过,大局难定,大器难成。 上古大椿,八千春秋。知途知径,浑然天成。 姑且尝试着对自己的人生进行简单的总结与规划,若有裨益,幸甚至哉。
ARTS-16
1970-01-01 08:00:00 Algorithm1299. 将每个元素替换为右侧最大元素解法一:
执行用时:137ms,内存消耗:39.6MB。
ARTS-15
1970-01-01 08:00:00 Algorithm283. 移动零解法一:
执行用时:0ms,内存消耗:37.7MB。
ARTS-14
1970-01-01 08:00:00 Algorithm
月刊-201912
|
---|
1 | class Solution { |
执行用时:1ms,内存消耗:37.8MB。
1970-01-01 08:00:00
题解:
1 | class Solution { |
执行用时:1ms,内存消耗:38.7MB。
1970-01-01 08:00:00
解法一:
钻了个漏洞。
1 | class Solution { |
执行用时:0ms,内存消耗:34.9MB。
1970-01-01 08:00:00
打卡这么简单的事, 真的能影响到我?
ARTS 起源于 陈皓 老师的 左耳听风 课程, 我们在其基础上做了一丢丢改造, 感谢 陈皓 老师.
两个月前, 我的朋友 大蕉 发起了一个为期 8 周的 ARTS 打卡活动:
每周打卡,自行创建一个博客地址。
打卡要求:
8人8周为一个小组。入群门槛188,8周完成全额退款,若全员完成,大蕉发188红包。一周没打卡,请发10*当前人数红包一个。
两周没打卡,请退群。打卡条件:
大家自发每周完成一个ARTS:
(也就是 Algorithm、Review、Tip、Share 简称ARTS)(高级打卡组)
1.每周至少做一个 leetcode 的算法题
2.阅读并点评至少一篇英文技术文章
3.学习至少一个技术技巧(编程或其他)
4.编写一篇有观点和思考的技术文章(500字以内)(初级打卡组)
1.每周至少做一个 leetcode 的算法题或者小玩具代码
2.阅读至少一篇英文技术文章
4.编写一篇文章(500字以内)入群流程:
转账即报名,请描述自己想进入初级还是高级组承诺:
我不承诺你一定能坚持下去,但我承诺你坚持下去肯定会看见不一样的自己
乍一看, 似乎很简单, 也似乎很难.
一咬牙, 我加入了这个计划.
1970-01-01 08:00:00
思路:
因为题目中行列式每次数据变换都是整行或者整列同时进行的, 所以只需要统计每一行和每一列会被自增多少次即可. 最后对应行和列的统计结果相加即为对应坐标的数值.
1 | class Solution { |
执行用时: 1ms, 内存消耗: 38.7MB.
1970-01-01 08:00:00
没错, 我一个程序员, 心血来潮建了个写作群.
大学生涯, 我经历的似乎只有失败二字.
大一上学期就开始挂科, 一直持续到毕业. 40 学分劝退, 曾一度挂到了 39 个学分. 学习上, 我无疑是失败的.
同班 29 人, 与我交好的只有 4 人. 同校 4 万人, 毕业后还有联系的, 屈指可数. 大学前, 整个学校都是我的好朋友, 大学后, 却和他们越走越远. 交际上, 我依然是失败的.
大学前, 我可以很自豪地说自己喜欢计算机, 说自己喜欢 DIY, 说自己喜欢轮滑. 大学后, 却一事无成. 就连兴趣爱好, 我都是失败的.
摸爬滚打两个月, 找到了全班最差的工作; 无可奈何签合同, 拿了同岗位最低的薪水. 甚至还被忽悠着贷款购买了两万块的 Python 课程. 找工作, 当然还是失败的.
1970-01-01 08:00:00
这其实更像是一个数学问题.
因为需要按顺序访问所有点, 所以可以把问题简化为计算两个点之间的最小距离, 最后把每两个点之间的最小距离累加, 问题得解.
接下来要计算两个点之间的最小距离, 因为走对角线的效率是分别走横竖的两倍, 所以我们要尽可能多地走对角线. 那么两个点之间势必会形成一块而走对角线的正方形区域, 正方形的边长就是以两点为对角形成的长方形的较短的一条边. 剩余的距离一直横着或者竖着走即可. 问题得解.
1 | class Solution { |
执行用时: 1ms, 内存消耗: 41.4MB.
1970-01-01 08:00:00
1970-01-01 08:00:00
毕业差不多一年了, 一年之中似乎每天都在寻求着进步, 一年之后又觉得其实自己并没有进步. 碌碌无为, 好像就是我每天不断重复的循环.
意识到这个问题之后便开始尝试破除当下的困境, 恰巧上周看到一篇文章: 如何利用碎片时间,提升自己的职场竞争优势, 感觉应该有用, 不仿就先试试文章中提到的时间梳理吧.
以半小时为时间片段进行分割, 现阶段我的时间使用情况如下:
1970-01-01 08:00:00
1 | class Solution { |
执行用时: 0ms, 内存消耗: 38.5MB.
1970-01-01 08:00:00
1 | class Solution { |
执行用时: 0ms, 内存消耗: 35.3MB.
1970-01-01 08:00:00
如果你看不懂标题, 那么恭喜你, 没有遇到这个心烦的问题.
Linux 下使用 wine 微信有一定概率会出现烦人的黑色色块, 看它不爽, 却又无可奈何, 极大地影响了用户体验. 刚好在 github 看到了一个解决方案, 整理记录至此.
编辑本文时笔者电脑的环境是:
其他环境请自行举一反三.
1970-01-01 08:00:00
1 | class Solution { |
执行用时: 1ms, 内存消耗: 41.5MB.
1970-01-01 08:00:00
解法一:
直接调用 Java String 的 replaceAll() 方法, 因为该方法内部实现使用了正则匹配, 所以执行效率不高.
1 | class Solution { |
执行用时: 3ms, 内存消耗: 34.4MB.
1970-01-01 08:00:00
在 Ubuntu 下我们经常会使用 Wine 或者 Crossover 运行 Windows 应用程序. 当应用程序切换到后台时, 是无法响应预设的全局快捷键的. 比如”打开微信”的快捷键 ctrl
+ alt
+ w
在这种情况下就无法响应.
我们可以借助一个小工具 xdotool 来解决这个问题.
注:
直接在命令行运行以下命令即可:
1 | sudo apt install --no-install-recommends xdotool |
1970-01-01 08:00:00
解法一:
1 | class Solution { |
执行用时: 4ms, 内存消耗: 35.7MB.
1970-01-01 08:00:00
文章介绍了一位把传统手艺玩成精的木工爷爷. 当擅长和热爱指向一处, 往往能发挥出无穷潜力.
另, 网络以及自媒体的普及, 确实让真正有才华的人被看见.
文章介绍了 Java 之父 James Gosling 的传奇经历, 文中有段话我觉得十分优秀:
你投入到程序中的精力越多,用户使用时遇到麻烦和折腾的精力就会越少,程序员要做的,正是在开发端和用户端之间尽量平衡开发和用户使用的复杂度。
1970-01-01 08:00:00
Hexo + Github Pages 本是绝顶搭配, 无奈最近国内访问速度越来越慢, 实在不忍直视.
虽说国内也有 Gitee.com 和 Coding.net 提供类似服务, 但都不完全免费, 甚至还有广告, 不在考虑范围之内.
最终只好忍痛买了个云主机, 开启博客搬迁之旅.
1970-01-01 08:00:00
题解:
1 | class Solution { |
执行用时: 1ms, 内存消耗: 33.7MB
1970-01-01 08:00:00
分享一些自己喜欢的 Windows 软件, 希望能够帮助大家提高工作 / 学习效率.
这里只介绍我喜欢用的工具, 不作深入探讨.
1970-01-01 08:00:00
解法一: 暴力循环
1 | class Solution { |
执行耗时: 17ms, 内存消耗: 37.4MB
1970-01-01 08:00:00
+
文章用故事的形式, 幽默诙谐地道明了 python 与 java 的不同之处. 看完之后最大的感悟是: 学设计模式, 一定要透彻理解其精髓, 运用了什么方法, 解决了什么问题. 只有明白了原理, 才能活学活用. 其他知识也是如此.
阿里大神毕玄分享的成长路线, 可以参考.
苹果推出订阅式内容服务,而且特别强调,不会根据你的喜好和算法来给你个性化推荐,这其实表明了一种态度,对于有明辨能力的,对于相对高层次的人群,有能力知晓自己感兴趣的点,自己选择优质渠道订阅优质信息,而不用接受平台给你推荐的垃圾爽文,不用沉浸于不用思考就获取的自我满足感,这才是对自我提升有要求,对渴望获取优质信息人群的一种正确方式。
这才是推荐算法该有的样子.
文章很详细地介绍了 CSS 渐变背景的各种知识.
1970-01-01 08:00:00
最近了解到 nodejs 的一款新的包管理器 yarn, 据说相对于 npm 来说有许多优点. 遂果断开启试用流程, 无奈遇到使用 yarn 安装 packages 之后出现 command not found 的问题, 这里写出我自己的解决方法.
工作环境
1 | OS: Ubuntu 18.10 x86_64 |
非 root 用户登录.
问题重现
使用 yarn 安装 Angular CLI
1 | yarn global add @angular/cli |
1970-01-01 08:00:00
因为最近接触了一丢丢 Spring Boot 下的 Web 开发工作, 每次进行一丢丢改动都要重启项目甚是麻烦. 所以查了一下 IDEA 下 Spring 项目开启热部署的方法, 特此记录, 以便查阅.
在 dependency 中添加 optional 属性并设置为 true:
1 | <dependencies> |
1970-01-01 08:00:00
500 Lines or Less | 500 Lines or Less CN
Python 入门神书, 中文翻译工作进行中.
项目收集了上百种口红色号, 很是有趣.
文中整理了数十个优秀的 Java 开源项目, 值得关注.
1970-01-01 08:00:00
上周负责的模块中需要逐行读取文件内容, 写完之后对程序执行效率不太满意, 索性上网查了一下 Java 逐行读取文件内容的各种方法, 并且简单地比对了一下执行效率. 在此记录, 希望能够帮到有需要的人.
注意: 本文比对的项目为 逐行读取文本内容, 并不能代表其他方式的文件读取效率优劣!!!
文末有完整代码.
1000000 行文本读取结果比对:
1 | BufferedReader 耗时: 49ms |
1970-01-01 08:00:00
近来发现 Python 中内置了一个小巧的 HTTP 服务器, 轻微使用的话及其方便. 特撰此文, 作为记录.
进入到自己想要开启 HTTP 服务器的目录;
输入对应命令即可:
1 | # python3 |
1 | # python3 指定端口 |
1 | # python2 |
此时, HTTP 服务器就启动在本机的 8000 端口了.
1970-01-01 08:00:00
5分钟经典英文技术演讲1:如何快速掌握新技术 - Kathy Sierra
如何快速掌握新技术, 除了一些小技巧, 文中还提到了一个很好地观点: 高质量的例子.
这一点我很赞同, 高质量的例子往往会给人最直观的感受, 这或许是我们开发者努力的一个方向.
此外, 作者博客中的其他文章也值得阅读, 貌似博主总能以最精简的语言表述最核心的内容. 博客地址: DecodeZ
作者总结了一些学习英语的心得, 方法和资源, 个人感觉很是受用.
这是我第一次认识任正非, 也是我第一次被他的大智慧, 大心胸, 大眼界所折服. 这是一篇值得我们反复品读的文章.
1970-01-01 08:00:00
echo
命令用于在 shell 中打印 shell 变量的值, 或者直接输出指定的字符串.
linux 的 echo 命令在 shell 编程中极为常用, 在终端下打印变量 value 的时候也是常常用到的, 因此有必要了解下 echo 的用法.
1970-01-01 08:00:00
七大查找算法
作者详细介绍了顺序查找, 二分查找, 插值查找, 斐波那契查找, 数表查找, 分块查找, 哈希查找 等查找算法.
一些工作娱乐网站推荐
内容包含图片压缩网站 Squoosh, 视频下载网站 ParseVideo, 公益网站 大象孤儿院, 在线格式转换网站 cloudconvert, 设计网站 dribbble 等.
Math is Fun | 数学乐
科普网站, 生动有趣地介绍了各种理科知识.
awesome-mac
各种非常好用的 Mac 应用程序, 软件以及工具列表.
1970-01-01 08:00:00
“whereis” 命令常用来定位指令的二进制程序, 源代码文件和 man 手册页相关文件的路径.
“whereis” 命令只能用于程序名的搜索, 而且只搜索二进制文件 (参数 -b), man 说明文件 (参数 -m) 和源代码文件 (参数 -s), 如果省略参数, 则返回上述所有信息.
1970-01-01 08:00:00
next 主题默认背景是白色, 看多了难免感觉乏味. 我们可以通过自定义样式为其添加背景图片.
我们直接在 NEXT 预留的自定义样式文件 “themes/next/source/css/_custom/custom.styl” 中添加自己的样式即可, 在自定义样式文件中写入以下代码:
1 | // 添加背景图片 |
1970-01-01 08:00:00
可能是为了照顾程序员? Ubuntu 开机默认是不打开数字键盘的, 本文主要描述如何让 Ubuntu 开机自动打开小键盘.
同时按下 “ctrl + alt + T” 打开终端;
获取 root 权限:
1 | sudo -i |
允许 gdm 和 X 服务建立连接:
1 | xhost +SI:localuser:gdm |
1970-01-01 08:00:00
这两天心血来潮, 想办法美化了自己 Ubuntu 系统的登录界面. 进而找到了获取 Linux 登录页面截图的方法. 这里记录一下流程, 以作日后查验之用.
1970-01-01 08:00:00
pwd
命令全称 “print working directory”, 是 Linux 的基础命令之一, 用来打印当前工作目录.
1970-01-01 08:00:00
我们都知道,对于同一个问题来说,可以有多种解决问题的算法。尽管算法不是唯一的,但是对于问题本身来说相对好的算法还是存在的,这里可能有人会问区
1970-01-01 08:00:00
cd
命令全称 “change directory”, 用于切换当前工作目录, 是 Linux 下最基础的命令之一.
1 | cd [path] |
其中:
1970-01-01 08:00:00
man
命令可以说是初学 Linux 系统最应该接触的命令了. 使用 man
命令, 你几乎可以查看任何命令的用户手册.
man
命令的全称叫 “manual”, 是 Linux 下的帮助指令, 可用于查看 Linux 中各种指令的帮助信息.