2026年的目标达成每日记录。
大约是在2017和2018年那是我个人状态最好的时候,每天都有新的突破。
当状态好起来的时候伴随着相关的运气也开始变好。
时隔9年有必要重新回顾过往,分析得失,找回失去的梦想。
20260310:第一步从习惯和外表入手最自己有要求,目标明确。下班坚持运动,关注皮肤问题。
第一步基于现实然后才是梦想,现实就是现实中的世界,而非想象的世界。但是也不要限于自己知道的部分。
20260311睡觉前做下预备呼吸,让鼻腔咽喉通畅,这样可以让晚上睡眠效果更好。昨晚忘了饭后出去散步。少坐多运动依然很关键。
你需要过好一点,作为对过去压迫你欺负你的仇人的回应,如果你现在真的不好,原本看不起你的人只会更加得意。上帝不会有同情心,哪怕冤死了一个人也毫不在意。
目标要明确,不行的需要马上修改和更换。
放假坚持外出活动有益身体,为好的情况做准备。要相信运气好可以是一种常态!
每天早起留下足够的时间,晚上睡前做好准备,不要开灯,睡姿提前纠正好。
睡前清理口腔 喉咙 保证呼吸顺畅,泡脚有助于缓解疲劳,好的暗示和设想同样重要。
当下的问题依然十分严峻,不比2013年轻松,需要做好准备。
使用碳粉清洗皮肤上面的油脂非常有效果,木炭自带吸附功能,细腻的碳粉可以有效去除皮肤上面的油脂和细菌。碳粉也十分便宜,一种很好的护理方式,结合之前的白醋更加完善了。
晚上睡前清洗喉咙,主要是鼻咽部多余的黏液,清理掉后呼吸通畅,第二天醒来可以更加舒适。碳粉可以继续使用,后续购买碳粉肥皂。
2026年要比2017年更好的实现计划,更加完善,更符合要求。可以相信自己正在一直鸿运当头!
昨晚睡觉中途醒来一次,大约2点左右,后面继续睡,休息一般。鼻子有点阻塞,后面需要持续睡前清理鼻咽位置。整体状态不错,感受一般,需要调整心情。
清明节放假3天,其中前两天下雨在家,最后一天下午去了宝安福永,相比计较十几年前基本没啥变化,飞机的班次倒是更加频繁了,也更低了,多了不少办公楼。几年前的修路的隔离板还是没拆,估计是为了遮挡烂尾楼。
外出走得很累,晚上喝了一瓶啤酒解乏。基本是一切归零的感觉没啥收获,或者说总结是过去的回忆不值得深究,做好当下才是最好的。
计划记录下之前的电视剧 增加电视剧部分,比如春光灿烂猪八戒 武林外传 神雕侠侣 金婚 狼烟北平 亮剑等电视剧。
通过代码笔记和电影系统找到了网页开发的价值,通过回忆历史发现掌握发言权的重要性,需要了解自己的真实状况,不要被别人迷惑。
不要病急乱投医,明确自己想要的,然后行动才是正确的事情。
今天上地铁位置人很多,后面注意下,灵活调整。
没什么收获,昨晚饭后2圈,然后泡脚 出汗很多,每周还是需要安排一下泡脚出汗,很不错的方法。
睡前如果感觉鼻子不通畅就用盐水或水杨酸冲洗鼻腔。
昨晚睡觉前翻阅了下之前的QQ空间隐藏的图片,往事过去太久一段隐藏的感情再次浮出,事情因为一个人开始,同样需要她来结束,重新创造更好的成果是对过去失败最好的回应。
昨晚再次实用木炭粉洗澡,感受很不错,确实可以清理油脂和毛孔里面的杂志,后面每次身体感觉皮肤闷的时候建议用木碳粉洗一下。
还有晚上不要吃含油食物了,后面需要坚持低油生活,保证皮肤状态。
有点酸痛的感觉,可能是晚上步行太多然后着凉,感觉股骨头酸酸的。继续执行无油晚餐计划,后续扩展到早餐和午餐,吃包子和面条。
当下创造更好的成就才是回应过去失败不公的最好方式,一切都需要现在的表现和努力。
不是因为自己站在胜利的一方所以自己胜利了,而是因为自己选择了一方所有那一方成了胜利的一方,在此之前那一方不是胜利的甚至是失败的一方。
现在开始个人的计划里面需要大规模收缩免费的项目,没有利益所得就不会去付出。
当你指定一个目标或者汇报一些成功的时候除了数字,更关键的是谁执行这些,感受如何。
平常心态看待心里不喜欢的,这是现实存在的一部分,昨晚皮肤用药效果很好,睡眠很充分,后续值得借鉴。
从今天起20260420开始晚上睡前如果睡不着可以先学习下英文单词,估计大约50个就足够让自己有困意了。
早上感受一般,出门有点晚,后面注意控制时间,目前皮肤的痘子控制的很好,感受很不错,继续控油控糖。
过往的记忆需要重组完善,比如电视剧,电影,课文知识 都可以系统完善补充,这对提升个人知识水平有很大的帮助,知识点之间相互连通更加稳固。
昨晚睡觉比较早,但是很早就醒了,等到天亮又继续睡了到8点多,不太好的过程,睡前需要做好预备,保证充分的休息。
无感的一天,忘记了拍照记录自己皮肤状态,感觉这种保持一周左右正好,关注点还是睡眠和饮食情况,争取10点左右睡觉,做好睡前基本功,泡脚,阅读 暗示。
昨晚睡得早醒来也早,然后继续睡了一个小时左右,做了一个梦,关于视频系统的问题,很奇怪,还发生电梯问题。可能最近下雨气温低,梦中比较冷。
昨天外出走了很长的路,剪了下头发,感觉清晰了很多,晚上有点累,喝了一瓶啤酒,吃的老南瓜,保持了不错的睡眠。
目前公司状况没有很大的改善,需要靠自己努力了,自己做不到的不指望别人帮自己做到。明确目标,积极过好每一天。
前天晚上可能喝酒原因,睡眠姿势随意导致醒来脖子非常僵硬,可能是落枕了,昨晚用热水冲了下,调整睡姿,有所缓解,继续保持好的睡眠和睡前状态。
一开始只是喜欢一片叶子,然后根据叶子找到了那棵树,了解了这棵树的所有情况,然后继续了解这棵树所有相关科的植物,最终成为植物学家。
昨天下班回去有个站点雅宝不错,一个小中心点,昨晚睡觉醒了2次,记住了一个观点:得来不费力 遗忘不费时。皮肤状态恢复不错,一定要克制甜食水果,吃多了甜水果 立马就是满脸出血的痘子。
预计5月需要更新的设备有床单 毛巾 天然气灶底座,还有游泳相关的需要更新。新增午休睡觉椅子 新增补锌药剂 控制皮肤出油和修复。
在外面城市的每一天都是有机会改变命运的一天,一个很不起眼的机会在家乡可能非常稀有,当下这是最好的机会,给你无数次机会提升自己,如果没有把握回到家乡自然会别人看不起。
我曾投降过,比如梦想当科学家但是面对基本生活都无法保障时我投降了,当梦想当程序员面对电脑没有无法熟练打字时我投降过,但是完全不公平的环境需要等待,等待合适的时机,不要忘了曾经投降的过去。
<?php
function buildCategoryTree($categories, $parentId = 0, $level = 0, $prefix = '') {
$tree = array();
$tree2 = array();
$children = array_filter($categories, function($category) use ($parentId) {
return $category['parentid'] == $parentId;
});
$count = count($children);
$index = 0;
foreach ($children as $category) {
$isLast = ++$index === $count;
$tree[]= array('catid'=>$category['catid'],'catname'=>$prefix . ($isLast ? '└── ' : '├── ') . $category['catname']);
$tree2[]= array('catid'=>$category['catid'],'catname'=>$prefix . ($isLast ? '└── ' : '├── ') . $category['catname']);
$childrenPrefix = $prefix . ($isLast ? ' ' : '│ ');
//错误的使用
$tree[]= buildCategoryTree($categories, $category['catid'], $level + 1, $childrenPrefix);
//正确的使用
$tree2 = array_merge($tree2,buildCategoryTree($categories, $category['catid'], $level + 1, $childrenPrefix));
}
//return $tree;
return $tree2;
}
$categories = array(
array('catid' => 1, 'parentid' => 0, 'catname' => '分类1'),
array('catid' => 2, 'parentid' => 0, 'catname' => '分类2'),
array('catid' => 3, 'parentid' => 1, 'catname' => '分类1-1'),
array('catid' => 4, 'parentid' => 1, 'catname' => '分类1-2'),
array('catid' => 5, 'parentid' => 3, 'catname' => '分类1-1-1'),
array('catid' => 6, 'parentid' => 2, 'catname' => '分类2-1'),
);
echo '<pre>';
print_r(buildCategoryTree($categories));
echo '</pre>';
<?php
function buildCategoryTreeIterative($categories) {
// 1. 预处理:将数组转换为以 catid 为键的索引数组,方便快速查找父子关系
$indexedCategories = [];
foreach ($categories as $category) {
$indexedCategories[$category['catid']] = $category;
// 初始化 children 数组,防止后续判断报错
$indexedCategories[$category['catid']]['children'] = [];
}
// 2. 构建父子关系映射
$rootIds = [];
foreach ($indexedCategories as &$category) {
if ($category['parentid'] == 0) {
$rootIds[] = $category['catid'];
} else {
if (isset($indexedCategories[$category['parentid']])) {
$indexedCategories[$category['parentid']]['children'][] = &$category;
}
}
}
unset($category); // 解除引用
// 3. 使用显式栈进行深度优先遍历 (DFS)
// 栈中存储元素格式: [ 'node' => 节点数据, 'prefix' => 当前层级前缀, 'isLast' => 是否为同级最后一个 ]
$stack = [];
$result = [];
// 将根节点压入栈,注意逆序压入以保证原来的顺序出栈(如果需要严格保持原数组顺序)
// 这里为了简单,我们直接按顺序处理根节点,但在压入子节点时需要注意顺序
// 为了模拟递归的自然顺序(先遇到的先处理),我们使用栈时需要逆序压入子节点
// 获取所有根节点
$roots = [];
foreach ($rootIds as $rootId) {
$roots[] = $indexedCategories[$rootId];
}
// 逆序压入根节点,这样弹出时就是正序
for ($i = count($roots) - 1; $i >= 0; $i--) {
$stack[] = [
'node' => $roots[$i],
'prefix' => '',
'isLast' => ($i === count($roots) - 1)
];
}
while (!empty($stack)) {
// 弹出栈顶元素
$item = array_pop($stack);
$node = $item['node'];
$prefix = $item['prefix'];
$isLast = $item['isLast'];
// 构造显示名称
$icon = $prefix . ($isLast ? '└── ' : '├── ');
// 根节点没有前缀符号,特殊处理一下显示逻辑,或者统一处理
// 原递归代码中根节点也有前缀逻辑吗?原代码 $parentId=0 时 prefix=''
// 如果 $prefix 为空,说明是根节点,通常根节点不加 ├─ 或 └─,但根据原题逻辑,第一层也会加
// 原题逻辑:$prefix 初始为空。第一层 $isLast 决定是 └── 还是 ├──
$displayName = $icon . $node['catname'];
$result[] = array(
'catid' => $node['catid'],
'catname' => $displayName
);
// 如果有子节点,将子节点压入栈
if (!empty($node['children'])) {
$children = $node['children'];
$childCount = count($children);
// 逆序压入子节点,保证弹出时是正序
for ($j = $childCount - 1; $j >= 0; $j--) {
$child = $children[$j];
$isChildLast = ($j === $childCount - 1);
// 计算下一层的前缀
// 如果当前节点是同级最后一个,下一层前缀增加空格 " "
// 如果当前节点不是同级最后一个,下一层前缀增加竖线 "│ "
$nextPrefix = $prefix . ($isLast ? ' ' : '│ ');
$stack[] = [
'node' => $child,
'prefix' => $nextPrefix,
'isLast' => $isChildLast
];
}
}
}
return $result;
}
$categories = array(
array('catid' => 1, 'parentid' => 0, 'catname' => '分类1'),
array('catid' => 2, 'parentid' => 0, 'catname' => '分类2'),
array('catid' => 3, 'parentid' => 1, 'catname' => '分类1-1'),
array('catid' => 4, 'parentid' => 1, 'catname' => '分类1-2'),
array('catid' => 5, 'parentid' => 3, 'catname' => '分类1-1-1'),
array('catid' => 6, 'parentid' => 2, 'catname' => '分类2-1'),
);
echo '<pre>';
print_r(buildCategoryTreeIterative($categories));
echo '</pre>';
走出去看世界
当一个地方变得很差时,世界其他地方未必如此,就像同一列火车,不同车厢的人数不一样,有的拥挤 有的宽敞。
解放思想,释放压力,站在高处看世界,机会永远都在。
相信未来的人才有未来,做好更好的规划,未来路很长,很精彩,值得努力!
曾经有个自认为很好的改变自己命运的机会,自己一直不敢尝试,最终化为泡影,这种失败是刻骨铭心的,我经历过两次,不想第三次了,如果有第三次机会一定要抓住。
选择和什么样的人一起就决定了自己的世界是什么样的,同样的世界不一样的人生,现在是时候了。
改变从形象和内心开始,表面和心里都要有变化。想要打开格局坐以待毙是不能有有好结果的,行动才有机会。
现在无论有多困难不会比当初毕业那么难,不会比当初初中读书那么难,过去那么大的灾难都扛过来了现在没什么可怕的。
你要记住抓不住的机会就和你没关系,那就是个陷阱,选择放弃是最佳选择。
永远不要相信国家政府会主动改革变好,现实变坏才是促进改革最好的方式,改革本身和执政的利益冲突非到万不得已是不会真的改革的。
统一未必是好事分裂也不都是坏事,否则历史上就不会有分裂有三国,实际是按照人的意愿来决定,分开好就分开,在一起好就在一起。
转当年毛的内容: 我觉得中国现在的政象,竟如清末一样,国人对之,不要望他改良,要望他越糟越坏,坏到极点才有可能变好。
世界不在书里面,不在自己的想象里面,世界在外面,需要你走出去看,去感受去探索。
有时需要有这样一种想法:会不会教给你知识或经验的人只是欺世盗名之徒,他们说的与事实不符才导致现实的困难和矛盾?一旦自己重新开始认识就有可能有不一样的收获。
改变自己从基础开始 吃饭 外表,生活, 朋友,出行,工作 开始。不断增加对自己的投资。今年希望取得进展。
制作软件和盖楼的差别是软件一旦开发完成 想复制一个是很简单的,几乎0成本。盖高楼则不同,虽然所有流程都是固定的 但是还得需要购买材料招聘工人盖一栋新楼,这就是软件和硬件的差别。
和盖房类似的软件模式是教育,哪怕你都会了,但是要把你的知识交给别人还是需要很长的时间,不能直接复制。每个人花费的学习成本很高。
有些人很难成功是因为他的记忆里面加了太多的错误的限制,不能这样不能那样。喜欢一次或更少的次数追求成功率。但是事实不是如此,成功不需要限制,不需要太高的成功率 多做多试是关键。
世界是很大的,可以允许很多的事情同时存在,哪怕是相互对立的也可以彼此发展的很好。
当你看一些国外作品感觉很难理解的时候,一个大胆的想法是翻译弄错了,然后按照这个思路往下推理很多问题就得到了解释,世界变得更加简单明朗了。
看世界之后才能对自己和自己的周围有更好的了解,更好专注自己的想法。向更高层次发展和交流才能有进步,改变是同步且瞬间的,准备和勇气都不可缺少,当下的自己需要勇气多一点。
很多人失败的原因是做事的速度太快,持续时间太短,质量差,一个大的系统是一个长时间的过程,短时间很难发现和解决问题。给与足够的时间不断改进是关键。不要分散多个追究最短时间完成,很多东西的意义需要在执行的过程中了解。
应付尤其是疲于应付是最坏的状态,主动掌握节奏很重要,一定要学会掌握主动权。
财富更多的源于继承或者天生,类似资源,不是依靠创造,人能做的不仅是努力更需要眼光发现机会
现实的世界每天每时每刻都存在机会,机会甚至在一睁眼 一转身 一抬头之间,请不要闭上眼睛,保持对新事物和创新的关注才有更好的发展。
目前的结果看开发网站产品如果只是企业网站 那么只能实现温饱,开发商城才有可能实现富裕。当然还有其他有大量用户应用的程序也是获取好的收入方式。想要赚钱就需要有创新,有原创,比现有的更好。
看书学习如同进行一场拳击比赛,体力和勇气不足就会很难理解内容,导致失败。需要提升自己的高度了解全局,不要跪着仰视书里面的内容。
如何读书是一个人一生都需要学习的技能。
有些it开发者脑子不正常,明明自己花了很久时间开发的产品 告诉别人很简单 不需要技能就能轻松实现,比如这句话:
它可以让您不需要任何专业技术轻松搭建您需要的网站,操作简单,很容易上手,快捷方便的后台操作让您10分钟就会建立自己的爱站.-- 这就是一个很矛盾的东西,不需要技术10分钟 那么价值在哪里?
一定要在自己熟悉的领域打败同行大多数人,如果这个做不到,其他不熟悉的行业更是还无还手之力。将自己优势发展到极致。
我是很看不起那种突然很忙平时不忙的人,没有计划,没有时间观念。
在一个不赚钱的行业一般不会有太多技术高手参与,如果自己水平高依旧能发挥出价值,但是改变不了不赚钱的问题,为了赚钱必须参与赚钱的行业哪怕参与的高手很多依旧能获得很好的收益,同时也能获得更高水平的技术。
<script>
class LocalCookie {
/**
* 设置数据
* @param {string} key - 键名
* @param {any} value - 值(会自动序列化为JSON字符串)
* @param {number} expireHours - 可选,过期时间(小时),不传则永久有效
*/
static set(key, value, expireHours = null) {
const data = {
value: value,
// 记录过期时间戳,如果未设置则为 null
expire: expireHours ? new Date().getTime() + expireHours * 3600 * 1000 : null
};
try {
localStorage.setItem(key, JSON.stringify(data));
} catch (e) {
console.error('LocalStorage set error:', e);
}
}
/**
* 获取数据
* @param {string} key - 键名
* @returns {any|null} 返回解析后的值,若不存在或已过期则返回 null
*/
static get(key) {
try {
const itemStr = localStorage.getItem(key);
if (!itemStr) {
return null;
}
const data = JSON.parse(itemStr);
const now = new Date().getTime();
// 检查是否过期
if (data.expire && now > data.expire) {
// 已过期,删除并返回 null
localStorage.removeItem(key);
return null;
}
return data.value;
} catch (e) {
console.error('LocalStorage get error:', e);
// 解析失败可能是旧数据或非本格式数据,尝试直接返回或清除
localStorage.removeItem(key);
return null;
}
}
/**
* 删除数据
* @param {string} key - 键名
*/
static remove(key) {
localStorage.removeItem(key);
}
/**
* 清空所有由本类存储的数据(谨慎使用,会清空该域名下所有 localStorage)
*/
static clear() {
localStorage.clear();
}
}
// 使用示例:
// 1. 设置一个永不过期的用户偏好
// LocalCookie.set('theme', 'dark');
// 2. 设置一个1小时后过期的临时Token
LocalCookie.set('tempToken', 'abc-123', 1);
// 3. 获取数据
// const theme = LocalCookie.get('theme');
const token = LocalCookie.get('tempToken'); // 如果超过1小时,返回 null 并自动删除
// 4. 删除数据
// LocalCookie.remove('tempToken');
document.write(token);
</script>