@reachsg · Post #578 · 21.04.2020 г., 16:08
What are the services that will suspend operations from today till the end of Circuit Breaker? #SGUnited
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #sgunited
@reachsg · Post #578 · 21.04.2020 г., 16:08
What are the services that will suspend operations from today till the end of Circuit Breaker? #SGUnited
Hashtags
@reachsg · Post #564 · 18.04.2020 г., 13:25
REACH Live! (Mandarin) Highlights #2 - How can we encourage the seniors to stay home? #SGUnited
Hashtags
@reachsg · Post #562 · 18.04.2020 г., 04:39
REACH Live! (Mandarin) Highlights #1 - Why should we wear mask whenever we go out? Let's hear from Ms Tin Pei Ling #SGUnited
Hashtags
@reachsg · Post #532 · 10.04.2020 г., 14:23
Let us all comply with the circuit breaker, and pull through it together. #SGUnited
Hashtags
@reachsg · Post #473 · 06.04.2020 г., 05:56
Tune into DPM Heng Swee Keat’s Solidarity Budget announcement later at 2PM today, where he will announce additional support for workers, businesses and households, to help tide them through this period. #SGUnited🇸🇬 📺 Catch the ‘live’ broadcast on CNA, on CNA938, and on Mediacorp’s meWATCH interactive service (www.mewatch.sg).
Hashtags
@reachsg · Post #228 · 12.03.2020 г., 13:42
[Sent by Gov.sg - 12 Mar] COVID-19 situation in S’pore - More imported cases expected as global numbers rise - More travel restrictions may be needed - If there are many cases here, may need to hospitalise only those seriously ill; those with mild symptoms to see GP, rest at home SG is NOT going to DORSCON Red — We have the situation under control Economic impact - Measures to help affected businesses, workers - Govt working on 2nd package of measures Staying #SGUnited 👩⚕ Frontline staff working hard 💪 Singaporeans’ support crucial to overcome this Everyone can do their part - Practise good personal hygiene, adopt new social norms 🧼🙌 - Maintain social distancing 👋 Watch: go.gov.sg/pmo12mar
Hashtags
@NEASingapore · Post #158 · 12.02.2021 г., 02:00
May you have good health and an OX-spicious new year! P.S. Use serving spoons and don’t double dip when having your reunion meals, let’s keep everyone safe and healthy! #SGUnited
Hashtags
@reachsg · Post #81 · 13.02.2020 г., 00:14
[Sent by Gov.sg - 13 Feb] 💪🇸🇬Helping those impacted by COVID-19: Contribute to The Courage Fund - To help those impacted by COVID-19 — patients, healthcare workers and those who need extra support www.comchest.sg/thecouragefund Go to the centralised online platform for ground-up efforts - Information on what’s needed - Information on ground-up groups and Govt-led initiatives - Details on platform soon Let’s show support for all in the healthcare and other sectors who have been working tirelessly. Look out for one another. #SGUnited
Hashtags
@NEASingapore · Post #46 · 24.04.2020 г., 04:00
Our hawkers are working hard to provide delicious food for all of us. So let’s show them our support by ordering takeaways or deliveries of our fave hawker dishes. Together we can overcome. #SGUnited
Hashtags
@URASingapore · Post #46 · 29.06.2020 г., 11:11
🏃🏻♀️ Heading out to the stadiums? Check Space Out’s (www.spaceout.gov.sg) newly-added crowd level information at SportSG’s stadiums, and sweat it out in a safe environment. We are in Phase 2 but there’s no need to rush out. Keep our guard up and use Space Out for regular updates on crowd level information in malls, supermarkets, markets post offices and stadiums across Singapore. It’s also available in all four languages, and presents less crowded options near you. Crowd-level information on more places will be added in future. 👍🏼 Let’s continue to press on, stay safe, and be #SGUnited to fight this virus together.
Hashtags
@MTISingapore · Post #4 · 05.08.2021 г., 06:19
The Safe Management Measures have been tightened from 22 July to 18 August. More information on the SMM measures for F&B and Retail and Lifestyle establishments can be found in the infographics. Let's play our part against COVID-19 #SGUnited Click here for more details: https://go.gov.sg/updated-smm-advisory
Hashtags
@mndsingapore · Post #172 · 01.05.2021 г., 02:14
It has been more than a year since COVID-19 happened. Many of us have had to adapt to new work situations and overcome the various challenges the pandemic brought with it. Today, we salute all workers, especially the frontliners who have been working extra hard to keep us safe this past year. Happy Labour Day! 💪🇸🇬 #SGUnited#SGTogether
Hashtags