Как стать автором
Обновить
9
0
Ежовый Глаз @EGlaz

Программист

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

Что такое Spring Framework? От внедрения зависимостей до Web MVC

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


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


  • Чтобы понять, что такое Spring Framework
  • Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC
  • Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов)

Примечание: Статья ~ 9000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже. И даже на компьютере ешь читай этого слона по одному кусочку за раз :-)


Содержание


  • Введение
  • Основы внедрения зависимостей
  • Контейнер Spring IOC / Dependency Injection
  • Spring AOP (Аспектно-ориентированное программирование) и прокси
  • Управление ресурсами Spring
  • Spring Web MVC
  • Дополнительные модули Spring Framework
  • Spring Framework: часто задаваемые вопросы
  • Заключение
Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 14

Сколько зарабатывают IT-шники в Великобритании и сколько при этом тратят

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


Аве, Кодер!

Не так давно у нас на канале выходило видео (https://youtu.be/OC4nDT7J31Q), где я разбирал усредненные годовые зарплаты программистов в Великобритании, а также некоторые основные траты, сравнивая Лондон и (относительная глубинка) — Ноттингем.

Думаю, и многие читатели хабра найдут эту информацию полезной, хотя бы, просто для ознакомления и расширения кругозора.
Читать дальше →
Всего голосов 46: ↑38 и ↓8 +30
Комментарии 561

FindBugs помогает узнать Java лучше

Время на прочтение 7 мин
Количество просмотров 50K
Статические анализаторы кода любят за то, что они помогают найти ошибки, сделанные по невнимательности. Но гораздо интереснее то, что они помогают исправить ошибки, сделанные по незнанию. Даже если в официальной документации к языку всё написано, не факт, что все программисты это внимательно прочитали. И программистов можно понять: всю документацию читать замучаешься.

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

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

Тернарный оператор ?:


Казалось бы, нет ничего проще тернарного оператора, но у него есть свои подводные камни. Я считал, что нет принципиальной разницы между конструкциями
Type var = condition ? valTrue : valFalse;
и
Type var;
if(condition)
  var = valTrue;
else
  var = valFalse;

Читать дальше →
Всего голосов 69: ↑67 и ↓2 +65
Комментарии 33

Настройка UEFI-загрузчика. Самое краткое руководство в мире

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

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →
Всего голосов 52: ↑46 и ↓6 +40
Комментарии 99

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение 39 мин
Количество просмотров 1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

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

Знай сложности алгоритмов

Время на прочтение 2 мин
Количество просмотров 982K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16 +280
Комментарии 99

Разработать и опубликовать игру под Android за неделю

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

Задумал я как-то написать игру. Причем, по-быстрому. Желательно за неделю при условии работы на полставки. Финальным этапом должна была стать публикация на Google Play (что, конечно, недостаточно, но об этом позже). Таким образом, это будет статья о разработке в стиле "вжух-вжух и в продакшен", или, как сказали друзья "устроил себе Ludum Dare". Технических деталей будет, впрочем, немного.


После небольшого брейнсторма родилась идея "складывания ленты". Лента бесконечной длины, её можно сгибать под прямым углом (количество сгибов ограничено), и её "лицевая" и "изнаночная" стороны разного цвета. Так же есть контрольные точки "лицевого" и "изнаночного" цветов. Игрок выигрывает когда лента пройдёт соответствующими сторонами по всем контрольным точкам. Быстрый поиск не дал ничего похожего.


screenshot

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

Приглашаем на Android Devs Meetup 20 октября

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


В следующий четверг мы приглашаем Android-разработчиков на пятый Android Devs Meetup, который состоится в московском офисе Mail.Ru Group. Эксперты и разработчики мобильных приложений расскажут о технологиях мобильной разработки, обсудят особенности использования новых инструментов и подходов, поделятся личным опытом. На встрече вас ждет три доклада, подробности читайте под катом.
Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Комментарии 2

Лучшие вакансии на «Моём круге» за неделю, 3-9 октября

Время на прочтение 2 мин
Количество просмотров 7.5K
Каждую неделю на «Моём круге» публикуются сотни вакансий. Мы бы хотели поделиться с вами некоторыми из них. Необязательно это вакансии с самыми высокими зарплатами, но в них есть что-то интересное — необычный проект, cutting edge технологии, комфортные условия работы. Наша цель — показать какой разной может быть работа в IT. В этом выпуске: солнце Калифорнии, чувство неприязни костылей, использование коллективного разума для предсказаний, кольцо с тревожной кнопкой и онлайн-тренажер.

image

Critical Issue реализует модель Team Extension as a Service (TEaaS) — помогает крупным компаниям на американском рынке быстро и эффективно расширить команду разработки высококвалифицированными специалистами. Сейчас компания ищет Senior C/C++ Developer для участия в «масштабном международном проекте, цель которого обеспечить безопасный доступ к информации, для любого человека на планете». Успешному кандидату предстоит командировка в Сан-Франциско, после чего он может выбирать — работать удаленно, в Москве или перебраться в Калифорнию. Зима близко — самое время ехать греться под калифорнийским солнышком.

Зарплата: от 2 000 usd., Москва, можно удаленно
Подробнее: https://moikrug.ru/vacancies/1000028349
Читать дальше →
Всего голосов 25: ↑19 и ↓6 +13
Комментарии 15

Личный опыт получения Голубой карты в Германии 2015-2016. Часть 1: Поиск работы

Время на прочтение 7 мин
Количество просмотров 32K
Всем привет. В данной статье я хочу поделиться своим опытом получения голубой карты ЕС. Идеи об эмиграции у меня были всегда, я постоянно смотрел информацию о существующий программах и вариантах покинуть просторы нашей страны. Причины моих порывов сугубо личные и никому я их навязывать не хочу.

Так получилось, что в школе я изучал немецкий, и всегда считал что он мне абсолютно не пригодится в жизни. Потому учил я его без энтузиазма.
Читать дальше →
Всего голосов 48: ↑43 и ↓5 +38
Комментарии 79

Swift и время компиляции

Время на прочтение 4 мин
Количество просмотров 25K
Пост основан на статье medium.com/@RobertGummesson/regarding-swift-build-time-optimizations-fc92cdd91e31 + небольшие изменения/дополнения, то есть текст идет от моего лица, не третьего.

Всем знакома ситуация после изменения файла(ов) или просто переоткрытия проекта:






Нужно сказать, что какой-то особой проблемы с компиляцией я не замечал когда писал на Objective-C, но всё изменилось с приходом в массы swift. Я частично отвечал за CI сервер по сборке iOS проектов. Так вот, проекты на swift собирались невыносимо медленно. Еще разработчики любят тащить поды (cocoapods зависимости) на каждый чих в свои swift проекты, иногда, в безумном количестве. Так вот, компиляция всей этой смеси могла продолжаться несколько минут, хотя сам проект состоял буквально из пары десятков классов. Ну ладно, как бы ясно, язык новый, на этапе компиляции происходит намного больше проверок, чем в том же ObjC, глупо ожидать, что она будет работать быстрее (да, swift это строго типизированный язык и всё должно быть максимально явно объявлено (как в Java, например), в отличии от ObjC, где не всё так строго). Разработчики swift с каждым релизом обещают в x раз ускорения скорости компиляции. Ну вроде, действительно, сборка 2.0 и уже потом 2.2 стала работать быстрее, вот вот на носу уже 3.0 версия (конец года).

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

time swiftc -Onone file.swift

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

Удачи в цифровую эпоху! Или включите параноика и проверьте защиту своих данных

Время на прочтение 8 мин
Количество просмотров 86K
Долго полемизировать не буду, просто приведу 2 жизненных примера от близких людей, которые столкнулись с проблемами аутентификации в обычном современном мире и чуточку своих выводов.


Читать дальше →
Всего голосов 38: ↑27 и ↓11 +16
Комментарии 72

Устройство игрового движка для NES на примере игр «Capcom»

Время на прочтение 11 мин
Количество просмотров 33K
В моей третьей статье про NES-игры я покажу техники, используемые для создания игровых движков, а именно реализацию скроллинга экрана, переключение банков памяти, организацию списка объектов, устройство системы анимаций персонажей, функции обновления игровых объектов (и обработку столкновений), устройство главной карты. Чтобы не быть голословным в описаниях, я буду приводить дизассемблированный код из конкретных игр (любимый всем «Darkwing Duck», с отсылками к «Chip & Dale» и «Duck Tales»), без него в этой статье не обойтись. В качестве примера рассматривается движок от «Capcom», на модификациях которого работает как минимум пара десятков игр.

Некоторые из рассматриваемых тем не связаны между собой, поэтому статья будет разбита на несколько разделов. Также, из-за обширности, материала хватило бы на небольшую книгу, поэтому иногда я буду давать ссылки на статьи для желающих разобраться в деталях, а описывать только общие вещи, касающие архитектуры движков.
Читать дальше →
Всего голосов 74: ↑74 и ↓0 +74
Комментарии 6

Как мы делали сингл на Ubuntu Studio 14.04

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


От создателей Как мы создавали сингл на Ubuntu Studio 13.10. Второй сингл мы делали тоже на Ubuntu Studio 13.10, так не хотели новых приключений. И созрели к ним только к осени. Каемся, но KXStudio так и не попробовали. По
объективным причинам.
лень
Так что ждём статей про этот дистрибутив от других хаброюзеров.
Читать дальше →
Всего голосов 38: ↑28 и ↓10 +18
Комментарии 51

[Москва, 19.02.2015] Дмитрий Ленев — Менеджеры блокировок в MySQL

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

У нас большая удача! Нам удалось договориться с Дмитрием Леневым, уникальным специалистом, разработчиком MySQL Server с 11-летним стажем, о выступлении на CodeFreeze. Москвичи, обязательно приходите!

Итак, в четверг, 19 февраля, в 20:00 в московском офисе Mail.Ru состоится встреча CodeFreeze с Дмитрием Леневым, разработчиком MySQL Server в компании Oracle. Доклад будет посвящен обзору менеджеров блокировок данных в MySQL (включая блокировки метаданных, таблиц и блокировок InnoDB). Будут обсуждаться предназначение каждого из видов и архитектура этих менеджеров.



Подробнее о предстоящей лекции ...
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 4

Создание iOS приложения. От идеи до результата

Время на прочтение 5 мин
Количество просмотров 152K
Все началось с того, что я огляделся по сторонам и, не увидев автомобиля своей мечты, решил сконструировать его сам
Фердинанд Порше

Привет, Хабр. Хочу рассказать, как создал свое первое iOS приложение и что из этого получилось.

image
Читать дальше →
Всего голосов 45: ↑34 и ↓11 +23
Комментарии 23

Основы CG-рисунка на примерах: рисуем осциллограф, применяем 3D

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


Всем привет! Меня зовут Иван Смирнов, я работаю концепт-художником в Allods Team, игровой студии Mail.Ru Group, на проекте Skyforge. Помимо этого я преподаю на факультете концепт-арта в Scream School и веду онлайн-курсы. Не так давно я проводил лекцию по основам CG-рисунка: в частности, речь шла о том, как нарисовать простой предмет, например, осциллограф. Материалами этой лекции я спешу поделиться с вами. Осторожно, траффик!
Читать дальше →
Всего голосов 124: ↑117 и ↓7 +110
Комментарии 46

Заставляем ProgressBar крутиться пока идет http-запрос

Время на прочтение 2 мин
Количество просмотров 48K
Все началось с того, что мне вдруг очень захотелось сделать что-нибудь под андроид. И все это несмотря на то, что java — не мой родной язык.
В процессе создания своего приложения я столкнулся с несколькими трудностями, о решении которых и хочу поведать. Думаю, они будут полезны, таким же как я, новичкам, и буду благодарен за советы и более красивые примеры от гуру.
Но главное подтверждение работоспособности примеров — это то что приложение работает, можете проверить.
Читать дальше →
Всего голосов 52: ↑43 и ↓9 +34
Комментарии 22

Опыт работы SAP-консультантом в Австрии или где ИТ-шнику жить хорошо

Время на прочтение 5 мин
Количество просмотров 90K
Благодаря открывшейся в июле 2011 года программы иммиграции для высококвалифицированных специалистов в Австрию, я смогла попытать свой шанс и изменить жизнь к лучшему.

Жизнь SAP — консультанта в России


Что привык видеть ежедневно обычный российский SAP консультант? Переработки, нервы начальника или клиента, постоянно недовольные пользователи. Консультанту приходится поздно приходить домой, если не жить в отеле какого-нить далекого северного города. Один питерский SAP консультант как-то заметил: «Нормально — это когда просыпаешься ночью в поезде и уже не помнишь, куда ты едешь — в Питер или в Москву». Да, за все это хорошо платят, как считают не SAP-консультанты. Но не больше, чем профессиональному разработчику, с той лишь разницей, что в SAP можно прийти из бизнеса, или, например, поработав секретаршей где-то в офисе, где в «соседней двери» внедряли SAP. Хотя есть в России и хорошие компании, где здоровый коллектив, хорошо и уютно, кормят, и домой после 18 отпускают. Но их мало, и чаще они зарубежные.
Читать дальше →
Всего голосов 58: ↑53 и ↓5 +48
Комментарии 60

ASUS Network iControl — удалить нельзя помиловать

Время на прочтение 1 мин
Количество просмотров 59K
Я потратил на решение этой проблемы 2 месяца. В вялом режиме гуглил, спрашивал в IRC… наверное, я безнадёжный ламер. Но я хотел бы сохранить время другим людям, поэтому пишу сюда.
Читать дальше →
Всего голосов 78: ↑64 и ↓14 +50
Комментарии 15

Информация

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