Почему технические собеседования в России до сих пор оторваны от реальной жизни?

Здравствуйте! Меня зовут Алексей, я средний фронтенд-разработчик, наверное. А может джуниор, смотря от лица какой компании смотреть.

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

И у меня прям щелкнуло в голове, ну правда, что за полумеры?


Читать дальше →
Почему технические собеседования в России до сих пор оторваны от реальной жизни?
Source: habrahabr

ЭДО для «М.Видео-Эльдорадо»: 40 тысяч документов в месяц

Как в Группе «МВидео-Эльдорадо» был внедрен электронный документооборот? Сколько человеко-часов было затрачено и какое количество седых волос потеряла внутренняя команда программистов, все эти «ужасающие» подробности под катом. Читать дальше →
ЭДО для «М.Видео-Эльдорадо»: 40 тысяч документов в месяц
Source: habrahabr

Pattern matching в Java 8

Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка.
Язык Java не является исключениям. И в Java 16 будет добавлено поддержка сопоставление с образцом для оператора instanceof, как финальной фичи.
В будущем надеемся, что сопоставление с образцом будем расширено и для других языковых конструкций.
Читать дальше →
Pattern matching в Java 8
Source: habrahabr

HackTheBox. Прохождение Academy. RCE в Laravel и LPE через composer

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

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ 🙂

Читать далее
HackTheBox. Прохождение Academy. RCE в Laravel и LPE через composer
Source: habrahabr

5 причин отказать инвестору

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

Читать далее
5 причин отказать инвестору
Source: habrahabr

Шаблон Kotlin микросервисов

Для разработчиков не секрет, что создание нового сервиса влечет за собой немало рутиной настройки: билд скрипты, зависимости, тесты, docker, k8s дескрипторы. Раз мы выполняем эту работу, значит текущих шаблонов IDE недосточно. Под катом мои попытки автоматизировать все до одной кроссплатформенной кнопки «сделать хорошо» сопровождаемые кодом, примерами и финальным результатом.
Если перспективы создания сервисов в один клик с последующим автоматическим деплоем в Digital Ocean звучат заманчиво, значит эта статья для вас.

Читать далее
Шаблон Kotlin микросервисов
Source: habrahabr

Запускаем скрипты Ruby из Go Lang

Для использования Ruby как скриптового языка, то есть как языка для встраивания, вроде lua, существует легковесная реализация Ruby под названием mruby https://en.wikipedia.org/wiki/Mruby

Для go удалось найти только одну стабильную библиотеку с биндингом к mruby (https://github.com/mitchellh/go-mruby). По умолчанию, она может собрать mruby версии 1.2.0 (2015 год выпуска), и можно попробовать сделать сборку вплоть до версии 1.4.1 (2018 год выпуска). Но актуальная версия mruby сейчас имеет версию 2.1.2 (2020 год). Есть форк с поддержкой версии mruby 2.1.0 (https://github.com/mrbgems/go-mruby). Этот форк и будем использовать, что бы после небольших изменений получить в том числе версию 2.1.2.

Читать далее
Запускаем скрипты Ruby из Go Lang
Source: habrahabr

[Перевод] Дружим WSL и VSCode через Tailscale и упрощаем работу в сети

Tailscale – это сеть «VPN» без конфигурации, которая работает поверх других сетей, эффективно «выравнивает» сети и позволяет пользователям и сервисам безопаснее и проще общаться друг с другом. Я подробно написал о том, как подключиться по SSH к WSL2 в Windows 10 с другого компьютера. В инструкции не только множество шагов, но и несколько способов подключения!

Я уже говорил об этом, но если вы активный разработчик и хотите поделиться сервисами и сайтами, над которыми работаете, со своими коллегами и соавторами, то придётся разобраться с нетривиально большим объёмом настроек, управления и обслуживания. Другими словами, «не было бы проще, если бы все были в одной сети и в одной подсети?»

WSL1 делит сетевой стек с Windows 10, поэтому «машина» рассматривается как одна и та же. Как бы машина ни называлась, выполняемый на порте 5000 сервис, – сервис Windows или приложение, работающее в Linux под WSL1 – выполняются на одной и той же машине. Однако в WSL2 ваша среда Linux находится «за» хостом Windows. Хотя WSL2 упрощает доступ к http: // localhost: 5000 через прозрачную переадресацию портов, ваш компьютер WSL2 Linux на самом деле не является одноранговым узлом в той же сети, что и другие ваши устройства.

Использование сетевой системы с нулевой конфигурацией, такой как Tailscale (и подобных сервисов), выравнивает игровое поле – и сеть. Из-за некоторых особенностей WSL2 можно сделать несколько ошибок. Вот, как я заставил всё заработать.

Читать дальше
[Перевод] Дружим WSL и VSCode через Tailscale и упрощаем работу в сети
Source: habrahabr

Чем синьор отличается от джуниора?

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

Это способность построить в голове модель того, что происходит в создаваемом софте. И помнить ее долго хотя бы в общих чертах.

Вам может быть наплевать на выгоды бизнеса (привет, fillpackart ), или вы наоборот живете только работой. Вы можете знать или не знать детали реализации gc в jvm и вертеть красно-черные деревья.

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

Читать дальше →
Чем синьор отличается от джуниора?
Source: habrahabr