01、颓丧的感觉
颓丧,一般指精神萎靡不振,情绪消沉,多用于消极的人身上;有时候也用于别处,比如说《红楼梦》第七六回中就有一句:“因又叹道:‘诗固新奇,只是太颓丧了些!’”
不管怎么说,这个词相关的主题很少会在朋友圈看到;因为人们需要树立积极向上的正能量形象嘛。
我呢,是一个比较随心的程序员。颓丧的时候也发了一条朋友圈说:
由于感冒,浑身乏力,整个人就特别的颓丧,于是就趁机放纵了一下自己。熬夜刷完了《长安十二时辰》,本来以为这部电视剧就十二集,想着一口气看完算了,谁知道刷完十二集还有十二集,我天呐。
刷完电视剧我觉得不过瘾,又追了一遍 DOTA2 的 TI9 比赛。第一次打刀塔,已经是八年前的事了。
我本意是求安慰的,结果好些个老读者就留言说:“二哥,你可以把这种焦虑和颓丧写一篇文章分享下吗?”我想着,把自己当做反面教材也算是给大家的一点参照吧,就写呗。
不过,写之前有一点点后悔,搞不好这会惹来不少批评的声音:“你丫的能不能写点积极乐观的东西啊!”可已经答应了老读者,咱“不能退”啊!
02、颓丧的原因
漫漫人生路,总会有人莫名其妙地陷入颓丧的阶段。
我颓丧的起因蛮简单的,就是感冒嘛。感冒分两种,一种为风寒,另外一种为风热。我属于前一种,这么热的天,特别怕冷,一吹空调就头疼,还没办法不吹;大热天的,我还得加个马夹——看起来傻乎乎的。另外就是鼻塞,严重的鼻塞,晚上睡觉需要张大嘴巴。
不知道谁说的啊:“感冒吃药需要一星期,不吃药呢,需要七天。”真的是很无奈啊,风寒感冒颗粒我吃了不少包,没多大用处;朋友推荐的“姜丝+枸杞+红糖”熬十分钟的秘方也不怎么见效。
于是呢,这种身体上的萎靡就引发了精神上的消沉。看书看不下去,写作写不下去;工作更不想去处理,老板喊我去上班,我愣是不想去,感觉没意思得很。
总之呢,正儿八经的事情是一个也不想做。那怎么熬过去这每天的 24 小时呢?
刷电视剧是一个绝妙的办法,哈哈。前天晚上我愣是刷到半夜两点多,眼睛已经疲惫得睁不开了,人也很困,但就是不忍心去睡觉。檀棋的一声大叫没想到猛地吵醒了熟睡的老婆,她看我还在刷剧,就特别恼火,硬是拔了电源呵斥我去睡觉。
没办法,只能躺到床上,但是怎么也睡不着,辗转反侧,感觉无尽的黑暗就要把自己吞噬了。
03、生存的压力
说实话,这个社会的生存压力还是蛮大的——又来怪社会了。
主业的工作我基本上处于放弃了的状态,去办公室就权当是给自己一个不宅在家的理由。没有辞职的原因是上下班时间相对自由,可以接送女儿上下学,关键是顺带挣点零花钱。
这年头,如果老人不能帮忙照顾小孩的话,真的是很需要一个自由的上下班时间。老婆因为工作制度的原因,时间没我这么自由;再加上,她的工作环境相对比我好很多,所以挣得也比我多。
不过话说回来,我们俩也都算是中产收入,不缺吃不缺穿(比上不足比下有余)。
内心的焦虑主要来源于如何更上一层楼!
我的收入来源,很多老读者都知道。工资是一方面,外包是一方面,写作的稿费是一方面。本来寄予厚望的公众号收入,还一直未能打开局面(这可能是焦虑的主因)。
因为写作,遇到过不少大佬(动辄就月入上万的,很多很多),向他们讨教过不少经验,但这些可操作的方法,很多自己都懒得去实践,惭愧惭愧啊。
var csredis = new CSRedis.CSRedisClient("127.0.0.1:6379,password=123");
RedisHelper.Initialization(csredis);
RedisHelper.Set("test1", "123123", 60);
RedisHelper.Get("test1");
//...函数名与 redis-cli 的命令相同
//普通订阅
RedisHelper.Subscribe(
("chan1", msg => Console.WriteLine(msg.Body)),
("chan2", msg => Console.WriteLine(msg.Body)));
//管道操作
RedisHelper.StartPipe().Set("a", "1").Get("a").EndPipe();
? 返回目录 ?
C++ 项目
2、fmt:这是一个开源的 C++ 格式库。它可以作为 (s)printf 和 iostreams 的安全和快速替代品,也是 C++ 20 中 std::format 的一个实现。它的格式化字符串语法类似于 Python 中的 str.format,支持用户自己定义的类型,还比 printf 和 iostreams 的常见标准库实现更快!而且 fmt 还非常安全,格式字符串中的错误可以在编译时报告,还可以防止缓冲区溢出错误。示例代码:
fmt::print("Hello, {}!", "world"); // 类 Python 的语法风格
fmt::printf("Hello, %s!", "world");
3、awesome-modern-cpp:Wow Awesome!你想将 modern cpp 运用自如吗?那就来看 Awesome-modern-cpp 吧!这里列出了一些有关现代 C++ 的最佳实践、书籍、会议、谈话、播客、博客、网站、各种各样的库以及一些工具,让你不禁 Wow Awesome,这就是你独享的 moment
? 返回目录 ?
Go 项目
4、simple-computer:一个用 Go 语言模拟简单计算机 CPU 的项目。只有 Go 语言的函数,没有硬件的模块,从与非门直到一台能做加减运算和显示的迷你虚拟计算机。这些是计算机最底层、基础的东西,虽然是使用 Go 语言模拟,而不是用硬件打造而。但是计算机的基本结构,运行的基本原理都显示的非常清楚。对于新手,既能了解 CPU 原理,也会发现编程语言除了能写软件之外的其他有趣用处。安装命令:
make # 构建项目
make test # 测试
./bin/simulator -bin _programs/brush.bin # 运行虚拟机
5、gridstudio:一个后端采用 Go 语言的电子表格 Web 应用程序,支持 Python 编程语言处理数据,结果运行即可见。它旨在提供一个集成的工作流程,用于加载、清理、操作和可视化数据。可在线使用,对于用 Python 等处理数据的数据工程师而言,就是一款神器。之前就很好奇石墨文档怎么做的,这下可以学习下了,电子表单是一个比较复杂的问题,该项目有很多可以学习的地方。安装:
git clone https://github.com/ricklamers/gridstudio # clone 项目
cd gridstudio && ./run.sh # 直接运行
# 然后访问 http://127.0.0.1:8080 用户名:admin 密码:admin
6、go-github:谷歌出品的 GitHub API Go 语言版本。如果你需要做一个 GiHhub 相关的产品后端,这个可以省去很多功夫,而且还可以学习谷歌工程师写的 Go 项目、设计接口的思路。示例代码:
import www.jintianxuesha.com"github.com/google/go-github/v27/github" // 启用的 go module (GO111MODULE=on 或者不在 GOPATH 里)
import www.yasenyuLe.com"github.com/google/go-github/github" // 没启用 go module 时
client := github.NewClient(nil)
// 获取用户 "willnorris" 所在的所有组织
orgs, _, err :www.yuanhuapt.cn = client.Organizations.List(context.Background(), "willnorris", nil)
? 返回目录 ?
Java 项目
7、vhr:一个前后端分离的人力资源管理系统。该项目采用 SpringBoot + Vue 架构,这两个都是近些年很流行的框架。该项目涉及的场景很多,可作为全栈工程师的入门实践
8、SmartSwipe:一个侧滑处理框架,而不是具体某种侧滑效果的实现。其内部封装十几种侧滑效果,包括侧滑返回、侧滑删除、百叶窗、开门等效果,总有那么几款能让你眼前一亮。示例代码:
//为控件添加仿MIUI的弹性拉伸效果:
// 当纵向不能滚动(或滚动到顶/底)时,若继续拖动,则 UI 呈现弹性拉伸效果,释放后平滑恢复
SmartSwipe.wrap(view)
.addConsumer(new StretchConsumer())
.enableVertical(www.zheshengyule.com);
SmartSwipe.wrap(view)
.addConsumer(new StretchConsumer())
.enableVertical(www.zongxyuLe.com) //仿 MIUI 拉伸效果的方向为:上下 2 个方向
.addConsumer(new SpaceConsumer())
.enableHorizontal() //仿 iOS 弹性留白效果的方向为:左右 2 个方向
;
SmartSwipeBack.activityBezierBack(application, null); //仿小米 MIUI 系统的贝塞尔曲线返回效果
SmartSwipeBack.activityStayBack(application, null); //仿手机 QQ 的手势滑动返回
SmartSwipeBack.activitySlidingBack(application, null); //仿微信带联动效果的透明侧滑返回
SmartSwipeBack.activityDoorBack(application, null); //侧滑开门样式关闭 activity
SmartSwipeBack.activityShuttersBack(application, null); //侧滑百叶窗样式关闭 activity
//xxxMode 第二个参数为 false,表示工作方向为纵向:下拉刷新&上拉加载更多
//如果第二个参数设置为 true,则表示工作方向为横向:右拉刷新&左拉加载更多
SmartSwipeRefresh.drawerMode(view, false).setDataLoader(loader);
SmartSwipeRefresh.behindMode(view, false).setDataLoader(loader);
SmartSwipeRefresh.scaleMode(www.tongyayule.com view, false).setDataLoader(loader);
SmartSwipeRefresh.translateMode(view, false).setDataLoader(loader);
04、像我这样颓丧的人
因为写作,就认识不少读者,隔三差五就会有一些颓丧的程序员同行找我寻求建议。
比如说小何,他就说(括号里的我指“我”):
二哥,首先感谢你能通过好友(这个真不用感谢,我很乐意有人找我,快来加我)。
我今年 32 岁,毕业于一家不知名的院校(我也是,怕提学校的名字,怕给学校丢脸)。目前在深漂,从事 Java 后台的开发工作。到目前为止,没有拿得出手的成绩(靠,我也是)。
我也写过两年的技术博客,这个月也开始做自己的公众号了(且做且珍惜啊,真的挺难的)。但精力确实不如年轻人了,又有家庭的重担,自己水平也有限,想变得优秀,但总感觉技不如人那。
年纪的渐增,精力的不足,家庭的责任,事业的渴望,想请教一下二哥是如何平衡各方面压力的。
遇到这样的读者,我第一时间想到的是给他一个大大的拥抱。我真没什么好的建议啊。
我遇到过很多大师级的人物,每当你抛出一个问题,他都能够像变了魔法一样给出长篇大论的建议。当时除了说一句“受教了”,就是再发一个“66.6”元的红包。
像我这样陷入困顿,偶尔颓丧的人估计不在少数啊。这让我想起了托尔斯泰在《安娜卡列尼娜》中写的那句话:“成功的人都是成功的,不成功的人各有各的失败。”(略微改编了一下)
05、如何走出颓丧
走出颓丧的方法很简单:刷电视剧!
虽然我是在开玩笑,但这真的是我在践行的一种方法。人嘛,七情六欲总是会有的,酸甜苦辣咸的人生百态总要都尝一尝,才算圆满。
《长安十二时辰》里靖安司的一名官员曾和他老婆(舅公让去洛阳的那个)说过一段话:
我没想过要做多大的官,我就是想,靖安司遇到麻烦的时候,我能够回去帮得上忙。
这就对了,大千世界,总有一些牛逼的人(张小敬、龙波、李必);但更多的是一些普通的人。
我记忆最鲜明的配角有两个:一个是崔器,一个是姚汝能。
崔器想在锦绣的长安混出个模样,阿兄为他铺了很多的路,为了升官,他甚至背叛过张小敬;但最终呢,他战死在了靖安司,作为一名光荣的兵。
姚汝能呢,背着沉甸甸的包袱,他祖父是明相姚崇,他也背叛过;但却拼命就了檀棋。
人嘛,并不是心有多高就要怎么怎么样——这不是什么中庸的话,这是真理。崔器和姚汝能都陷入过颓丧,但怎么走出来的呢?选择做“善”的那个。
还是因为写作的原因,就有一些读者夸我很牛逼,比很多人厉害。诸如此类的话,我听在耳里,感谢他们的称赞,但我知道自己几斤几两。我算不上优秀(铁打的事实),也在努力地向前奔跑着;但可能向前跑了三千步,过一段时间又向后退了两千步。
06、最后
我呢,在颓丧的时候选择让自己颓丧着;但走出颓丧的时候,又会像打了鸡血一样拼命地往前奔跑着。
你呢?在颓丧的时候怎么办?
转载于:https://my.oschina.net/u/3386278/blog/3098578