Как стать автором
Обновить
4
0

Материаловедение, Dart/Flutter, Python

Отправить сообщение

Мотивация — тайм-менеджмент

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров31K

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

Читать далее
Всего голосов 27: ↑22 и ↓5+18
Комментарии2

Собственные проекты, углубленная практика алгоритмов и другое: поднимаем навыки программирования на новый уровень

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.5K

Неважно, новичок ли вы, отлаживающий вашу первую программу «Hello World», или опытный инженер, — у каждого из нас всегда есть возможность улучшить свои навыки. Александр Шелютин, Data Architect в KarmaHQ, расскажет о разнице между тем, как просто заставить что-то работать, и написанием действительно хорошего кода.

Читать далее
Всего голосов 7: ↑4 и ↓3+3
Комментарии0

Людвиг. Победи прокрастинацию. Как перестать откладывать дела на завтра (инструменты из книги)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров30K

Одна из самых практичных книг по тайм-менеджменту. Помогает в борьбе с откладыванием дел на потом и в более стоящем использовании своего времени. Расскажу про 3 инструмента, которые взял в работу.

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии20

Реактивные формы во Flutter: как делать формы с меньшими трудозатратами

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.7K

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии5

Я до последнего буду защищать сильную статическую типизацию

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров24K

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

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

Читать далее
Всего голосов 61: ↑55 и ↓6+65
Комментарии135

Глубокое погружение в папку .idea в Android Studio

Время на прочтение3 мин
Количество просмотров18K

Глубокое погружение в папку .idea в Android Studio


Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность обрабатывать иногда возникающие git-конфликты, и для того, чтобы точно знать, какой файл можно безопасно добавить в .gitignore, а какой нет.


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

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии9

Установка Firefox 116 под Windows 7

Время на прочтение1 мин
Количество просмотров26K
Тема навеяна публикацией «Пиратим» Google Chrome для Microsoft Windows 7.

Дурной пример заразителен, и одновременно с Google Mozilla объявила, что очередная версия её браузера — номер 116 — под Windows 7 работать не будет. Если вы попытаетесь скачать и запустить инсталлятор FF под этой ОС, он пожалуется на необходимость обновления. Можно ли это как-то предотвратить? И насколько сложно это сделать по сравнению с Google Chrome? Судите сами.
Читать дальше →
Всего голосов 48: ↑45 и ↓3+58
Комментарии122

SharedPreferences отличное хранилище для вашего flutter-приложения. Но есть нюансы…

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров7.3K

Вы задаёте себе вопрос, какое хранилище данных выбрать для flutter-приложения? Отлично, тогда продемонстрирую, каким образом можно воспользоваться key-value решением, используя два метода set() и get() для всех типов данных*, и не разбрасываться ключами по всему коду.

Данный способ уже используется в приложении Weather Today.

Что там под звёздочкой
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

«Пиратим» Google Chrome для Microsoft Windows 7

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров62K

Привет, Хабр!
Возможно, здесь стоило написать какое-то длинное лирическое вступление или порассуждать о морально-этической части «пиратства» продукции крупнейших корпораций, ну или хотя бы просто сказать что это моя первая статья в Вашем сообществе. Но, к сожалению, даже не задумывался над всем этим и поэтому переедем сразу к делу и по существу.

На абордаж!

Читать далее
Всего голосов 107: ↑95 и ↓12+107
Комментарии124

Неразрешимые проблемы разработки

Время на прочтение3 мин
Количество просмотров10K


Сроки


В разработке ПО существует неразрешимое противоречие — это оценка сроков.


С одной стороны, бизнесу надо знать, сколько займёт разработка фичи, причем как можно точнее. И это понятно — ведь надо как-то принимать решения, чтобы сравнить предполагаемые доходы и расходы и достать деньги в нужном количестве.


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


  • новая функциональность нетипична
  • есть зависимости на другие команды
  • будет задействована новая технология
  • ТЗ надо сильно уточнять
  • надо разобраться в логике легаси-кода

Часто, для того, чтобы точно оценить сроки, нужно, собственно, сделать половину работы. Чем точнее надо оценить сроки, тем больше надо на это затратить времени, что приводит к суммарному увеличению time-to-market, причем все равно без гарантий.

Читать дальше →
Всего голосов 40: ↑37 и ↓3+43
Комментарии128

Почему разрабатывать ПО действительно сложно?

Время на прочтение5 мин
Количество просмотров4.5K

Давайте начнем с тривиального, но неоспоримого факта: программное обеспечение постоянно развивается – устаревает и обновляется, видоизменяется и дает дорогу новому.

Заметным исключением является наборная система TeX, разработанная Дональдом Э. Кнутом (D.E.Knuth). Предполагалось, что эта система должна быть совершенной, но даже в ней можно найти свои недочеты. Тем не менее, это уже отдельная тема для другой статьи.

Читать далее
Всего голосов 17: ↑15 и ↓2+16
Комментарии11

Каким образом спецслужбы отслеживают пользователей мессенджеров (без доступа к устройству и ключам)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров61K

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

Читать далее
Всего голосов 53: ↑51 и ↓2+65
Комментарии177

Как я потратил 100к рублей, чтобы удобно вести списки

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров32K

Короче, меня задолбало, что списки всё время теряются. 

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

Это происходит со всеми списками. С идеями, знакомствами, заметками из книг, местами, где я был. Вся эта бесконечная череда списков постоянно теряется. Ты постоянно начинаешь их заново. Может бы это я такой странный, а другие ответственно всё раскладывают по полочкам. 

Но есть же Notion и его аналоги! Я создам необходимые вкладки и буду ответственно вести! Ахахаха, нет. Оказалось, что открыть отдельное приложение, продраться сквозь интерфейс и найти нужный список — это слишком высокий порог входа, когда надо записать на лету.

Душа просила простого решения
Всего голосов 29: ↑26 и ↓3+28
Комментарии78

Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров163K

Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.

Приложение декларирует, казалось бы, благие намерения: предотвращение нежелательных звонков от спамеров и телефонных мошенников — услуга в современном мире необходимая и востребованная. Однако свою популярность Getcontact приобрёл совсем по другой причине…

Читать далее
Всего голосов 142: ↑137 и ↓5+162
Комментарии277

Числа с плавающей точкой для гуманитариев. Что это такое и как они работают

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров40K

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

В этой статье я простым языком попытаюсь изложить данную тему и помочь решить ряд вопросов: как на самом деле процессор хранит числа с плавающей точкой? Как точка хранится в памяти? Почему при сложении 0.1 + 0.2 получается ответ ~0.30000000000000004? Если по какому-то из этих вопросов вы чувствуете, что не можете дать точный ответ, то эта статья для вас.

Читать далее
Всего голосов 36: ↑35 и ↓1+39
Комментарии37

Приборы и материалы для чистки зубов (какая щётка лучше, например)

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров36K
Вот это южнокорейская зубная щётка. Она в два раза длиннее обычной, потому что корейцы привыкли получать максимум эффекта на каждую потраченную вону. Теперь простой вопрос: может, стоит тоже купить такую, раз она больше? Можно будет чистить зубы быстрее или эффективнее?

image

Нет, не стоит. Лучше купить щётку с большим количеством щетинок, хотя бы 5 тысячами штук.

Такие щётки стоят в Москве 500–900 рублей в аптеках. Вот с ними реально одно движение может быть эквивалентно по эффекту 4–5 движениям обычной щёткой.

Следующий вопрос: а, может, купить электрическую или ультразвуковую? Возможно, но вместе с налётом вы будете счищать часть эмали или греть зубы.

А, может, взять ионную, которая имеет заряд и лучше притягивает всякий мусор? Тоже есть пара исследований.

Давайте разбираться, как лучше чистить зубы с позиции девайсов и здравого смысла.
Читать дальше →
Всего голосов 70: ↑65 и ↓5+71
Комментарии65

Я ничего не успеваю

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров28K
В годы юности я играла в «Ну, погоди» до высоких уровней, на которых яйца катились практически непрерывным потоком. В какой-то момент внимание и ловкость подводили и звучал характерный сигнал: всё, жизни закончились. А при включении можно было увидеть двух четырёхруких (шестилапых?) волков, пытающихся поймать все яйца. Казалось бы — игрушка, которая осталась в прошлом, но её образ нет-нет, да всплывает в голове. Это случается в минуты полной перегрузки делами, когда пытаешься поймать все яйца, закрыть задачи и планы, а все шесть лап опускаются. Приходит усталость: то ли от сделанного, то ли от хронического неуспевания, то ли от переживаний за всё сразу. От этого состояния до выгорания рукой подать. А вокруг все такие эффективные, скоростные, продвинутые или… нет?

Читать дальше →
Всего голосов 78: ↑64 и ↓14+67
Комментарии60

Резюме для Middle разработчика

Время на прочтение4 мин
Количество просмотров18K

Недавно поставил цель устроиться на Middle позицию. В статье я расскажу как я улучшил свое резюме (+ конечно много готовился к собесам, но в этот раз это опустим) и повысил з/п в 5 раз!

Прокачку резюме я решил доверить профессионалу с большим опытом в найме и развитии сотрудников - Маше Давыдовой - карьерным консультантом в Эйч.

Машу я попросил рассказать

а) как смотрит на резюме мидла рекрутер?

б) как показать в резюме, что я уже вырос из джуна?

в) что в моем резюме хорошо, а что плохо?

Мы рассматривали каждый блок резюме, поэтому в таком же порядке я опишу ответы Маши на мои вопросы. Свое резюме в pdf я делал, конечно, на своем сайте :)

Читать далее
Всего голосов 19: ↑3 и ↓16-9
Комментарии23

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

Время на прочтение19 мин
Количество просмотров430K


Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

Представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим.

Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Читать дальше →
Всего голосов 85: ↑57 и ↓28+29
Комментарии22

Осторожно: HSTS

Время на прочтение3 мин
Количество просмотров96K
Про HSTS на Хабре уже писали, этот механизм включен в генераторе конфигов для веб-серверов от Mozilla. Написать этот пост я решил за один день столкнувшись с недоступность сразу двух крупных сайтов из-за HSTS.

TL;DR
Тщательно проверяйте работу сайта по TLS перед включением 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
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии16

Информация

В рейтинге
5 409-й
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность