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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

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

Търсене: #telegramban

当前筛选 #telegramban清除筛选
sudo recast

@sudo_recast · Post #347 · 18.07.2022 г., 10:21

電報無故封禁其會員客戶 https://twitter.com/HarshitAnant2/status/1546877987936940032 數十上百次投訴也被官方無視 https://twitter.com/GiuseppeR59/status/1536688990748909570 賬戶資料視投訴措辭與次數逐步恢復一部分 https://twitter.com/kikoshiken/status/1548873718230683648 電報的故事並未成為市場的例外。客戶的沮喪說明杜先生的宣傳卓有成效。 via https://t.me/change3m3/777 #telegramban

Hashtags

sudo recast

@sudo_recast · Post #159 · 07.05.2022 г., 04:27

https://t.me/zuragram/561 目前文件夾內置頂數量沒有限制。原來雲端限制 10 個文件夾是早有安排。 放開 500 個頻道和羣組的限制確實解決痛點,也就重度用戶會考慮因此訂購。達到 500 限制你就應該考慮斷捨離,以及承擔那麼多數據因封號 (#telegramban) 而丟失的風險。(?) #telegram

sudo recast

@sudo_recast · Post #121 · 29.04.2022 г., 09:47

有點恐怖的一件事情,我登錄 #Telegram WebK 以後會話列中突然出現這樣一個已刪除賬號,並且置頂,裏面是一則像是我會發的消息,但我在被封禁之前沒有可能對自己的其他賬號分享訊息(況且是三月底),也不會將自己置頂。我沒有在其他客戶端看到這個會話,對該消息的轉發在其他客戶端也是不可見的。另外注意到我原本置頂的已保存消息在圖中並未出現,我發了條消息它才回來,而且這個置頂順序也不對。 估計是緩存錯亂。可能我以前登錄過,然後這則分享錯串到我現在的賬號來了。這則嘟文我沒有互動過,不過這是 Twidere 的分享格式。我還看到一些別的聊天記錄,沒有和我現在賬號聊過的就不會被頂掉。 #telegramban

sudo recast

@sudo_recast · Post #71 · 18.04.2022 г., 11:47

到現在,大部分數據已經(聯網)遷移到新的帳號,而那些再也無法遷移的、即只能進行簡單文本複製來保存的數據,暫未恢復。好了,我可以把電電報從主屏幕、托盤上,移除了。 #telegram#telegramban(此標籤已光榮加入頻道簡介)

sudo recast

@sudo_recast · Post #68 · 18.04.2022 г., 09:59

好消息是我甚至可以從離線備份中找到我管理的私有頻道的連結,有的我現在重新加入了,有的不行,因爲被吊銷了(不要隨便吊銷連結!)或者沒有緩存。備份應用數據很重要,略微推薦 Swift Backup。備份 "~/.local/share/TelegramDesktop" 也可(這些我由於大意,聯網後無法讀取了)。 #telegram#telegramban

sudo recast

@sudo_recast · Post #60 · 17.04.2022 г., 12:08

從以前帳號的離線數據中尋回一些公開的頻道和機器人。很多機器人實現了電報官方後來才添加的功能,投票、問答、評論、表情回應……感覺時間飛逝,也感覺飄渺。 未來羣組管理機器人或許也會被官方集成。 #telegram#telegramban

sudo recast

@sudo_recast · Post #22 · 05.04.2022 г., 18:21

報告不幸之中的好消息。在一個備用帳號的列表中找到了 2020 年以前的生活頻道。在最好的朋友那裏找到了我 2020 - 2021 年的生活頻道。這兩個是最重要的。此外備用帳號中還有一個即刻的備份兼日記頻道。 我最大的錯誤是將「保存的消息」當收藏夾使用。那個無窮無盡的代辦事項和稍後再讀列表如今直接化爲灰燼。 #telegram#telegramban

sudo recast

@sudo_recast · Post #20 · 05.04.2022 г., 18:04

0. 在重要的特別是私密的頻道和羣組將備用帳號設定爲管理員並賦予所有權限; 1. 不要在一個客戶端上登錄多個帳號,封禁時可能連帶; 2. 發現因被封禁而強制登出的時候,將其他已登錄設備的網絡中斷,你可以在因脫機而未登出的設備上瀏覽緩存數據,備份應用數據同理; 3. 定期導出和備份重要數據; 4. 不要過度依賴。 #telegram#telegramban

12
ПредишнаСтр. 1 от 2Следваща