Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
5 полезных сайтов для дизайнеров
👃
WEBDESIGN-INSPIRATION
Сайт регулярно обновляется и собирает кучу классных дизайн-примеров и идей на любой вкус.
SITEINSPIRE
Сайт с удачными примерами дизайна. Удобно искать нужное через фильтры — именно то, что нужно сейчас.
WOMP
Онлайн-сервис для создания простых 3D-моделей из текста и изображений
PIXEL ME
Мой любимчик из подборки 💔 превращает фото в пиксель-арт (как из ретро-игр)
FFFUEL
Генерирует градиенты, SVG-паттерны, шум и абстрактные фоны для дизайна.
#toolbox@mariinavodesign
Сохраняете пост, если было полезно
Выходные — это время, чтобы отдохнуть от работы, задач и просто ничего не делать 💆🏻♀️
Но у меня бывают такие периоды, когда хочется почитать. Чаще всего, конечно, это детективы, но и для работы я тоже люблю что-то почерпнуть.
Мой личный топ-3 книг, прочитанных за последнее время:
1. «Нанопривычки» Би Джей Фогг — как добиться серьёзных перемен, начиная с мелочей и двигаясь маленькими шажками. Пинок под зад, когда хочется что-то поменять в жизни, но не знаешь как и с чего начинать)
2. «Эстетический интеллект» Полин Браун — о том, как эстетическая составляющая играет важную роль в бизнесе. Автор показывает, как внимание к эстетике помогает достигать успеха.
3. «Герой и бунтарь» Маргарет Марк и Кэрол Пирсон — об уникальном стиле общения с аудиторией через архетипы❤️🔥 и о том, как их использовать в маркетинговых стратегиях, дизайне продуктов, коммуникациях и других аспектах бизнеса. Также будет супер-полезно тем, кто продвигает свои личный бренд в соцсетях.
→ Эти и другие книги по психологии, маркетингу и дизайну есть на платформе Ready? Set. Create! — можно скачать файл и читать сразу с телефона или компьютера
#toolbox@mariinavodesign
Сделать пиксельный шедевр в два клика
🪳
Нашла простой и удобный сайт, где из любой картинки (без фона) можно сделать пиксельную версию и скачать в png / svg
🧡 Не забудьте сохранить
#toolbox@mariinavodesign
Это стоит сохранить — собрала небольшую, но очень полезную подборку расширений для Google Chrome
Пригодится дизайнерам и не только 🥲❤️🔥
Fonts Ninja
Если вы зашли на сайт и вам оочень понравился шрифт, а искать его будет трудно и нудно — это расширение сильно упростит задачу. Включаете его, нажимаете на нужный текст, и сразу видите название шрифта, его размер и стиль
Mobile Simulator
Показывает, как сайт выглядит на разных устройствах. Отличный способ быстро проверить адаптивность дизайна — прямо в браузере, без переключений на телефон
SVG Export
Определяет все SVG-изображения на странице и собирает их в одном окне — можно сразу скачать нужные файлы. Очень удобно
ColorZilla
Пипетка для браузера — можно взять любой цвет прямо с экрана и использовать, например, в Figma. А ещё: генератор градиентов, история последних цветов, просмотр цветовой палитры страницы
Сохранить в Pinterest
Позволяет быстро сохранить любые изображения или вдохновение из интернета на нужную доску в Pinterest. Пины автоматически создаются со ссылкой на оригинальный источник
#toolbox@mariinavodesign
Выходные — хороший повод уделить время чтению. Поэтому делюсь моим личным топом из трёх books 😍которые способны изменить ваш взгляд на привычные вещи, если вы занимаетесь дизайном и творчеством:
«Путь художника» Дж. Кэмерон — если чувствуете в себе творческий потенциал, но работа мешает раскрыться, эта книга с практическими упражнениями поможет вам начать творить.
«Искусство креативного мышления» Р. Джадкинс — для тех, кто хочет добавить креативности в свою работу, независимо от профессии. Если не знаете, как это сделать, в книге найдете ответ.
«Рисовый штурм» М. Микалко — для тех, кто хочет создавать уникальные проекты и тренировать креативное мышление. Поможет задавать правильные вопросы и находить нестандартные решения.
#toolbox@mariinavodesign
Эти и еще 50+ книг доступны на платформе Ready? Set. Create!➡️ подробнее в этом посте
Для тех, кто работает с Тильдой! 👀
При создании сайта для платформы Ready? Set. Create! я активно использовала анимации. Считаю, что анимация добавляет динамики и делает сайт более запоминающимся.
Поэтому собрала для вас 14 самых любимых сайтов с модификациями для Тильды:
Matilda Design
Mo-Ti
Nolim
Tildoshnaya
Youx.Agency
DSGNbyMAX
Vladislavland
Ticodes
Necodim
Lifehackov
VoronDev
Anku
RomanKosov
Annexx
Сохраняйте, пробуйте, добавляйте уникальности свои проектам
🪄
А если знаете другие ресурсы с модификациями — делитесь в комментариях!
#toolbox@mariinavodesign
Кое-что, что точно упростит работу с контентом 🩷
Это вторая часть поста с полезными ботами. Первую часть можно найти здесь
@ControllerBot — бот, который обязателен для админов Telegram-каналов. С ним можно форматировать текст, добавлять реакции, файлы, медиа, кнопки, комментарии, планировать посты и ставить таймеры для их удаления. В общем, супер полезная штука!
@GmailBot — официальный почтовый бот Google. Читайте и отправляйте письма, не выходя из Telegram. Очень удобно!
@scannertext_bot — этот бот сканирует картинки с текстом (скриншоты или фото) и превращает их в редактируемый текст.
@LandingPageInstagramBot — бот для того, чтобы нарезать фотографии на части для раскладки в Instagram. 33, 34, 3*6 — создайте стильные композиции из одной картинки.
@StickerStickyBot — этот бот подбирает стикеры, которые идеально подходят к вашему сообщению. В общем, помогает выразить все, что хотите, с помощью стикеров.
@text4instabot — мой фаворит для соцсетей. Создает идеальные интервалы между абзацами — всегда читаемо и красиво.
#toolbox@mariinavodesign
❤️🔥 Подборка ботов в Telegram, которые упростят жизнь и создание контента
@FleepBot — для отложенного постинга
@TelescopyBot — превращает видео в Telegram-кружочки
@SaveAsBot — помогает скачивать контент из Instagram и TikTok
@Orforobot — проверяет текст на ошибки
@Newfileconverterbot—помогает конвертировать различные файлы, включая фото, видео и аудио в разные форматы. Может преобразовать Telegram-видеосообщение в любой формат
@QR_code_bot — создает QR-коды по ссылке
@SelfSMMBot— создаст контент-план под ваш запрос / напишет пост / сгенерирует идеи для рилс, и многое другое
@Stickers— поможет создать собственный пак эмодзи / нужно подготовить pngизображение в размере 100*100 пикселей и загрузить в бот, следуя инструкции
@Aimyvoice_bot— озвучит любой текст / бесплатно до 1 минуты
#toolbox@mariinavodesign
Как создатьсвой шрифт [бесплатно ]
Понадобится сайт calligraphr
* обратите внимание, что бесплатная версия сайта позволяет загрузить не более
75 символов
В карточках описала несколько способов создания шрифта:
1. С помощью любого приложения, в котором можно рисовать
2. В Figma, взяв за основу любой шрифт и изменив его до неузнаваемости
3. Распечатать бланк и заполнить его от руки.
Можно нарисовать любые геометрические формы! 💔
А в комментариях — рукописный шрифт, который получился у меня
🐱
#toolbox@mariinavodesign
#fonts@mariinavodesign
Как быть, если ради пары экспериментов заморачиваться с подпиской Midjourney не хочется? 😅
Делюсь ботом @midjorobot
Есть несколько бесплатных генераций (будьте готовы подождать минут 5, пока бот сгенерирует варианты), потом можно купить подписку на месяц или оплачивать генерации поштучно
На скринах показываю, как взяла свой промпт из предыдущего поста и какие результаты получила. Вроде бы недурно 👀
#toolbox@mariinavodesign
#ai@mariinavodesign
TON Society: Explore Toolbox and Social Trading Pools
#Toolbox#Telegram#TOOX
TON Society introduces Toolbox, a community-driven trading platform allowing users to create or join themed trading pools. Features include automated management, profit sharing, AI support, and Telegram integration, with opportunities to earn TOOX points.
Source: link
@tonlines
Mini Handheld Powerful Metal Processing Pulling Concrete Nail Gun Steel Rivet Tool Concrete Wall Anchor Line Slotting Device
#household tools #tooltips#toolbox reelsfypシ
Link bay 👇
https://s.click.aliexpress.com/e/_EwXhXeo
Our channel for more offers
https://t.me/Digital_PRODUCTS11/