Pull to refresh
1
0
Сергей @HeTpe3B

Разработчик

Send message

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

Reading time10 min
Views104K

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


Сегодня я решил представить вам перевод цикла статей для подготовки к 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. Тестирование

Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments53

Зарплаты в ИТ в первом полугодии 2019 года: по данным калькулятора зарплат «Моего круга»

Reading time5 min
Views191K


Публикуем отчет по зарплатам в ИТ-индустрии на 1-е полугодие 2019. Отчёт построен по данным калькулятора зарплат «Моего круга»: в котором за данный период было собрано более 7000 зарплат. 

Посмотрим на текущие зарплаты по всем основным ИТ-специализациям, а также на их динамику за прошедшее полугодие как в целом, так и по основным регионам: Москва, Санкт-Петербург, остальные города. Как обычно, более детально изучим специализации разработчиков программного обеспечения: посмотрим на их зарплаты в разрезе языков программирования, городов и компаний.

Данные, представленные в нашем текущем отчёте, а также любые другие, каждый желающий может получить самостоятельно с помощью калькулятора зарплат «Моего круга». Если вам нравится информация, которую мы получаем с помощью калькулятора, и если вы хотите внести свой вклад в формирование более прозрачного рынка труда в ИТ, приглашаем поделиться своей текущей зарплатой, данные о которой мы используем в нашем следующем годовом отчёте.

Сервис зарплат запущен на «Моем круге» в конце 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем всем в открытый доступ в агрегированной и анонимной форме.
Читать дальше →
Total votes 106: ↑101 and ↓5+96
Comments311

Цена качества: 7 принципов оптимизации затрат на тестирование

Reading time10 min
Views16K
image alt


Думаете, как сэкономить на тестировании вашего ПО? Вы не одиноки. Возникает лишь одно маленькое но: если софт не дотестировать, возможны самые негативные сценарии – от дорогостоящей и крайне невыгодной вам доработки приложения на поздних стадиях до потери репутации и ухода клиентов/заказчиков к конкурентам.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments20

Дайджест продуктового дизайна, июнь 2017

Reading time13 min
Views8.9K
Уже семь лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-май 2017.

Дайджест продуктового дизайна, июнь 2017
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments3

Основы SQL на примере задачи

Reading time6 min
Views681K
В этом руководстве мы рассмотрим основные sql команды на примере небольшой задачи. При прочтении желательно сидеть за консолью mysql и вводить все запросы для большей наглядности.

Постановка задачи


Дана база данных, в ней 3 таблицы следующего вида:




table1: user_id (INT(5), PRIMARY KEY), username (VARCHAR(50), INDEX)
table2: phone_id (INT(5), PRIMARY KEY), user_id (INT(5), INDEX), phone_number (INT(10), INDEX)
table3: room_id (INT(5), PRIMARY KEY), phone_id (INT(5), INDEX), room_number(INT(4) INDEX)

Необходимо выбрать номер комнаты в которой сидит пользователь с ником qux…
Читать дальше →
Total votes 72: ↑42 and ↓30+12
Comments42

5 стадий API: что мы поняли, написав две версии

Reading time8 min
Views28K
Сегодня мы хотим поговорить о сокровенном — у нас есть API.

Мы писали, а затем переписывали его заново на протяжении четырех лет. И за это время прошли почти все классические стадии “принятия неизбежного”. Кроме одной — четвертой. И хотим поделиться нажитыми непосильным трудом выводами, что делать и не делать, если вы решите делать свой “мощный эпиай”.



Процесс создания API uCoz иногда напоминал сюжет сериала The Knick («Больница Никербокер») — с неудачными операциями, кишками и экспериментами на живых людях.

Стадия первая – Отрицание

Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments22

Шесть подработок для ИТ-специалиста, за которые платят в долларах

Reading time5 min
Views117K


Не поймали за хвост удачу в виде главного бага известного сервиса, нет желания “толкаться” на oDesk или не хочется делать то же, что уже и так делаете в рабочее время?

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

Три пункта не про работу
Total votes 75: ↑40 and ↓35+5
Comments62

Kibana-мать или Зачем вам вообще нужны логи?

Reading time9 min
Views233K
Вы можете сказать, что “иногда бывает нужно...” Но на самом деле, вы хотите всегда видеть, что у вас в логах, через графический интерфейс. Это позволяет:

  • Облегчить жизнь разработчикам и сисадминам, время которых просто жалко и дорого тратить на написание grep-конвейеров и парсеров под каждый отдельный случай.
  • Предоставить доступ к информации, содержащейся в логах, умеренно-продвинутым пользователям — менеджерам и техподдержке.
  • И видеть динамику и тенденции появления залогированых событий (например, ошибок).

Так что сегодня вновь поговорим о стэке ELK (Elasticsearch+Logstash+Kibana).
Но на этот раз — в условиях json-логов!

Такой use case обещает наполнить вашу жизнь совершенно новыми красками и заставит испытать полную гамму чувств.


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments24

Вёрстка адаптивных email-писем: подробное руководство (часть 1)

Reading time8 min
Views86K


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

Зачем нужно адаптировать письма для мобильных устройств


Значительная часть аудитории различных компаний, занимающихся email-маркетингом, просматривают письма на мобильных устройствах. Во время исследования Campaign Monitor от 2011 года выяснилось, что почти 20% открытий писем происходили на смартфонах и планшетах — в 2009 году эта цифра находилась на уровне всего в 4%. Почти 90% от этих открытий осуществлялись на устройствах под iOS. Сейчас цифры еще выше.

В этом руководстве мы рассмотрим несколько способов улучшения отображения почтовых рассылок на мобильных устройствах (от использования media queries при вёрстке адаптивных шаблонов до более продвинутых техник). Кроме того, мы рассмотрим различные вопросы дизайна, которые возникают еще на этапе планирования рассылки, а также поговорим о том, каким образом стоит размещать формы подписки для получения писем на смартфонах и планшетов.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments10

Чудо-Юдо рыба-Юкит или 128-й конструктор сайтов на рынке

Reading time6 min
Views31K
Почти полтора месяца назад мы объявили о запуске открытой беты нашего нового конструктора сайтов uKit — https://ukit.com

О технической стороне
Наверняка многим будет интересно узнать больше о реальном нагруженном проекте на ноде+монго, о том, как применяются kibana, gulp, о построении системы шаблонов с препроцессором less. Но! Об этом всем мы расскажем, когда пройдет некоторое время, накопится опыт реального, а не тестово-прототипного использования. Чтоб истории получились интересные, с граблями, блэкджеком и бородатыми сисадминами.
А пока просто расскажем о том, что и зачем мы сделали.
И предвосхищая вопрос, вы, конечно, молодцы, но...
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments48

Уроки космических аварий: поражение и триумф «Аполлона-13»

Reading time14 min
Views195K

В такие же апрельские дни 1970 года разыгралась, наверное, самая драматическая история из всего, что происходило в космосе. Три астронавта, отправившиеся на Луну, оказались в смертельной опасности и были вынуждены трое суток возвращаться домой, преодолевая различные возникающие трудности. Это очень красивая история о том, как небольшие изменения в спецификации могут привести к большим проблемам, о слаженной работе сотен людей в ЦУПе в режиме аврала, о смелости и профессионализме.
Читать дальше →
Total votes 206: ↑204 and ↓2+202
Comments64

Несколько интересностей и полезностей для веб-разработчика #16

Reading time5 min
Views31K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

PourOver


image
Библиотека для реально быстрой фильтрации и сортировки огромных коллекций, где речь идет о сотне тысяч элементов. PourOver построен на идеально простых запросах, которые могут произвольно формироваться друг с другом. Вы сможете объединять, скрещивать и разделять запросы. PourOver будет помнить как были построены ваши запросы и по-умному обновлять их, если появятся новые элементы или будут изменены старые. Работает на IE7+, Firefox 4+, Safari 5+, Opera 9+, Chrome 1+.

Стоит также заметить, что это проект от New York Times, на корпоративном Гитхабе которого есть еще популярный backbone.stickit плагин для датабиндинга и Tamper — serialization protocol for categorical data. В последнее время гики из западных СМИ прямо раскочегарились — вот недавно я писал про классные проекты от The Guardian и Financial Times.

Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments9

Личные финансы — сохранить и приумножить

Reading time11 min
Views160K
Современный капитализм обусловил одни простой житейский «закон» — богатые становятся богаче, бедные — еще беднее. Так как больше денег -> больше возможностей заработать -> больше денег. Нам, работникам IT, немного повезло. Благодаря спросу на наш труд, который нам, чего уж скрывать, нравится, мы застряли где-то посередине — средств хватает на удовлетворение большего числа основных потребностей и еще остается небольшой излишек.

И вот тут многих начинает волновать вопрос — «что с ним делать?». Многие сделав вывод что «хранить нельзя» в решении вопроса идут дальше и задаются следующим вопросом: «во что инвестировать?». Возникает еще один попутный вопрос: «как обеспечить себе старость?».

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

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

И хотя, согласно опросам раз, два, около 40% из нас не имеет сбережении, а многие остальные уже решили для себя эти вопросы, я предлагаю общественности свой ответ и попытаюсь его обосновать.
Диванный аналитик рекомендует
Total votes 117: ↑86 and ↓31+55
Comments194

uid.me — сервис личных страниц (технические детали inside)

Reading time11 min
Views47K

Добрый день, Хабр!

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

Тем, кому интересна только техническая сторона проекта — рекомендуем сразу перейти ко второй части.

ЧАСТЬ 1. Лирическая

Мы — это команда разработки сервиса личных страниц uid.me.
Личная страница — это, например, вот так:

Читать дальше →
Total votes 52: ↑27 and ↓25+2
Comments38

Information

Rating
Does not participate
Registered
Activity

Specialization

Frontend Developer
Lead
JavaScript
BEM
Vue.js
Node.js
Web development
Angular
TypeScript