Больше техническая заметка, чем статья, поэтому постараюсь изложить мысли как можно кратче.
Приходя из JS/TS мира, когда я впервые написал на Dart, самой прекрасной вещью, помимо многих было использование функций isEmpty или isNotEmpty для String, List, Map, и так далее. Это было невероятно просто и прекрасно не писать каждый раз .length == 0.
Также, очень полезным паттерном были empty/zero значения как Duration.zero, Offset.zero, и другие.
Спустя время, я нашел привычку использовать похожий принцип для работы с различными случаями, а также пришел к мысли - что если мы используем такие значения для большей части объектов, избавляясь от null (не для всех случаев, но тем не менее)? Немного поискав, нашел похожий паттерн в Go и других языках, и продолжил думать.
Читать далееО чем эта статья? О влиянии такой популярной технологии, как система мгновенной передачи сообщений (мессенджеров) на бизнес.
Для кого эта статья? Для всех, кто использует мессенджеры в своей профессиональной деятельности для коммуникаций с коллегами - с руководством, с подчиненными.
Какой профит от этой статьи? На основе изложенного мной материала вы сможете сделать однозначные выводы, чтобы предпринять простые шаги для качественного, существенного улучшения вашего бизнеса.
Читать далееДля того, чтобы стать профессионалом в области проектирования ракет-носителей необходимо очень усердно работать, однако фундаментом служит углублённое обучение в вузе. Важным этапом обучения является выполнение профильного курсового и дипломного проектов.
В ходе курсового и дипломного проектирования по курсу "Проектирование ракет-носителей и их комплексов" студент должен на практике применить полученные знания по определению облика ракеты-носителя (РН) как части единого космического ракетного комплекса, обосновать её основные проектно-конструкторские параметры, обеспечивающие выполнение поставленных в задании тактико-технических требований.
Вот решил написать небольшую памятку как выполнять курсовой проект по проектированию ракет-носителей.
Читать далееВ условиях ужесточения блокировок в Рунете и роста потребности в приватности, выбор надёжного VPN стал как никогда актуален. При этом хочется подобрать сервис практичный, без навязчивой рекламы и маркетингового шума. В этой статье мы поделимся независимым обзором пяти лучших VPN-сервисов для РФ на 2025 год, сравнив их по цене, используемым протоколам, простоте подключения, наличию пробных периодов и дополнительным «фишкам». Выбор основан на реальном опыте и отзывах — никакой рекламы, только факты и здравый смысл.
Примечание: Все цены указаны в рублях. Для удобства мы рассматриваем помесячную стоимость (а при наличии — и посуточную/понедельную). Ищите сводную таблицу сравнения в конце статьи.
Читать дальше →Пару лет назад начал разрабатывать редактор текстовых квестов на JavaScript и обратил внимание на то, что неплохо было бы добавить в JSON-сериализатор поддержку ссылок на объекты. Чтобы можно было одним методом сохранить и загрузить состояние объекта, не нарушая его целостность и связь с внешним миром. Что-то подобное есть в PHP при работе метода serialize.
Спустя год начал разрабатывать пошаговую стратегию, в которой такой метод был бы идеальным для реализации сохранений и сетевого режима (пересылка сохранений от игрока к игроку, как это реализовано в Heroes of Might&Magic 3). Имея такой метод, можно было бы не заботиться о сохранении/загрузке объектов игрового мира при их изменениях. Например, добавим лучнику привязку его стрел к конкретному типу дерева. Или в морском пароме создадим массив перевозимых юнитов. При обычной тактике обработки данных это создало бы немало проблем для организации сохранения ссылок.
В итоге, кроме банальной организации внутренних ссылок, идея разрослась амбициозными планами, а именно:
Читать далее«Рынок зарплат специалистов в сфере кибербезопасности перегрет. Зарплаты специалистов могут доходить до 230к рублей!» ©
Именно такая статья вышла в честь первого апреля в Коммерсантъ. (Чтоб не гнать лишний траффик этим шутникам можете ознакомиться с текстом, например, тут) Но, я решил представить, что эта статья была не шуточной, и поделиться своим (очень важным) мнением на её счёт...
Итак, небольшой исторический экскурс. Давайте вернём 2017 год! У России (как и у большинства постсоветских, да и у всех развивающихся стран) в тот момент уже было «Три пути — вебкам, закладки и АйТи» ©. Люди приходящие в АйТи и диджитал профессии из регионов получали весьма неплохие для этих самых регионов деньги по простой причине — грамотные специалисты достаточно легко могли найти удалёнку на Мск\СПб, а то и, вовсе, на зарубежном рынке. Как итог — работодателям в регионах приходилось поднимать зарплаты, чтобы удержать, если не лучших, то, хотя бы, средних специалистов.
Безопасников тогда это раздолье обходило стороной — безопасник на удалёнке — это что‑то немыслимое для большинства компаний в те годы. А, значит, ни Мск, ни СПб не «пылесосили» регионы (ну, разве что, с целью релокации, на которую готово было не так много людей, так как в таком случае росла не только ЗП, но и стоимость жизни). Поэтому, в зарплатах средних разработчиков и средних безопасников из регионов тогда наблюдалась очень хорошая разница...
Читать далееПривет, Хабр!
Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock, что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?
Читать далееБлоки критериев «Общие сведения», «Корпоративная архитектура», «Прикладная архитектура», «Архитектура данных» и т.д., оценивают систему «в целом» – по сути это набор функциональных и нефункциональных требований к системе, но без специфики функционала системы. Нужно оценивать и функционал системы, по ее прямому назначению. Для этого в критериальной модели для каждого типа систем предусмотрена специализированная часть.
Сравнение АБС с CRM выглядит удивительно, сравнивать нужно системы одного класса, одной функциональной области. Суть этой части критериальной модели – типовые функциональные и нефункциональные требования к системам. Функциональные области у нас есть в типовой архитектуру (см. часть 4 Размечаем площадку), вот по этим областям и будем оценивать системы.
Читать далееПривет! Я — Маша, которая заваривает qaшу (и иногда крепкий кофе, когда глаза уже отказываются фокусироваться на экране).
Сегодня хочу поговорить о проблеме, с которой сталкивался, наверное, каждый тестировщик (и не только). В один "прекрасный" день ты садишься проверять фичу или делать регресс, а баги просто перестают быть видны. Ты кликаешь, прогоняешь сценарии, но будто слепнешь — всё кажется рабочим. А потом оказывается, что пропустил очевидный косяк, и по цепочке начинается: чувство вины → стресс → ещё большая усталость → ещё больше ошибок.
Знакомо? Тогда давайте разберёмся, как выбраться из этой ямы, пока она не превратилась в профессиональное выгорание.
Читать далееВ данной статье предложим новый взгляд на работу Red Team для создания самых изощрённых симуляций атак, в которых код заменяется эмоциями, а уязвимости скрываются не в ПО, а в человеческой психике.
Читать далееКогда одного хранилища данных уже недостаточно, а миграция на новую систему кажется слишком сложной, на помощь приходит работа с несколькими базами данных одновременно.
В этой статье мы разберём:
Практические кейсы, когда действительно нужно использовать несколько СУБД
Пошаговую настройку подключений к разным базам в Laravel
Реализацию моделей и отношений между ними
Плюсы и минусы такого подхода
Вы узнаете, как грамотно организовать работу с несколькими источниками данных без ущерба для производительности и читаемости кода.
Читать далееВ каком состоянии сейчас JavaScript-разработка? Насколько значим стал TypeScript? Напишут ли уже нейросети за нас юнит-тесты? Что можно закодить в вебе с помощью Emscripten? (спойлер: например, «Героев Меча и Магии»).
Конференции всегда помогали «держать руку на пульсе» и понимать состояние индустрии. А в этот раз перед HolyJS мы ещё и затеяли опрос TechRadar, где разработчики отвечают, чем именно они пользуются. И на конференции узнаем ответы.
До начала HolyJS 2025 Spring осталось меньше недели, и мы публикуем на Хабре полную программу докладов. Возможно, по ней вы поймёте, хотите ли на конференцию. А возможно, просто пробежитесь глазами по названиям, и уже по ним поймёте, что волнует JS-разработчиков в 2025 году.
Читать далееПервая Межзвездная война в массовом сознании сама по себе обросла огромным количеством исторических мифов, но, безусловно, самый мифологизированный ее эпизод - это Первая битва за Клендату 2297 года. С самого окончания войны и снятия режима военной цензуры каждая годовщина сражения неминуемо сопровождается ритуальными завываниями журналистов-диссидентов из числа неграждан о том, что звездный маршал Диеннс отправил людей на убой. Самый большой вклад в черную легенду о Клендату, пожалуй, сделал известный диссидент, антивоенный активист и, возможно, мормонский экстремист П.Верхувен, снявший известный фильм о Шестой дивизии «Полярис». Увы, вместо увековечивания памяти геройского соединения, вынесшего самые тяжелые бои 2297 года, картина вышла тенденциозной чернухой, не имеющей почти ничего общего с реальной историей...
Would you like to know more?Привет, Хабр!
Сегодня в коротком формате разберемся с тем, что же творится внутри CPython, когда функции вызывают друг друга: sys._getframe, f_back, f_globals, f_locals, а также создадим свои декораторы.
Читать далееJava разработчики часто сталкиваются с проблемой обработки очень больших наборов данных в рамках ограничений виртуальной машины Java (JVM). Когда размер кучи значительно увеличивается — часто более чем на 32 ГБ, — время паузы при сборке мусора (GC) может увеличиваться, что приводит к снижению производительности. В этой статье рассматривается, как Chronicle Queue обеспечивает хранение и эффективный доступ к набору данных размером 1 ТБ на компьютере с 64 ГБ оперативной памяти.
Читать далееИспользуйте этот файл осознанно и никому не передавайте, чтобы не нарушить чью-то комфортную работу компьютера. Файл подкачки не освобождается, проверял в Linux, но даже с этой проблемой Linux работает без проблем.
Вот, 1 апреля, можно и подшутить над своим компьютером, дав ему несовсем вменяемый файл png. Объясняю как это сделать.
Впервую очередь, чтобы без лишних усилий, мы просто берем и скачиваем исходники libpng16. Исходники нам нужны, чтобы присвоить правильные CRC сумму для заголовка картинки.
Идем в файл pngrutil.c и ищем функцию png_crc_error и в конце функции добавляем printf
Читать далееВ этой статье мы рассмотрим оценку рисков информационной безопасности, которая является ядром системы менеджмента информационной безопасности. Понимание процесса оценки рисков необходимо Сертифицированному Специалисту по Кибербезопасности для грамотного выстраивания СМИБ.
Читать далееДень дурака — это вполне легальный повод шутить глупые шутки, разыграть друзей и от души повеселиться. С последним уже много лет как помогает всемирная сеть благодаря скопившимся в ней мемам, видео и различным онлайн-ресурсом.
Помимо серьёзных сайтов, предназначенных для важных повседневных задач, в сети полно различных забавных страничек — генераторов, смешных тестов, абсурдных симуляторов или простых как палка приколов.
В честь праздника дураков собрали подборку необычных сайтов, которые могут поднять вам настроение или немного развлечь.
Для удобства все сайты мы поделили на три категории: генераторы различных смешных картинок и текстов, мини-игры и прочие развлечения, а также попросту безобидные или попросту бессмысленные шутки.