Это первая статья в серии материалов для Хабра, где разбираем поведенческие механизмы и способы корректировать их под режим дня. Этот материал написан с использованием лекций профессора нейробиологии Эндрю Губермана. Речь пойдет о том, как связаны мотивация, тайм-менеджмент и о том, как создать условия для действительно продуктивной работы.
Материаловедение, Dart/Flutter, Python
Собственные проекты, углубленная практика алгоритмов и другое: поднимаем навыки программирования на новый уровень
Неважно, новичок ли вы, отлаживающий вашу первую программу «Hello World», или опытный инженер, — у каждого из нас всегда есть возможность улучшить свои навыки. Александр Шелютин, Data Architect в KarmaHQ, расскажет о разнице между тем, как просто заставить что-то работать, и написанием действительно хорошего кода.
Людвиг. Победи прокрастинацию. Как перестать откладывать дела на завтра (инструменты из книги)
Одна из самых практичных книг по тайм-менеджменту. Помогает в борьбе с откладыванием дел на потом и в более стоящем использовании своего времени. Расскажу про 3 инструмента, которые взял в работу.
Реактивные формы во Flutter: как делать формы с меньшими трудозатратами
В этом посте я расскажу о реактивных формах во Flutter и о том, как делать формы с меньшими трудозатратами в целом. Начну с обычных форм и их проблем во Flutter, затем перейду к реактивным формам, их тестированию и подведу итоги.
Я до последнего буду защищать сильную статическую типизацию
Я пишу ПО уже больше двадцати лет и с каждым днём всё больше убеждаюсь, что сильная статическая типизация — это не просто хорошая идея, но и почти всегда верный выбор.
Разумеется, существуют сферы применения нетипизированных языков (или вариантов языков), например, они гораздо удобнее при работе с REPL или для одноразовых скриптов в средах, которые и так уже безнадёжно нетипизированы (например, в шелле). Но почти во всех остальных случаях сильная типизация крайне предпочтительна.
Глубокое погружение в папку .idea в Android Studio
Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность обрабатывать иногда возникающие git-конфликты, и для того, чтобы точно знать, какой файл можно безопасно добавить в .gitignore, а какой нет.
Разобрал я это на примере проекта, над которым работаю. И решил поделиться результатом того, что выяснил, т.к. не нашел никакой документации по этому вопросу.
Установка Firefox 116 под Windows 7
Дурной пример заразителен, и одновременно с Google Mozilla объявила, что очередная версия её браузера — номер 116 — под Windows 7 работать не будет. Если вы попытаетесь скачать и запустить инсталлятор FF под этой ОС, он пожалуется на необходимость обновления. Можно ли это как-то предотвратить? И насколько сложно это сделать по сравнению с Google Chrome? Судите сами.
SharedPreferences отличное хранилище для вашего flutter-приложения. Но есть нюансы…
Вы задаёте себе вопрос, какое хранилище данных выбрать для flutter-приложения? Отлично, тогда продемонстрирую, каким образом можно воспользоваться key-value решением, используя два метода set()
и get()
для всех типов данных*, и не разбрасываться ключами по всему коду.
Данный способ уже используется в приложении Weather Today.
«Пиратим» Google Chrome для Microsoft Windows 7
Привет, Хабр!
Возможно, здесь стоило написать какое-то длинное лирическое вступление или порассуждать о морально-этической части «пиратства» продукции крупнейших корпораций, ну или хотя бы просто сказать что это моя первая статья в Вашем сообществе. Но, к сожалению, даже не задумывался над всем этим и поэтому переедем сразу к делу и по существу.
На абордаж!
Неразрешимые проблемы разработки
Сроки
В разработке ПО существует неразрешимое противоречие — это оценка сроков.
С одной стороны, бизнесу надо знать, сколько займёт разработка фичи, причем как можно точнее. И это понятно — ведь надо как-то принимать решения, чтобы сравнить предполагаемые доходы и расходы и достать деньги в нужном количестве.
С другой стороны, разработка порою в душе не е... вообще не знает, сколько надо времени, особенно если
- новая функциональность нетипична
- есть зависимости на другие команды
- будет задействована новая технология
- ТЗ надо сильно уточнять
- надо разобраться в логике легаси-кода
Часто, для того, чтобы точно оценить сроки, нужно, собственно, сделать половину работы. Чем точнее надо оценить сроки, тем больше надо на это затратить времени, что приводит к суммарному увеличению time-to-market, причем все равно без гарантий.
Почему разрабатывать ПО действительно сложно?
Давайте начнем с тривиального, но неоспоримого факта: программное обеспечение постоянно развивается – устаревает и обновляется, видоизменяется и дает дорогу новому.
Заметным исключением является наборная система TeX, разработанная Дональдом Э. Кнутом (D.E.Knuth). Предполагалось, что эта система должна быть совершенной, но даже в ней можно найти свои недочеты. Тем не менее, это уже отдельная тема для другой статьи.
Каким образом спецслужбы отслеживают пользователей мессенджеров (без доступа к устройству и ключам)
Недавно в сети получила широкую огласку и негодование информация об отслеживании фактов взаимодействия между пользователями популярных мессенжджеров. Я решил привести алгоритм реализации данных действий, опираясь только на информацию, доступную при анализе трафика.
Как я потратил 100к рублей, чтобы удобно вести списки
Короче, меня задолбало, что списки всё время теряются.
Раз за разом повторяется одна и та же ситуация. Знакомый советует фильм, я открываю заметки, где-то записываю. И эта запись навсегда растворяется в мировом пространства.
Это происходит со всеми списками. С идеями, знакомствами, заметками из книг, местами, где я был. Вся эта бесконечная череда списков постоянно теряется. Ты постоянно начинаешь их заново. Может бы это я такой странный, а другие ответственно всё раскладывают по полочкам.
Но есть же Notion и его аналоги! Я создам необходимые вкладки и буду ответственно вести! Ахахаха, нет. Оказалось, что открыть отдельное приложение, продраться сквозь интерфейс и найти нужный список — это слишком высокий порог входа, когда надо записать на лету.
Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались
Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.
Приложение декларирует, казалось бы, благие намерения: предотвращение нежелательных звонков от спамеров и телефонных мошенников — услуга в современном мире необходимая и востребованная. Однако свою популярность Getcontact приобрёл совсем по другой причине…
Числа с плавающей точкой для гуманитариев. Что это такое и как они работают
В этой статье я бы хотел затронуть такую важную и фундаментальную тему для любого программиста, как числа с плавающей точкой. На данную тему уже написано большое количество статей, однако многие из них используют пугающие математические формулы и нотации, что может быть сложно для понимания новичкам.
В этой статье я простым языком попытаюсь изложить данную тему и помочь решить ряд вопросов: как на самом деле процессор хранит числа с плавающей точкой? Как точка хранится в памяти? Почему при сложении 0.1 + 0.2 получается ответ ~0.30000000000000004? Если по какому-то из этих вопросов вы чувствуете, что не можете дать точный ответ, то эта статья для вас.
Приборы и материалы для чистки зубов (какая щётка лучше, например)
Нет, не стоит. Лучше купить щётку с большим количеством щетинок, хотя бы 5 тысячами штук.
Такие щётки стоят в Москве 500–900 рублей в аптеках. Вот с ними реально одно движение может быть эквивалентно по эффекту 4–5 движениям обычной щёткой.
Следующий вопрос: а, может, купить электрическую или ультразвуковую? Возможно, но вместе с налётом вы будете счищать часть эмали или греть зубы.
А, может, взять ионную, которая имеет заряд и лучше притягивает всякий мусор? Тоже есть пара исследований.
Давайте разбираться, как лучше чистить зубы с позиции девайсов и здравого смысла.
Я ничего не успеваю
Резюме для Middle разработчика
Недавно поставил цель устроиться на Middle позицию. В статье я расскажу как я улучшил свое резюме (+ конечно много готовился к собесам, но в этот раз это опустим) и повысил з/п в 5 раз!
Прокачку резюме я решил доверить профессионалу с большим опытом в найме и развитии сотрудников - Маше Давыдовой - карьерным консультантом в Эйч.
Машу я попросил рассказать
а) как смотрит на резюме мидла рекрутер?
б) как показать в резюме, что я уже вырос из джуна?
в) что в моем резюме хорошо, а что плохо?
Мы рассматривали каждый блок резюме, поэтому в таком же порядке я опишу ответы Маши на мои вопросы. Свое резюме в pdf я делал, конечно, на своем сайте :)
Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com
Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.
Примечание: публикация основана на содержании репозитория What happens when...
Представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим.
Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Осторожно: HSTS
Что такое HSTS?
HSTS (HTTP Strict Transport Security) — это механизм защиты от даунгрейд-атак на TLS, указывающий браузеру всегда использовать TLS для сайтов с соответствующими политиками. Стандарт описан в RFC6797, а политики бывают двух видов:
Динамические
Политика применяется из HTTP-заголовка Strict-Transport-Security при первом заходе на сайт по HTTPS, в нём указан срок действия и применимость к субдоменам:
Strict-Transport-Security: max-age=15768000; includeSubDomains;
Статические
Статические политики захардкожены в браузер и для некоторых сайтов включает привязку к вышестоящему CA, выпустевшему сертификат (например: google.com, paypal.com или torproject.org). Причем она может действовать только когда сайт открыт через TLS, разрешая незащищённое соединение, но блокируя MitM с подменой сертификата.
Список из Chromium используют все популярные браузеры (Firefox, Safari и IE 11+Edge) и добавить в него сайт может любой желающий, если веб-сервер отдаёт заголовок Strict-Transport-Security со сроком действия от двух лет и ключевым словом preload в конце:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Информация
- В рейтинге
- 5 409-й
- Откуда
- Красноярск, Красноярский край, Россия
- Дата рождения
- Зарегистрирован
- Активность