Pull to refresh
0
0
Сергей @kez

Пользователь

Send message

Обновления Material Design: как жить дальше

Reading time5 min
Views67K
Могут ли кнопки быть шестиугольными?
image

Google I/O 2018 оставила огромное количество материала для осмысления. Что нового? Как жить дальше? Устарело ли моё приложение? Могут ли кнопки быть шестиугольными? Дизайнеры снова больше не нужны? Осмысливать приятней не спеша и маленькими порциями. Эта порция — про дизайн.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments29

Процедурная генерация подземелий в roguelike

Reading time31 min
Views46K
image

Процедурно генерируемые карты — базовая особенность roguelike. Для жанра, который почти является синонимом понятия «случайность» (и на то есть причины), рандомизированные карты стали простейшим способом демонстрации его ключевого элемента, потому что они влияют на многие аспекты геймплея — от стратегии исследования и тактического позиционирования до расположения предметов и врагов.

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

Поэтому рандомизированные карты обеспечивают нам бесконечную реиграбельность, каждый раз ставя перед нами разные задачи. Кроме того, удовольствие усиливается тем, что прогресс игрока зависит от его собственного навыка, а не от проб и ошибок. Схема каждой новой карты на 100% неизвестна, что тоже добавляет напряжённости процессу её изучения.

Конечно же, преимущества процедурных карт бессмысленны без большой вариативности механик и контента — однообразный hack-and-slash здесь не подойдёт. Поэтому все roguelike, выдержавшие испытание временем, имеют глубокий геймплей.

Этот пост является результатом моей работы над генерацией карт для Cogmind.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments4

Сможет ли Минобороны заглушить Iridium, GlobalStar и OneWeb?

Reading time8 min
Views59K
Появление неконтролируемого властями «всеобщего интернета» неприемлемо как для российского государства, так и для отечественных операторов связи.

Глобальный спутниковый интернет


В 2016 году частная аэрокосмическая компания SрaceX запросила в правительстве США разрешение на развертывание сети спутниковой связи для предоставления услуг высокоскоростного доступа в интернет в глобальном масштабе в диапазонах Ku (10,7−18 ГГц) и Ka (26,5−40 ГГц). Кроме SpaceX, заявки на вывод собственных аппаратов связи подали OneWeb, Telesat, O3b Networks (O3b — среднеорбитальная европейская система, курируемая корпорацией SES) и Theia Holdings. Их проекты нацелены на то, чтобы с помощью технологий мобильной спутниковой связи обеспечить пользователей широкополосным доступом в интернет.

Читать дальше →
Total votes 95: ↑73 and ↓22+51
Comments352

Основа геймплея игры на C++ для Unreal Engine

Reading time13 min
Views59K
image

Основа геймплея для Unreal Engine 4 предоставляет разработчику мощный набор классов для создания игры. Ваш проект может быть шутером, симулятором фермы, глубокой RPG — это неважно, основа очень универсальна, делает за вас часть тяжёлой работы и задаёт некоторые стандарты. Она довольно сильно интегрирована в движок, поэтому рекомендую вам придерживаться этих классов, а не пытаться изобретать собственную основу игры, как это часто бывает в движках наподобие Unity3D. Понимание этой основы очень важно для успешной и эффективной работы над проектами.

Для кого эта статья?


Для всех, кого интересует создание игр в UE4, а конкретно на C++, и кто хочет больше узнать о основе геймплея Unreal. В этом посте рассматриваются базовые классы, которые вы будете использовать в основе геймплея, и объясняется их применение, процесс создания их экземпляров движком и способ получения доступа к этим классам из других частей кода игры. Бо́льшая часть информации справедлива также и для блюпринтов.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments3

Пенсионное интервью программиста

Reading time11 min
Views63K
– Добрый день, Станислав Сергеевич! Проходите, пожалуйста!

– Здравствуй, Катенька! Прохожу, прохожу…

– Чай, кофе?

– Ну… Не знаю я. Ничего, наверное.

– Хорошо, как скажете. Я немного волнуюсь, если честно – в первый раз через эту процедуру проходит программист…

– Ну, не клизму же ставить будете, Катюш. Не бойтесь, я вас не съем.
Читать дальше →
Total votes 181: ↑110 and ↓71+39
Comments125

Можно ли осознанно отказаться от функционального программирования?

Reading time6 min
Views19K
Функциональное программирование пронизывает большую часть основного мира программирования — экосистема JavaScript, Linq для C#, даже функции высокого порядка в Java. Так выглядит Java в 2018-м:

getUserName(users, user -> user.getUserName());

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

Но не всё так радужно. Многие разработчики сопротивляются этому тектоническому сдвигу в нашем подходе к ПО. Честно говоря, сегодня трудно найти работу, связанную с JavaScript, которая не требует знания концепций ФП.
Читать дальше →
Total votes 54: ↑37 and ↓17+20
Comments113

VPN за пиво?

Reading time4 min
Views48K

VPN становится сегодня не просто актуальным, но часто и жизненно необходимым сервисом для пользователей рунета. Заблокированный LinkedIn, беспорядочная стрельба Роскомнадзора, возможная блокировка Фейсбука, Вайбера и других ежедневных приложений, сотни и тысячи уже заблокированных сайтов в сети, невозможность оставаться анонимным при использовании ВК, ОК, Mail.ru и прочих "подконтрольных" ресурсов, и множество иных причин. Все это заставляет рунетовцев задуматься о своем будущем в этом сегменте мировой сети.


У всех нас есть бабушки, дедушки, родители, а также знакомые гуманитарии, музыканты, домохозяйки и прочие замечательные, но навсегда далекие от "сложных" Интернет технологий люди. Да, конечно, Интернет полон туториалами и видео роликами, объясняющих "простой" процесс установки VPN клиента. Однако все это не решает главной задачи — ЗАСТАВИТЬ этих людей проделать непривычные и пугающие их действия и обзавестись, наконец-то, VPN защитой.

Читать дальше →
Total votes 62: ↑50 and ↓12+38
Comments148

Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 2

Reading time14 min
Views30K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Total votes 17: ↑16 and ↓1+15
Comments0

Управленческая истерика

Reading time9 min
Views51K
– Нет, коллеги, так дело не пойдет! С этого дня мы вводим новый порядок совещаний, отчетности и управления. Иначе наша компания на полной скорости угодит в пропасть. Такие ситуации, как на прошлой неделе, недопустимы! Это и моя, и ваша вина. С себя я ответственности не снимаю, и вам настоятельно рекомендую – нет, не рекомендую, а приказываю немедленно изменить отношение к своим служебным обязанностям! Вы – руководители, а не линейные исполнители!

В комнате совещаний повисла неловкая пауза. На директора никто не смотрел – это чревато внезапным вниманием и выбором в качестве мальчика для битья. Главный инженер внезапно заинтересовался своим блокнотом, спешно перелистывал страницы, будто искал что-то. Финансовый директор очень внимательно рассматривала свой маникюр – так внимательно, как никогда. Только ИТ-директор, работавший в своей должности менее полугода, никак не мог найти себе занятия, откровенно нервничал, ерзал на стуле, опустил голову и поглядывал исподлобья на своих коллег.
Читать дальше →
Total votes 116: ↑108 and ↓8+100
Comments101

3 минуты, позволяющие улучшить любую встречу

Reading time4 min
Views42K
У вас часто бывает, что вы забегаете на встречу (стендап, ретро, еженедельную встречу с коллегами, f2f с начальником — нужное подчеркнуть), а ваши мысли остаются где-то за пределами комнаты?

От банального «а выключила ли жена утюг, когда мы выходили из квартиры» до «что же хотел сказать босс последним письмом». Рой мыслей в голове может быть инспирирован как давно произошедшими событиями, так и предыдущей встречей.
Читать дальше →
Total votes 63: ↑54 and ↓9+45
Comments46

Я сделал API для скриншотов сайтов, а какой-то парень начал майнить через него криптовалюту

Reading time2 min
Views66K
Просто хотел поделиться этой историей. Знаю, я мог бы лучше подготовиться к этому инциденту, но так уж получилось. :)

Сегодня утром я открыл почтовый ящик и обнаружил около 150 предупреждений из программы мониторинга лога. Я подумал, что случайно запушил какой-то баг в продакшн — и быстро начал расследование. Но вскоре стало понятно, что некий парень очень быстро создаёт новые учетные записи на нашем сервисе API скриншотов ApiLeap и быстро расходует весь кредит бесплатного плана на каждом аккаунте.



Он делал скриншоты этой страницы и майнил криптовалюту на машинах, где работают инстансы Chrome, которые мы используем для скриншотов.

Я выяснил, что он зависает на главной странице нашего сайта, так что можно поговорить с ним через онлайновый чат Crisp — инструмент, который мы используем для общения с потенциальными клиентами на сайте. Вот это разговор:
Читать дальше →
Total votes 112: ↑95 and ↓17+78
Comments111

«Прозрачный» HTTPS прокси для обхода блокировок Роскомнадзора

Reading time9 min
Views88K
Привет, хабровчане! Я думаю, многие в последнее время столкнулись с проблемами доступа к нужным ресурсам из-за попыток Роскомпозоранадзора заблокировать Телеграм. И я думаю, комментарии тут излишни. Факт — эти ресурсы ни в чем не виноваты, но они заблокированы. Проблемы возникли с Viber, ReCaptcha, GoogleFonts, Youtube и др. (кроме самого телеграма). Это случилось и в моей организации, причем некоторые невинные сервисы нужны нам как воздух. В какое-то время решалось все использованием прокси серверов, но они были нестабильны или вовсе отключались (их также блокировал наш великий и могучий РКН).

После прочтения кучи статей, пришла идея научить Squid пускать отдельные URL через Tor. Использовать ли такой метод, решать вам. Но скажу, что после реализации пропали все проблемы, которые были до этого. Кому интересно, идем под кат.
Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments144

Не пишите лишнего

Reading time3 min
Views61K

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


Дольше всего приходится вычитывать не хитрые алгоритмы, и не решения с алгебраическими типами данных и монадами, а огромные куски простого кода: методы на 500 строк, скрипты на 1000 строк, классы на 1500 строк. Все они доставляют индустрии проблем не меньше, чем печально известное NullPointerException.

Читать дальше →
Total votes 95: ↑89 and ↓6+83
Comments182

Как мы строим DevOps в команде из 125 разработчиков

Reading time7 min
Views7.9K
Всем привет.

Меня зовут Александр Черников, я руководитель разработки в дивизионе «Цифровой Корпоративный Банк» Сбербанка и Сбертеха.

Расскажу вам сегодня про DevOps в Сбербанк Бизнес Онлайн (СББОЛ), который мы выстроили в немаленькой команде (125 разработчиков) с большим Review (75 ПРов в день). Теперь отлаженный процесс CD(CI) на pull-requests (далее PR) — это неотъемлемая часть работы и наша гордость.


Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments8

Twirp против gRPC. Стоит ли?

Reading time4 min
Views16K
Если вы используете микро-сервисную архитектуру, то скорее всего знаете, что накладные расходы на коммуникацию между сервисами часто становятся значительной проблемой и если Вы сталкивались с этой проблемой, то скорее всего начали использовать один из RPC фреймворков поверх Protobuf, например, gRPC от Google или Go-Kit от Peter Bourgon или что-то другое. Пересказывать что это и как этим пользоваться нет смысла, все достаточно хорошо описано до меня. Я сам активно использую gRPC в своих проектах, но тут Twich решил выпустить свою реализацию protobuf Twirp. Если Вам интересно, зачем им это было нужно или чем она отличается проходите под кат.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments20

Erlang кластер на коленке

Reading time7 min
Views9.6K

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

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

Установка и настройка OpenVPN сервера с помощью docker-compose

Reading time2 min
Views58K


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


OpenVPN одна из самых популярных программ для организации VPN туннеля, а docker-compose отличный инструмент для установки и настройки программ с помощью одного docker-compose.yml файла.


В статье я расскажу как быстро и просто настроить OpenVPN сервер на собственном VPS используя docker-compose. За основу возьмем образ kylemanna/docker-openvpn.


Заинтересовавшихся прошу под кат.

Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments40

TON: Telegram Open Network. Часть 1: Вступление, сетевой уровень, ADNL, DHT, оверлейные сети

Reading time9 min
Views106K

TON: Telegram Open Network


Уже две недели Рунет шумит про Telegram и ситуацию с его бессмысленной и беспощадной блокировкой Роскомнадзором. Рикошетом задело многих, но всё это — темы для постов на Geektimes. Меня же удивило другое — я до сих пор не видел на Хабре ни одного разбора запланированной к выходу на базе Telegram сети TON — Telegram Open Network. Мне захотелось восполнить этот недостаток, ибо поизучать там есть что — даже несмотря на отсутствие официальных заявлений о нём.


Напомню — ходят слухи о том, что Telegram запустил очень масштабное закрытое ICO, уже собрав в нём невероятные суммы. Предполагается, что уже в этом году будет запущена собственная криптовалюта Gram — и у каждого пользователя Телеграма автоматически появится кошелёк, что само по себе создает немалое преимущество перед остальными криптовалютами.


К сожалению, так как официальных заявлений нет, дальше я могу отталкиваться только от документа неизвестного происхождения, о чём я сразу вас предупреждаю. Конечно, он может оказаться очень искусной подделкой, но не исключено и то, что это — реальный whitepaper будущей системы, написанный Николаем Дуровым (и слитый, вероятно, кем-то из инвесторов). Но даже если это фейк, никто нам не запретит его поизучать и обсудить, верно?


Что же говорится в этом документе? Я попробую пересказать его своими словами, близко к тексту, но по-русски и чуть более человечно (да простит меня Николай со своей склонностью уходить в формальную математику). Имейте в виду, что даже в случае его подлинности, это черновое описание системы и оно, весьма вероятно, изменится к моменту публичного запуска.

Итак, приступим
Total votes 84: ↑83 and ↓1+82
Comments129

Как разработать систему, которая распознает человека по клавиатурному почерку

Reading time2 min
Views8.5K
Мы занимаемся потребительским кредитованием в режиме онлайн. Вопрос предотвращения мошенничества для нас – один из основных. Часто потенциальные мошенники думают, что системы безопасности финтех-компаний ниже, чем в традиционных финансовых организациях. Но это миф. Все ровно наоборот.

image

Для того, чтобы свести к нулю уровень потенциального мошенничества мы разработали систему поведенческой биометрии, которая способна определить человека по клавиатурному почерку. Пилотная версия была внедрена в России в августе 2017 года.
Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments17

Квест по устранению аритмии сердца

Reading time7 min
Views13K
image

Привет, Хабр! Сегодня предлагаем отправиться в увлекательное путешествие в самое сердце человеческого организма (в буквальном смысле этого слова), чтобы узнать как находят и обезвреживают источники аритмии.
Осторожно: трафик
Total votes 29: ↑29 and ↓0+29
Comments18

Information

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