Feed aggregator

[Перевод] Применение ключевого слова revert-layer в CSS

Habr.com - 1 hour 56 min ago

В веб-разработке не так просто добиться идеально масштабируемого дизайна для разных браузеров и устройств. Трудности могут возникать везде, от настройки стиля для экранов разных устройств до переопределения стилей, попавших в наш код неизвестно откуда.

Читать дальше →

Что не делать, чтобы найти работу

Habr.com - 2 hours 20 min ago

Людям, выросшим на вредных советах Григория Остера посвящается.

Разрешите представиться - Ли, 22 года, в этом году получаю степень бакалавра по специальности программная инженерия. И я не имею опыта коммерческой разработки.

Вам, наверное, не очень интересно, как я оказался в такой ситуации, но я всё равно расскажу. 

Итак, что делать не надо, если вы хотите построить успешную карьеру в it сфере и получаете высшее образование.

(ну и немного о том, как не надо учиться в универе и почему)

Читать далее

[Перевод] Создаём надёжные API для бэкенда при помощи конечных автоматов: подробное руководство

Habr.com - 2 hours 41 min ago
Я — бэкенд-разработчик, поэтому мне довелось по достоинству оценить, насколько важны конечные автоматы при построении надёжных систем, которые хорошо масштабируются. Конечные автоматы отлично подходят для моделирования сложной бизнес-логики и автоматизации переходов между состояниями. В этом посте будет разобрано, что представляют собой конечные автоматы, в чём их польза для бэкенд-разработки, и как с их помощью решать распространённые задачи.

Что такое конечные автоматы?
Конечный автомат — это математическая модель, описывающая состояние системы. Автомат состоит из множества состояний, переходов между этими состояниями и действиями, связанными с такими переходами. В любой момент времени система находится в одном из определённых состояний, а переходы инициируются при наступлении конкретных событий или условий.

Конечные автоматы часто используются в разработке программ для моделирования сложных потоков задач. С помощью конечных автоматов можно чётко и структурированно определить поведение системы. Тогда о системе становится проще рассуждать, её удобнее отлаживать и поддерживать. Читать дальше →

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок

Habr.com - 2 hours 51 min ago

Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.

Спойлер: вы все равно ошибетесь, прогнозируя сроки. Но что можно сделать? Минимизировать шанс на ошибки и сделать их менее фатальными. Я расскажу про рабочие инструменты, которые помогли мне в свое время, — брать их на вооружение или нет, решайте сами. Если вы не знаете, как подступиться к декомпозиции сложного проекта и с чего начать, — эта статья вам в помощь.

Читать далее

[Перевод] «42» как ответ на пять фундаментальных вопросов науки

Habr.com - 3 hours 4 min ago

Одна из самых забавных историй во всей научной фантастике — книжка «Автостопом по Галактике» Дугласа Адамса, в одном из эпизодов которой суперкомпьютеру поручили найти «ответ». Созданный якобы для того, чтобы дать ответ на «главный вопрос о жизни, Вселенной и всём остальном», компьютер тратит 7,5 миллиона лет на вычисление ответа и наконец выдаёт его: 42. Только вот когда ответ, наконец, раскрывается, никто не может вспомнить, в чём же, собственно, заключался «главный вопрос». Это ещё один пример того, что не стоит быть настолько одержимым идеей добраться до цели, чтобы изначально потерять из виду весь смысл путешествия – тогда её достижение уже не будет иметь значения,

К счастью для нас, существует ряд возможных вопросов-кандидатов, которые мы можем использовать задним числом, поскольку они действительно могут быть тем самым окончательным вопросом – ведь нам известно, что ответ на эти вопросы действительно «42». Мог ли хоть один из этих вариантов быть тем, о чём спрашивали суперкомпьютер, когда речь шла о раскрытии ответа на «главный вопрос о жизни, Вселенной и всём остальном»? Хотя никто не может быть уверен, даже в вымышленном мире Дугласа Адамса, вот пять возможных вопросов, которые относятся к числу самых увлекательных. Ответом на каждый из них действительно будет «42», и, возможно, один из них покажется вам по-настоящему захватывающим.

Читать далее

[Перевод] Доводы против самозакрывающихся тегов в HTML

Habr.com - 3 hours 13 min ago

Самозакрывающиеся теги - зло? Prettier не прав? Разбор с примерами острой темы в HTML, где все будет разложено по полочкам

Читать далее

GIGA R&D DAY: материалы конференции

Habr.com - 3 hours 28 min ago

На недавней конференции GIGA R&D DAY, организованной командой R&D SberDevices, участники обсудили последние достижения в разработке GigaChat, NLP, Vision и Audio.

Событие собрало ведущих специалистов и экспертов в области искусственного интеллекта, которые поделились своими идеями и разработками. В день рождения GigaChat'a делимся с вами видеозаписями выступлений и презентациями докладов, которые охватывают широкий спектр тем от мультимодальности и мультиэкспертности до проблем alignment и задач генерации речи.

Читать далее

[Перевод] Как управлять Kubernetes с помощью Ansible

Habr.com - 3 hours 33 min ago

Делимся переводом статьи об интеграции Kubernetes и Ansible. Из статьи вы узнаете, как подготовить среду для работы, как развернуть кластер Kubernetes с помощью Ansible, как управлять ресурсами Kubernetes и автоматизировать обновления. Кроме того, вы узнаете, как развернуть плейбук Ansible в Kubernetes на облачном провайдере и использовать Ansible для CI/CD в Kubernetes.

Читать далее

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 6: гипноз, психоз и коматоз на службе MKUltra

Habr.com - 3 hours 35 min ago

В прошлой части мы рассказали, как неудачная попойка офицеров ЦРУ и военных химиков в доме у озера с подмешиванием коллегам ЛСД привела к гибели одного из лучших сотрудников проекта MKUltra Фрэнка Олсона. Тогда историю удалось замять и заставить молчать и полицию, и ФБР, и родственников погибшего. Сидни Готтлиб не только не притормозил свои опасные эксперименты, но и решил в очередной раз расширить экспериментальную базу. Тем самым он нечаянно выпустил из бутылки джинна, который поспособствует грандиозным изменениям американского общества в 1960-е годы… В чём многие увидят опасный антиамериканский заговор КГБ! Но об этом чуть позже, а пока что посмотрим, как ЦРУ экспериментировали с гипнозом, нанимали врачей-психопатов и умудрились в итоге выпустить джинна из своих рук Читать дальше →

Процесс перехода с монолитиной архитектуры на микросервсную

Habr.com - 3 hours 35 min ago

Общий процесс перехода с монолитной архитектуры на микросервисную:

1. Анализ текущей архитектуры: Оцените текущие монолитное приложение, определите его слабые места и проблемы, которые хотели бы решить с помощью микросервисной архитектуры. Это может включать в себя высокую сложность масштабирования, долгое время развертывания новой функциональности и трудности в поддержке.

2. Определение границ сервисов: Идентифицируйте компоненты и функциональные области монолита, которые могут быть выделены в отдельные микросервисы. Определите границы сервисов на основе их независимости и частоты изменений.

3. Разработка архитектуры микросервисов: Разработайте архитектуру микросервисов, учитывая требования по масштабируемости, отказоустойчивости, безопасности и управляемости. Это может включать в себя выбор технологий, определение методов взаимодействия между сервисами и разработку механизмов мониторинга и отслеживания.

4. Постепенное выделение сервисов: Выделяйте сервисы постепенно из монолита, начиная с наиболее критичных и независимых компонентов. Это позволит снизить риски и обеспечить плавный переход к новой архитектуре.

5. Реорганизация кода и данных: Перерабатывайте код и базу данных монолита, чтобы они могли работать с новой микросервисной архитектурой. Это может включать в себя разделение больших модулей на более мелкие, перераспределение функциональности между сервисами и переход к отдельным базам данных для каждого сервиса.

6. Тестирование и развертывание: Тестируйте каждый сервис в изоляции и в совокупности с другими сервисами, чтобы обеспечить их правильную работу. Затем развертывайте сервисы в среде продакшена, используя стратегии развертывания, такие как «постепенное развертывание» или «процентное развертывание».

Читать далее

[Перевод] Путь к потрясающему CSS Easing с помощью новой функции linear()

Habr.com - 3 hours 42 min ago

С появлением на горизонте новой CSS функции linear() возможности создания естественных анимаций и переходов в будущем значительно расширяются. В этой статье Джейхи Томпкинс рассматривает текущее состояние CSS easing и демонстрирует, чего можно ожидать от linear(), включая удобные инструменты для работы с ней уже сегодня.

Читать далее

Предложен новый тип аккумуляторов — натрий-ионный высокой емкости. Что это за технология и какие у нее преимущества?

Habr.com - 4 hours 1 min ago

Источник: theengineer

Аккумуляторы за последние пару десятков лет фактически не изменились. Есть определенные новшества, но они, скорее, косметические. А технологии движутся вперед и требуют новых возможностей от батарей. Периодически публикуются новые работы в этом направлении, но, к сожалению, практического применения они не получают. Сейчас корейские ученые предложили еще один вариант, и, возможно, он таки получит реализацию. Подробности под катом!
Читать дальше →

[Перевод] Применение чистой архитектуры в Go

Habr.com - 4 hours 34 min ago


Одна из проблем, с которыми мне часто доводится сталкиваться в различных софтверных проектов — это сильная связанность кода, при которой в него так сложно вносить даже простые изменения, не провоцируя нежелательных побочных эффектов. Дело в том, что программисты склонны сосредотачиваться на разработке конкретных фич, не задумываясь о том, как база кода станет развиваться в будущем. Также не все учитывают, что применяемые сегодня библиотеки и фреймворки могут постепенно сойти со сцены спустя несколько месяцев или лет.

На старте проекта приходится принимать множество решений. Большинство инженеров при этом рассматривают область применения проекта и решают, при помощи каких инструментов он будет реализовываться. Речь, в частности, о языках программирования, фреймворках, базах данных, внешних API, вариантах развёртывания. Принимая такие решения на самых ранних этапах, они замыкаются на этих инструментах, пронизывают ими всю базу кода, в результате чего её становится сложно менять и поддерживать.

Большинство этих инструментов – это частности, и выбор большинства из них (кроме языка программирования) можно на некоторое время отложить, пока проект не окрепнет. Поэтому на ранних этапах разработки проекта стоит уделить внимание не тому, при помощи каких инструментов пойдёт реализация. Лучше смоделировать предметную область проекта, а к вышеупомянутым инструментам подходить так, как следует — то есть, как к частностям. Разумеется, чтобы проект был реализован, с такими деталями тоже нужно определиться, но они могут оставаться в некоторой отдельной части кода, не относящейся к предметной области — там, где их будет легко менять, удалять или заменять по нашему усмотрению.

Для решения именно таких проблем с сильной связностью кода многоопытные инженеры создали ряд архитектурных паттернов. Таковы, в частности, чистая архитектура Роберта Мартина («дядюшки Боба»), гексагональная архитектура Алистера Кокбёрна и явная архитектура Герберто Грацы. Читать дальше →

Как построить убежище и (не)облажаться

Habr.com - 4 hours 35 min ago

Вселенная культовой игры Fallout получила очередное перерождение с выходом сериала от Amazon. Хотя фабула произведения (почти) и не пересекается с играми, главная сюжетная арка осталась прежней: сливки общества укрываются в убежищах от ядерного безобразия, а выйдя на поверхность, оказываются совершенно не готовы к царящей там анархии. Как построить качественный бункер и не облажаться, и что на самом деле случится с людьми и убежищем даже не за двести, а всего за два года изоляции? Под впечатлением от сериала вспоминаем самый масштабный эксперимент по созданию «прототипа убежища» и разбираемся, насколько обнадеживающими оказались его результаты. Спойлер — не очень.

Читать далее

Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go

Habr.com - 4 hours 36 min ago

Привет, Хабр!) Меня зовут Ильяс. В этой статье мы разберём известную идею — keepalive в межсервисном взаимодействии, которая спасла уже не одну компанию в трудное время :). Но чтобы добавить интереса, мы разберём, какие проблемы в keepalive принесли современные технологии (ведь что может пойти не так с этой простой идеей?). Поэтому в статье мы рассмотрим механизмы, которые позволяют проверять стабильность соединения между клиентом и сервером в случае, когда обычные TCP keepalive из-за сложности архитектуры не могут определить состояние сервера.

Остаться в живых

Википедии на искусственных языках

Habr.com - 5 hours 15 min ago

Разделы википедии есть на 355 языках (плюс несколько десятков в инкубаторе).

Есть крупные разделы с более чем миллионом статей, их чуть менее 20 (на английском, немецком, русском и так далее; парадоксальным образом на втором месте - википедия на себуанском, одном из языков филиппин, накачанная ботозаливками).

Есть мелкие, но важные (например, на идише, на африканских языках, или на башкирском).

А есть несколько разделов на искусственных языках. Сейчас их 9 (когда-то был еще один, на токипоне; но его закрыли очень давно).

Я попытался разобраться с каждым из них

Решение проблемы дымки на изображениях с использованием .NET: Простой и эффективный подход

Habr.com - 8 hours 6 min ago

Простое .NET решение для четких фото: избавьтесь от дымки или тумана на изображениях всего за несколько шагов!

Читать далее

На пути к полной жизни: Онлайн-синтез речи для людей с неврологическими нарушениями

Habr.com - 8 hours 20 min ago

Многие люди теряют возможность поддерживать собственную независимость, вести активную социальную жизнь и просто взаимодействовать с окружающей средой, в связи с серьезными неврологическими заболеваниями.

Болезни и состояния, такие как БАС, инсульт, церебральный паралич, множественный склероз, болезнь Паркинсона, последствия черепно-мозговых травм, дистония, могут привести к частичной или полной потере способности к самостоятельному передвижению, речи и выполнению повседневных задач. Восстановить эти функции очень сложно, а в некоторых случаях вовсе невозможно.

Над этой проблемой работают многие исследователи, борясь за улучшение уровня жизни для таких пациентов.

В данной статье я расскажу о тестировании возможности применения технологии имплантируемого интерфейса “мозг-компьютер” (brain–computer interface) для онлайн-синтеза речи с использованием активности мозга, регистрируемой внутричерепными электродами, чтобы проложить путь к новым коммуникационным возможностям для людей, потерявших способность говорить.

Приятного прочтения!

Читать далее

Отображение части иерархии в SQL запросе

Habr.com - 16 hours 7 min ago

Продолжение статьи, в которой предложено решение задачи визуализации иерархической структуры средствами SQL запросов, на примере MySQL и SQLite

В этой части производится доработка запросов для отображения части иерархии, начиная с конкретных узлов, и анализируются возможные связанные ошибки

Читать далее

Нужно ли писать документацию?

Habr.com - Fri, 04/26/2024 - 22:16

Может ли IT-продукт жить без документации?

Давайте попробуем разобраться на примере небольшого стартапа, команда которого разрабатывает новую инновационную систему защиты от киберугроз.

Читать далее

Who's online

There are currently 0 users and 0 guests online.
Syndicate content