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

Пользователь

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

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]

Время на прочтение9 мин
Количество просмотров126K
image

Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.

Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 64: ↑63 и ↓1+81
Комментарии59

Почему твоя мама всё ещё не прогает?

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

Случай с бомжом

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

Обычно вместо денег я даю попрошайкам-мужчинам телефон отдела кадров одной курьерской компании, которая постоянно нуждается в сотрудниках. Но у него не было ног… Тогда я подумал: «Чувак, у тебя полным полно времени. Работа за компом — лучшее, что может случиться в твоей жизни. Купон со скидкой на курс по PHP — вот, что должны были положить тебе на койку туда, где раньше были ноги, когда ты очнулся после ампутации».

Я решил предложить ему изучить программирование. В его положении он должен был быть чертовски мотивирован. Но получится ли у него?

Читать далее
Всего голосов 247: ↑219 и ↓28+248
Комментарии468

Линус Торвальдс, Бьёрн Страуструп и Брендан Грегг контрибьютят в мой хобби-проект. Зачем?

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

Смотрите сами: вот проект, вот история коммитов.



Список контрибьюторов с главной страницы репозитория:



Ссылки на аватарках ведут на странички профилей реальных людей.


Всё на месте. Кроме плашечки "Verified" как здесь:





Знатоки Git и GPG, не торопитесь проматывать ленту: эта статья не про необходимость подписывать свои коммиты. Она про неявные допущения, которые мы делаем, пользуясь "интуитивно-понятными" монстрами GitHub и GitLab и доверяя им контроль доступа к нашим репозиториям.

Читать дальше →
Всего голосов 158: ↑154 и ↓4+201
Комментарии67

Работа с Java в командной строке

Время на прочтение11 мин
Количество просмотров649K
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии25

IntelliJ IDEA: Structural Search & Replace

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

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


Простой пример одной такой функции

А вы знаете, что, если в IDEA нажать F2, курсор перескочит к ближайшей ошибке в файле? А если нет ошибки, то к замечанию? Как-то так получается, что об этом знают далеко не все.


Одной такой функцией является Structural Search & Replace (SSR). Она может быть невероятно полезна в тех ситуациях, когда пасует всё богатое разнообразие других функций.


Несколько таких примеров я и приведу в данной статье. И чтобы не ограничиваться суррогатными случаями, буду демонстрировать эти примеры на реальном коде из двух проектов:


  1. 3D-движка для создания игр jMonkeyEngine, как пример большого проекта, в котором всегда можно найти что-то интересненькое.
  2. моего собственного проекта plantuml-native-image, в котором я провожу эксперименты по компиляции PlantUML в нативный исполняемый код с помощью GraalVM native-image.

Собственно, случай во втором проекте и побудил меня к написанию статьи. Но обо всём по порядку...

Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии22

Сон и продолжительность жизни. Пандемия недосыпа

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

О времена, о нравы.


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


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


«Вот бы вообще не спать, я бы столько всего успевал сделать!» — наверное, так мечтал почти каждый.


Есть и те, кто относятся ко сну с пренебрежением: «Лягу сегодня попозже, часа в 3 ночи». Неважно, остались ли незаконченные дела у человека или он решил досмотреть сериал — так повторяется изо дня в день. А вставать, как всегда, по будильнику в 7:00. Кто-то даже гордится тем, как мало он спит. Подумаешь недосып?


Есть ли тут повод для гордости? Скорее наоборот.


Сегодня команда Lifext расскажет:



image

Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии105

Чтобы избавиться от боли в спине вам, возможно, придётся сидеть по-другому

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


Когда я сижу, у меня болит спина.

Это происходит уже последние 10 лет. И неважно, где я нахожусь – на работе, в ресторане, даже дома на диване. Моя поясница кричит: «Прекрати сидеть!»

Чтобы уменьшить боли в спине, на работу я купила себе коленный стул. Потом стол для работы стоя. Потом вернулась к обычному стулу, потому что мне стало больно стоять.

Я ходила к врачам, хирургам-ортопедам и специалистам по боли. Я освоила пилатес, увеличила свою гибкость и силу мускулов. В какой-то момент мой пресс стал таким сильным, что муж стал называть его «дощечкой».

Эти средства немного помогли – сначала. Но боль так и не ушла. Поэтому несколько лет назад я решила принять это как должное: сидячее положение причиняет мне боль, и так будет всегда.
Всего голосов 72: ↑62 и ↓10+52
Комментарии231

Топ-10 книг для разработчика

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

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




Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков. Кому интересно — добро пожаловать под кат.
Читать дальше →
Всего голосов 19: ↑15 и ↓4+22
Комментарии41

Срочные задачи. Да придёт Спаситель

Время на прочтение3 мин
Количество просмотров15K
Вы когда-нибудь задумывались, откуда берутся срочные задачи? Вроде, они как-то сами по себе возникают, объективно, из ниоткуда. Срочность рассматривается, как объективное свойство задачи, которое и анализировать-то смысла нет.

Вот просто есть на свете срочные задачи, и всё тут. Как бывает плохая погода, пробки и дурное настроение начальника. Я тоже так всегда думал, пока не познакомился с чудесным человеком, который всё мне объяснил. С тех пор я смотрю на срочные задачи иначе, потому что понимаю причину их возникновения.

Причина проста: если задача срочная, то кто-то, где-то, что-то профакапил.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+38
Комментарии74

Имитируем сетевые проблемы в Linux

Время на прочтение15 мин
Количество просмотров33K
Всем привет, меня зовут Саша, я руковожу тестированием бэкенда. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость тестировать взаимодействие сервисов между собой, которое часто происходит по сети.

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


Читать дальше →
Всего голосов 55: ↑54 и ↓1+66
Комментарии17

Как правильно раздавать котят

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

Раздача котят по DHCP


  1. Привязать к котёнку поводок
  2. Запустить котёнка в толпу
  3. Когда хозяин будет найден, он сам отвяжет котёнка от поводка.

Раздача котят по HTTPS


— Вам нужен котёнок?
— А у него есть родословная и сертификат о прививках?
— Есть, вот, смотрите. А у вас паспорт, кстати, не просрочен?
— Нет, он просто молдавский. А это точно котёнок?
— А что?
— А почему у него в родословной немецкая овчарка?

Читать дальше →
Всего голосов 226: ↑214 и ↓12+272
Комментарии155

Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться

Время на прочтение12 мин
Количество просмотров31K
Итак, первый год работы прошёл, и вы стали дедом матёрым волком, который растёт вместе с компанией, сечёт в бизнес-процессах и довольно борзо спорит с руководством. Кажется, что может случиться? Но чем больше срок работы на одном месте, тем больше моральных и профессиональных ловушек вас подстерегают. Приходит рефлексия, стремление понять своё место в команде, что-то изменить, что-то создать и как-то измениться самому. Через эти кризисы проходит каждый, поэтому о них нужно знать и быть к ним готовыми. Пятница — время поговорить о счастье в труде.


Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Читать дальше →
Всего голосов 26: ↑24 и ↓2+41
Комментарии3

23 минуты. Оправдание тугодумов

Время на прочтение3 мин
Количество просмотров192K
Я всегда думал, что я – тупой. Точнее, что я — тугодум.

Проявлялось это просто: на совещаниях и обсуждениях я не мог быстро придумывать решение задачи. Все чего-то говорят, иногда умное, а я – сижу и молчу. Даже как-то неудобно было.

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

А я, выйдя с совещания, продолжал думать над задачей. И, как говорит устойчивое идиоматическое выражение, хорошая мысля приходит опосля. Находил нормальное, иногда интересное, а бывало – что и офигенное решение. Но оно уже никому не было нужно. Типа после драки кулаками не машут.

Просто культура в тех компаниях, где я начинал работать, была модерновая. Ну, как там это бывает – «совещание должно закончиться принятием решения». Вот чего придумали на совещании, то и принимается. Даже если решение — полная фигня.
Читать дальше →
Всего голосов 321: ↑305 и ↓16+365
Комментарии334

Работа не волк, часть 3. Новичок — вырасти или выжить?

Время на прочтение10 мин
Количество просмотров26K
Первое время на новой работе — это жизнь на иголках. Непонятно, куда вы попали, как устроена компания, что ценится в работе. Иногда даже после испытательного срока хочется сбежать от нового коллектива и не до конца понятных задач. Но ведь вы осознанно выбрали эту компанию, вы пришли в неё, потому что вас что-то привлекло. А значит, время бороться за возможности и авторитет — иногда даже матёрым профи. Готовы?



Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии7

Как работает криптография на основе эллиптических кривых в TLS 1.3

Время на прочтение23 мин
Количество просмотров31K
image

Пара предупреждений читателю:

Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола TLS версии 1.3. Это значит, что хотя ваш ECDSA сертификат и будет, при желании, работать с TLS 1.2, описание процесса хендшейка, наборов шифров и бенчмарков сделано на основании последней версии протокола TLS — 1.3. Как вы понимаете, это не относится к математическому описанию алгоритмов, лежащих в фундаменте современных криптографических систем.

Данный материал был написан не математиком и даже не инженером — хотя они и помогали проложить дорожку сквозь математические дебри. Огромная благодарность сотрудникам Qrator Labs.

(Elliptic Curve) Diffie-Hellman (Ephemeral)


Наследие Диффи — Хеллмана в XXI веке

Естественным образом, данная тема начинается не с Уитфилда Диффи и не с Мартина Хеллмана. Алан Тьюринг и Клод Шеннон сделали огромный вклад в теорию алгоритмов и теорию информации, равно как и в область криптоанализа. Диффи и Хеллман, в свою очередь, официально признаются авторами идеи криптографии с публичным ключом (также называемой асимметричной) — хотя теперь известно, что в Великобритании были также достигнуты серьезные результаты в этой области. Однако они оставались засекреченными длительное время — что делает двух джентльменов, упомянутых в подзаголовке, первопроходцами.

В чем именно?
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии7

Заменить Object на var: что может пойти не так?

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

Недавно я столкнулся с ситуацией, что замена Object на var в программе на Java 10 приводит к исключению в процессе выполнения. Мне стало интересно, много ли разных способов добиться такого эффекта, и я обратился с этим вопросом к сообществу:



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

Всего голосов 44: ↑43 и ↓1+42
Комментарии17

Sampler. Консольная утилита для визуализации результата любых shell команд

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

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1+296
Комментарии54

Хватит использовать RSA

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


Привет, %username%!

RSA — первый широко используемый алгоритм асимметричной криптографии, который до сих пор популярен в индустрии. Он относительно прост, на первый взгляд. Шифрование и подпись RSA можно посчитать на листке бумаги, чем часто занимаются студенты на лабораторных работах.
Но существует просто огромное количество нюансов, без учёта которых вашу реализацию RSA сможет взломать даже ребёнок.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии45

Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

Время на прочтение22 мин
Количество просмотров117K
image

Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Читать дальше →
Всего голосов 187: ↑178 и ↓9+169
Комментарии128

Старикам здесь не место? Программируем после тридцати пяти

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



Привет, меня зовут Дмитрий, мне 35 лет. Раньше я часто слышал, что программист — профессия для молодых. Тем не менее прошлым летом я получил приглашение в Яндекс и перебрался работать в Москву.


В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.


Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

Читать дальше →
Всего голосов 238: ↑222 и ↓16+206
Комментарии657

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность