Pull to refresh
6
0
Тетка Андрей @Kecven

Java Developer

Send message

Разработка архитектуры для чайников. Часть 3

Reading time3 min
Views15K

Event system architecture (EDA)

Ещё одна из популярных архитектур — Event system architecture (EDA), что в переводе на русский означает “архитектура на основе событий”. Суть данной архитектуры состоит в том, что приложение работает с событиями (эвентами), которые генерируются пользователем или другими системами.

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments10

Разработка архитектуры для чайников. Часть 2

Reading time5 min
Views19K

Monolite or MicroService ?

Программисты последнее время часто работают с микросервисами и часто пытаются их встроить туда, куда это не нужно. Микросервисы это естественно хорошо, но как и всегда это не серебряная пуля которая может решить любые проблемы, а скорее наоборот их добавит.

Давайте для начала разберём что такое монолит и его преимущества и недостатки.

Читать далее
Total votes 17: ↑8 and ↓9-1
Comments8

Разработка архитектуры для чайников. Часть 1

Reading time3 min
Views41K

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

И прежде чем мы начнем проектировать архитектуру, давайте сначала ответим на вопрос, а что же собственно такое архитектура?

Читать далее
Total votes 31: ↑4 and ↓27-23
Comments14

Первые 10 минут на сервере

Reading time8 min
Views59K

Азбука безопасности Ubuntu


«Мои первые 5 минут на сервере» Брайана Кеннеди — отличное введение, как быстро обезопасить сервер от большинства атак. У нас есть несколько исправлений для этой инструкции, чтобы дополнить ею наше полное руководство. Также хочется подробнее объяснить некоторые вещи для более юных инженеров.

Каждое утро я проверяю почтовые уведомления logwatch и получаю основательное удовольствие, наблюдая несколько сотен (иногда тысяч) безуспешных попыток получить доступ. (Многие довольно прозаичны — попытки авторизоваться как root с паролем 1234 снова и снова). Приведённая здесь общая методика подходит для серверов Debian/Ubuntu, которые лично мы предпочитаем всем остальным. Они обычно служат только хостами для контейнеров Docker, но принципы те же.

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

Примечание: Эта справка создана как базовая азбука. Её следует расширить и дополнить в соответствие с вашими потребностями.
Читать дальше →
Total votes 54: ↑40 and ↓14+26
Comments55

Yet another инструкция по получению ssl-сертификата Let's Encrypt

Reading time3 min
Views31K
Тема получения сертификата Let's Encrypt уже подымалась на хабре (см. тут), да и в сети можно найти много рецептов разного качества.

Читал я и ужасался: одни пишут, что то нужно nginx или apache остановить («на пару минуточек всего»), другие предлагают файлы подкладывать в папку веб-сервера (в соседней ssh-сессии), третьи — о том, как важно соблюсти правильный Content-type для файлов проверки домена…

Давайте попробуем обойтись без всего этого: чтобы не было мучительно больно ни на стадии установки, ни очередном продлении — даже если придётся обновлять сразу много доменов. Собственно, вот и вся цель моей небольшой заметки: это не пошаговый степ-бай-степ, не длинная теоретическая статья о том, как функционирует Let's Encrypt — просто описывается правильный на мой взгляд подход, который будет правилен для конфигурации любой сложности.

Вся суть в двух словах: пусть Let's Encrypt запустит веб-сервер на 9999 порту, а мы допишем конфиг nginx, чтобы он пробросил запрос на этот бекенд. Кому интересны детали — прошу под кат
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments15

400 потрясающих бесплатных сервисов

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Хостинг Кафе

Reading time5 min
Views8.4K
Сегодня я хочу представить Хостинг Кафе. Этот домен-бренд объединяет в себе 6 различных сайтов, которые связаны с хостинговой тематикой:

  • VDS.menu — поиск виртуальных серверов
  • SHARED.menu — поиск виртуального хостинга
  • DEDICATED.menu — поиск выделенных серверов (в разработке)
  • HTTPS.menu — поиск SSL сертификатов
  • BACKUP.menu — поиск места для хранения резервных копий
  • LICENSE.menu — поиск лицензий на панели управления (в разработке)



На данный момент работают все проекты, кроме DEDICATED.menu и LICENSE.menu. Информация о VDS.menu и SHARED.menu уже размещалась на Хабре. Став владельцем этих двух сайтов, я решил максимально вдохнуть в них жизнь. В дополнение к этим двум сайтам прилагался домен dedicated.menu. После долгих раздумий, было принято решение объединить эти три домена под единым брендом HOSTING.cafe — кафе, в котором есть различные меню хостинговой тематики. В довесок к уже имеющимся доменам были приобретены HTTPS.menu, BACKUP.menu, LICENSE.menu.

За последнее время была проделана довольно большая работа по улучшению уже существующих сайтов и разработке новых.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments17

Какие технологии использует Netflix

Reading time2 min
Views24K
Мы постоянно работаем над тем, чтобы IaaS был простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Для этого мы проводим оптимизацию всех систем и рассказываем о своем опыте в нашем блоге на Хабре.

Пара примеров:


Сегодня мы поговорим о том, какие технологии в своей работе использует Netflix. Об этом в своем блоге рассказал Крис Умланд (Chris Ueland), а мы проанализировали его заметку.

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

Программа международной стажировки Cisco — Cisco International Internship Program. Как это было

Reading time3 min
Views14K
В этой статье я хочу рассказать о своей годовой стажировке в компании Cisco Systems в США, на которую я попал в 2013 году после 4 курса обучения в МГТУ им. Баумана. Я затрону вопросы, на которые я искал ответы перед тем, как подать заявку, поделюсь результатами поездки, и в завершении расскажу о том, что надо сделать, чтобы попасть на эту стажировку. Для меня год, проведенный в Америке был отличным приключением и, конечно, уникальной возможностью поработать среди талантливых людей со всего мира. Набор этого года на программу стажировки заканчивается через неделю и, возможно, моя статья станет для кого-то дополнительной мотивацией подать заявку.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments2

Разработка HTML5 игры под Android с нуля и до релиза

Reading time8 min
Views63K

Вместо вступления


Потратив несколько суток подряд (без перерыва на сон) на изучение поддержки HTML5 всеми любимыми Android-гаджетами, решил, что данной теме стоит уделить внимание. В статье постараюсь раскрыть по шагам все этапы (конечно же базовые/ключевые/основные) создания HTML5 Игрового приложения для Android от идеи до релиза самого APK файла. Возможно, ничего нового я и не открою маститым разработчикам, но для новичков постараюсь описать все как можно проще, со скриншотами и пояснениями.

image

Желающих узнать подробнее приглашаю под кат.
Читать дальше →
Total votes 37: ↑24 and ↓13+11
Comments21

«ВКонтакте» запускает программу BugBounty

Reading time1 min
Views31K
Всем известная социальная сеть «ВКонтакте» объявила о запуске программы BugBounty. Среди сервисов, заявленных в условиях:
  • *.vk.com
  • login.vk.com
  • *.vk.me
  • *.vk-cdn.net
  • *.vkmessenger.com
  • *.vkontakte.ru
  • *.vk.cc
  • Официальные мобильные приложения VK

О каждой найденной уязвимости можно сообщить, используя платформу HackerOne.

Минимальная награда за найденную брешь составляет 100$. При этом необходимо быть внимательным — эксплуатация обнаруженной уязвимости против пользователей социальной сети может привести к полному отказу от выплаты награды за нее.
Total votes 30: ↑27 and ↓3+24
Comments17

Поведенческие факторы в Яндекс. Нюансы работы фильтра, о которых должен знать каждый вебмастер

Reading time6 min
Views21K
В этой статье вы узнаете, как поисковая система Яндекс борется с накруткой поведенческих факторов и какая существует опасность для добросовестных вебмастеров потерять позиции на длительный период. Статья будет полезна как специалистам, так и начинающим вебмастерам, для которых я постарался расписать наиболее сложные моменты.
Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments22

Бесплатный https сертификат + интеграция в Apache–TomCat

Reading time3 min
Views18K
Доброго времени суток, дорогие друзья. У меня возникла необходимость настроить https на сервере, который используется в онлайн-игре. Для этого мне понадобится бесплатная регистрация на StartSSL и немного времени. Инструкции на самом сайте StartSSL довольно туманные. Эта публикация призвана пролить свет на детали.
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments9

История еще одной игры на Libgdx+Box2d

Reading time5 min
Views28K
Идеей написать игру я загорелся еще в 2011 году. В августе 2011 года, не имея опыта разработки на PHP, обложившись книгами и этими вашими интернетами, по ночам писал небольшую браузерную космическую стратегию в реальном времени. Этакий клон OGame. Разумеется, со своими дамами и преферансом. Но проекту этому не суждено было родиться, в декабре 2011-го Родина-мать вдруг попросила отдать долг.

Вернувшись в декабре 2012 года, первым делом устроился в местную крупную IT-компанию. Нужно было максимально быстро вновь войти в рабочий ритм. К весне я уже не мог спокойно спать — мечтал писать игры. Второй попыткой было написать простенькую TD на Unity. Что-то даже получилось — пушки стреляли, мобы двигались. Но постоянно мучил страх, что не смогу довести дело до конца. Так оно и получилось. Семья, работа — свободного времени не было совсем. И только осенью 2014 года твердо решил — я сделаю игру и точка. Не буду спать, не буду есть, но сделаю. Этакий вызов на «слабо». Что из этого получилось читайте дальше.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments15

«У меня есть крутая идея игры» или типичные ошибки молодых разработчиков игр

Reading time7 min
Views89K
Многие молодые разработчики и ребята пока еще не имеющие отношения к геймдеву, часто говорят фразу «У меня есть идея для игры и мы заработаем на ней миллион!». Узнали себя? В этот момент они находятся в необычайном состоянии, когда им кажется, что море по колено и тот заветный миллион у них уже в кармане. На этой волне вдохновения они приступают к началу разработки и даже не задумываются еще о том, что их ждет впереди.

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

image
Читать дальше →
Total votes 49: ↑32 and ↓17+15
Comments22

Играй на победу: как побеждать в играх и что нужно знать о профессиональных игроках в GameDev [часть 1]

Reading time6 min
Views127K


Давным-давно мы с друзьями играли в Starcraft по диалапному модему. Я часто проигрывал, пока не прочитал на одной из BBS фразу, которая всё поменяла. Принцип очень простой: в стратегиях реального времени выигрывает тот, кто постоянно атакует. Нужно было научиться мыслить категориями постоянного создания угроз.

К чему я это. Есть такой мужик — Дэвид Сирлин. Киберспортсмен, чемпион по Street Fighter, гейм-дизайнер, настольщик, киберспортивный тренер. У него есть целая теория на тему того, как тренироваться и играть так, чтобы выигрывать. Универсальная, применима ко всем играм. Ниже — основные тезисы первой части и мои комментарии. Прочитать про основные вещи из книги будет интересно и с точки зрения GameDev (в особенности — балансировки), и просто по жизни.
Читать дальше →
Total votes 76: ↑72 and ↓4+68
Comments57

Java logging. Hello World

Reading time14 min
Views290K

Вступление


Думаю, ни для кого не секрет, что такое логгеры и для чего они нужны. За время существования java было создано немало фреймворков логгирования. Среди самых известных можно выделить:

  • JUL — java.util.logging
  • log4j
  • JCL — jakarta commons logging
  • Logback
  • SLF4J — simple logging facade for java

В данной статье будет рассмотрен каждый из указанных выше фреймворков на уровне «hello world». Будут приведены простые примеры использования основного функционала и конфигурирования. Статья не преследует цель сравнения логгеров между собой и выявление лучшего из них, эту возможность автор оставляет за вами, уважаемые читатели. В конце статьи будут приведены источники, где можно получить более детальную информацию по каждому фреймворку. Также перед прочтением данной статьи рекомендую ознакомиться с публикацией «Java Logging: история кошмара», где описана история развития систем логгирования в Java.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments14

Тестирование в Яндексе: строим свой Лунапарк

Reading time6 min
Views62K


Иной раз и секундного взгляда на график времен отклика хватает, чтобы сказать: сервис не полетит. Еще пара секунд — и причина найдена: ядра процессора загружены неравномерно, слишком мало потоков запущено на сервере. Как создать удобную систему сбора и хранения результатов нагрузочных тестов? О том, какой опыт об этом мы накопили в Яндексе, сегодня мой рассказ.
Построить свой лунапарк
Total votes 71: ↑63 and ↓8+55
Comments11

Разработка производительного игрового сервера на Netty + Java

Reading time5 min
Views54K
Piccy.info - Free Image Hosting

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

Читать дальше →
Total votes 63: ↑57 and ↓6+51
Comments206

Опыт продвижения проекта с минимальными затратами

Reading time2 min
Views38K


Год назад началась история Raindrop.io. За это время сервис посетило 250 000 человек, а количество сохраненных закладок перевалило за 2.5 миллиона. На данный момент реализована веб-версия, расширения для всех браузеров, Android и iOS клиент. Как и прежде в проекте я один. В этом посте я постараюсь поделиться накопленным опытом и рассказать о важных событиях случившихся с проектом.
Читать дальше →
Total votes 67: ↑55 and ↓12+43
Comments41

Information

Rating
Does not participate
Location
Всеволожск, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity