TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #247 · 11.03

Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #overthinking

当前筛选 #overthinking清除筛选
Javohir Ahmadjonov

@javohir_akhmadjonov · Post #1908 · 12.10.2024 г., 10:00

Overthinking - xaddan ortiq koʻp oʻylashlik Ko‘p o‘ylash foyda keltiradi, lekin chegaradan o‘tib ketgan paytda bizni sekinlashtiradi. Shubha va qo‘rquv bilan yashashning o‘rniga, ba’zan oddiygina qaror qabul qilish va harakatga tushish kerak. Hayotda hamma narsani oldindan bilib bo‘lmaydi. Birinchi qadamni qo‘ying, yo‘l davomida to‘g‘ri yo‘lni, albatta topasiz! #Overthinking#HarakatQil#Ishon Kanalga ulanish: ➡️@javohir_akhmadjonov

#时间管理#自我成长#专注力#行动力#长期主义#焦虑#心理健康#内耗#心流#情绪调节#思考方式#社交媒体#信息过载#自我接纳#宇宙乘客#播客推荐 #TimeManagement#SelfImprovement#Focus#ActionTaking#LongTermThinking#Anxiety#MentalWellness#Overthinking#FlowState#EmotionalRegulation#Mindset#SocialMedia#InformationOverload#SelfAcceptance#UniversalResidents#PodcastRecommendation 播客内容关键点总结 1. 专注力是核心竞争力 现代人注意力严重受损,难以深入思考或持续学习 心流状态(完全沉浸于任务)是高效能的关键 建议:减少新闻/短视频等被动信息输入,每天专注阅读5页书即可超越大多数人 2. 时间复利的威力 时间是不可再生资源,微小优势会随时间指数级放大 案例:跑步从3km→5km→10km的累积效应 坚持者最终会甩开中途放弃的人("熬死竞争对手"效应) 3. 行动方法论 破除拖延:恐惧源于对结果的过度担忧,需接受"不完美是常态" 目标拆解:像项目管理一样将年目标分解为月/周/日可执行单元 验收机制:定期检查进度并灵活调整计划 聚焦困难部分:避免只做简单事务(如学英语只背单词不练听说) 4. 价值观构建 区分"伪需求"与真实目标(追问"要钱究竟是为了什么?") 接受资源有限性:不能面面俱到,必须做优先级取舍 建立"成长型思维":失败是迭代过程,最终收获内心平静比物质更重要 5. 健康基础 辅酶Q10等补剂作为熬夜补救方案(但强调睡眠优先) 运动+营养+睡眠的综合健康管理 体力是长期主义的生理基础(参考郭德纲"活得长就是竞争力"理论) 6. 商业启示 个人IP打造:持续输出价值比追求短期流量更重要 职场建议:把公司事务当自己的事来积累能力 警惕"速成陷阱":所有真实技能都需要时间沉淀 核心公式:[成长 = 专注力 \times 有效行动 \times 时间] 反脆弱策略:在不确定环境中保持持续微迭代,让时间成为盟友而非敌人 https://open.spotify.com/episode/4kVYRpZenwcG18GhaTova4 如果你也受困于浮躁、低效或自我怀疑,那就听听吧(突然发现这个的广告部分相当的长呢