Как стать автором
Обновить
4
0
Сергей Литвинов @SeApps

Solution architect

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

Spring Boot + Apache Kafka и SSL в Docker контейнере

Время на прочтение4 мин
Количество просмотров39K
Друзья, привет. В статье я расскажу как собрать решение для быстрого старта вашей разработки из standalone Java приложения, брокера и Zookeeper’а Kafka, поднятых в отдельных Docker контейнерах и настроенной plaintext авторизацией для доступа как с локальной машины, так и из внешнего контура.

Готовый проект на github можно забрать в конце статьи
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)

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


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

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

Большую часть жизни я просто махал на них рукой и проходил мимо. Эти глупцы не понимают очевидных вещей, и я не нанимался разъяснять каждому js-нику, почему его код — это не разработка, а игрушечное прототипирование. Но время идёт, а количество идиотов вокруг и не думает уменьшаться, вместо того, чтобы всей своей фронтенд индустрией переехать наконец на статический тайпскрипт, эти ослы начинают использовать всякие кложуры, писать тонны тестов, и идти на все мыслимые ухищрения — лишь бы не разбираться в типах.
Читать дальше →
Всего голосов 462: ↑337 и ↓125+212
Комментарии1975

Как пройти собеседование или почему тебя не берут на работу?

Время на прочтение12 мин
Количество просмотров40K
Не работать и получать кучу денег — мечта практически любого человека. Но если ты не грудастая, смазливая блондинка, которая готова на всё ради своей мечты, все таки работать придется. 

И чтобы не проклинать каждый день, за то, что ты тратишь свои лучшие годы на эту контору, нужно иметь решимость уйти туда, где тебя будут ценить. Проходишь пару интервью — и ты в лучшем месте. Что сложного? Мне искренне непонятно, почему многие спотыкаются на этом этапе, ведь всё не так трудно, как может показаться на первый взгляд.
Читать дальше →
Всего голосов 57: ↑45 и ↓12+33
Комментарии56

Крошка сын к отцу пришел и спросила кроха: что такое DDD? Но так, чтобы я понял

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


Есть вопрос, который я никак не могу раскусить. Казалось бы, по нему есть масса информации: книги, статьи, доклады. Но сложность и многогранность темы не позволяет сразу ухватить суть. Поможешь мне в этом?

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


Что такое Domain Driven Design?
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии13

Коллеги: и не друг, и не враг, а как?

Время на прочтение16 мин
Количество просмотров62K
На самой заре карьеры мой молодой начальник сказал в отделе: «Дружбы на работе не бывает». У нас был классный коллектив вчерашних студентов и принять этот тезис было сложно — все мы больше походили на однокашников или garage brothers, смотрящих в безоблачное будущее. Романтика! Однако после смены верховного руководства компании нам пришлось узнать, что начальник чертовски прав — а каждый из нас стал другим, просто коллегой, конкурентом, кто-то не выдержал и ушёл… Прошло 12 лет. Я успела побывать начальником, сменила 5 официальных мест работы и примерно столько же неофициальных и, кажется, знаю, какие бывают коллеги. А вы знаете?

Читать дальше →
Всего голосов 61: ↑45 и ↓16+29
Комментарии56

Кто такой Серафим? Или как одновременно проиграть и выиграть Хакатон

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

Пока ты ищешь себя команду для участия в самом масштабном хакатоне страны и регистрируешься, наши амбассадоры подготовили для тебя полезные лайфхаки, которые позволят не наделать типичных ошибок “новичков” и получить абсолютный максимум от участия! Сегодня мы расскажем о команде PrimeCare.


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

Страх и ненависть в IT

Время на прочтение7 мин
Количество просмотров126K
Всем привет. Я — обычный программист, носящий лычку сеньора в одной обычной продуктовой компании. Я занимаюсь коммерческой разработкой около 10 лет, начинал с разработки прошивок для небольших железок, а сейчас изготавливаю бекенды различной степени сложности преимущественно на модных нынче Java/Kotlin. Эту профессию я выбрал по призванию — будучи ещё школьником все время что-то паял, программировал на бумажке (компьютера не было) и всё такое. Дальше шли профильное образование, работа в различных компаниях — именитых и обычных, зарубежных и отечественных. Поэтому я могу сказать, что являюсь идейным программистом. И никогда не понимал людей, которые ждут пятницу — всегда с удовольствием ходил на работу, какой бы ад там не творился. Так было по-крайней мере до недавнего времени. С какого-то момента я “сломался” и с трудом мог заставить пойти себя на некогда любимую работу. Меня и раньше что-то смущало, но теперь, когда мысли до конца оформились в голове — я могу сказать, что же не так с моим некогда уютным IT-мирком.
Читать дальше →
Всего голосов 373: ↑339 и ↓34+305
Комментарии791

Собеседуем кандидата на должность Senior Software Developer

Время на прочтение7 мин
Количество просмотров52K
Я провел не одну сотню собеседований как с одной стороны, так и с другой. В этой статье я хотел бы поделиться своими опытом, наблюдениями и интересными моментами. Возможно, кого-то это убережет от ошибок, неверных выводов и потерянного времени.
Читать дальше →
Всего голосов 84: ↑68 и ↓16+52
Комментарии151

Типобезопасная работа с массивами PHP

Время на прочтение4 мин
Количество просмотров11K
Всем привет, расскажу о собственном велосипеде для удобной работы с массивами в PHP.

Type hinting


В PHP7 появились подсказки типов (type hinting), что позволило IDE проводить более качественный статический анализ кода, качество нашего кода улучшилось (или правильно говорит "стало более лучше"? ).

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

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

Но кроме приятных возможностей type hinting накладывает и обязанности, то есть типы переменных действительно должны быть такими как указано в сигнатуре метода.

Если не проверять типы, то можно получить ошибки в методах и конструкторах (особенно радуют ошибки в конструкторах).

Писать проверки вручную утомительно, я решил это дело автоматизировать, но не через проверку, а через приведение к нужному типу.
Читать дальше →
Всего голосов 23: ↑14 и ↓9+5
Комментарии66

Получаем Spring Bean из сторонних Application Context правильно

Время на прочтение5 мин
Количество просмотров11K
Добрый день, хабровчане!

В данной статье предлагаю обсудить одну из проблем, с которой нередко сталкиваются в проектах, использующих фреймворк Spring. Описываемая в данной статье проблема возникает ввиду одной из типичных ошибок в spring-конфигурациях. Не нужно стараться, чтобы такую ошибку в конфигурации допустить, и поэтому данная ошибка является довольно распространенной.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии5

Подготовка к Spring Professional Certification. Контейнер, IoC, бины

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

Доброго времени суток, Хабр.


Сегодня я решил представить вам перевод цикла статей для подготовки к Spring Professional Certification.


Это перевод только первой статьи, если он зайдет аудитории, я продолжу выпуск переводов.  


Зачем я это делаю, ведь уже есть куча профильных материалов?
  1. Часто в них информация не структурирована, не собрана, или не актуальна
  2. Молодые разработчики могут не знать английский. Этот цикл можно использовать не только для сертификации, но и для самообучения/повторения материалов.
  3. Этими материалами можно пользоваться при подготовке к собеседованию, т.к. они выстроены в виде вопросов и ответов.
  4. Важное, и самое главное преимущество — этот QA сделан из вопросов из  официального Study Guide от Pivotal. 

  • Некоторые вопросы, которые казались мне лишними или которых не было в гиде я осознанно упустил.

Оглавление
  1. Внедрение зависимостей, контейнер, IoC, бины
  2. AOP (аспектно-ориентированное программирование)
  3. JDBC, транзакции, JPA, Spring Data
  4. Spring Boot
  5. Spring MVC
  6. Spring Security
  7. REST
  8. Тестирование

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии53

Кармическое проклятье Хабра

Время на прочтение21 мин
Количество просмотров100K
Вся суть


Непредвиденные последствия


«Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум
Тема про карму на «Пикабу»

Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал бы так: «я давно читаю статьи с Хабра» — но не интересовался тем, что происходит внутри сообщества, когда этой весной решил наконец-то зарегистрироваться. Это типичная ошибка человека, который приходит на Хабр из поисковика читать полезные статьи о тонкостях программирования или интересные новости из мира технологий. Пока ты видишь портал только с этой, положительной стороны, ты не задаёшься вопросами о том, что происходит под капотом. Конечно, в комментариях или статьях время от времени проскальзывали упоминания кармы — но ведь карма есть почти на всех крупных порталах (наивно полагал я), это нормально для саморегулирующихся интернет-сообществ.

Мне пришлось всерьёз задуматься об этом после того, как я неожиданно потерял возможность писать больше одного комментария в пять минут.

При этом внешне всё шло отлично: мои комментарии всё время плюсовали, мой рейтинг рос — и вдруг оказалось, что у меня отрицательная карма. Весь мой длительный опыт интернет-общения, все пользовательские привычки, да и банальный здравый смысл кричали мне, что это какая-то ошибка: показатель одобрения пользователя сайта другими пользователями сайта не может одновременно расти и падать! Но я решил не рубить сплеча, а провести небольшое исследование, как аналитическое (в виде изучения мнений пользователей о карме), так и статистическое (в виде анализа показателей аккаунтов).
Читать дальше →
Всего голосов 345: ↑306 и ↓39+267
Комментарии1311

Не учите паттерны, учите концепции

Время на прочтение3 мин
Количество просмотров41K
Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост).

Я хочу высказаться об элитарной части программирования и донести, в общем-то, очевидную мысль до начинающих в back-end (и не только) разработке, попутно используя попытку начать писать на Хабре.

Итак


Любой программист с хоть немного хорошим вкусом, начавший программировать по своей воле, после понимания основ языка и написания первых проектов, будет задаваться вопросом не «как сделать что-то», а «как сделать что-то правильно» и «какие тут есть стандарты красоты».
Читать дальше →
Всего голосов 93: ↑68 и ↓25+43
Комментарии107

13 сюрпризов неайтишной компании

Время на прочтение9 мин
Количество просмотров93K
Отработав много лет в компаниях, занимающихся разработкой программного обеспечения на заказ, невольно начинаешь задумываться — а как всё-таки выглядит вся эта суета с другой стороны, со стороны заказчика? Грешным делом начинает казаться, что там всё просто и понятно, все люди сведущи и профессиональны, решения принимаются осмысленно и обоснованно, да и вообще, жизнь кипит, а не как в этом нашем айтишном болоте…

Пару-тройку лет назад подобные соображения подтолкнули меня попробовать поработать в компании, где источником дохода является что угодно, только не разработка софта. Удачно подвернулось предложение от бывших коллег занять должность IT-директора в одной из ведущих организаций финансовой сферы, и я приступил к кипучей деятельности, браво закатав рукава. Теперь, спустя некоторое время, с высоты, так сказать, полученного опыта, хочу поделиться сюрпризами, что ожидали меня на этом пути – конечно, те, кому уже довелось поработать в разных сферах и разных организациях, скорее всего не обнаружат тут для себя ничего ни нового, ни удивительного, однако для наивных айтишников вроде меня, видавших доселе только однотипные «бодишопы»-аутсорсеры, что-то может показаться и вправду неожиданным.
Итак, поехали
Всего голосов 185: ↑177 и ↓8+169
Комментарии251

Госзакупки в других странах: зачем законам нужны фреймворки

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

Однажды была объявлена госзакупка на 330 грамм изюма.

Сегодня я расскажу про то, как регулируются государственные закупки в разных странах. А ещё про типовые библиотеки законов и их локальные форки.

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

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

Давайте изучим поближе, как вся эта красота регулируется в мире и в отдельных странах.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность