Pull to refresh
-1
0

Веб-разработчик

Send message

10 веб-фреймворков Python, с которыми стоит работать в 2018 году

Reading time6 min
Views102K
image

От переводчика: сегодня мы предлагаем вам перевод статьи, размещенной на Hackernoon компанией SteelKiwi. Она занимается разработкой программных решений b2b и b2c, а опытом, накопленным в процессе работы, делится с читателями своего блога.

Фреймворки облегчают жизнь разработчику, предлагая различные решения для разработки приложений и сервисов. Они автоматизируют внедрение стандартных решений, позволяя сэкономить время. Таким образом, разработчик фокусируется на приложении, а не на рутинных задачах, где не нужно творческое мышление.
Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments31

Дайджест свежих материалов из мира фронтенда за последнюю неделю №326 (6 — 12 августа 2018)

Reading time3 min
Views14K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments0

Информационная безопасность банковских безналичных платежей. Часть 6 — Анализ банковских преступлений

Reading time47 min
Views16K

(с) МВД России. Фрагмент записи с камер наблюдения в момент кражи денег из банкомата

О чем исследование
Ссылки на другие части исследования


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

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

  1. Какой тип преступлений наиболее опасен для банков?
  2. Какие банковские профессии наиболее часто оказываются вовлеченными в преступную деятельность?
  3. Есть ли закономерности в действиях преступников, и если есть, то какие?
  4. … и др.

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

Кибердемоны: искусственный интеллект DOOM 2016

Reading time12 min
Views33K
Шутеры от первого лица за долгие годы эволюционировали и стали очень интересной средой для неигровых персонажей: солдаты прячутся за укрытиями, чужие преследуют игрока, а напарники помогают ему в пылу боя. Всё это вписывается в концепцию дизайна современных шутеров: удерживания территории, создания рубежей обороны и сдерживания игрока. В этой статье я на примере перезапуска франшизы DOOM 2016 года расскажу о том, что происходит, когда разработчики отказываются использовать в игре стандартный кодекс поведения.


DOOM построен на философии, известной как "push forward combat" («агрессивный бой»), влияющей на нарратив, дизайн уровней, перемещения игрока и многое другое. Если вкратце, то он является критическим взглядом и реакцией на современные шутеры. В то время как Call of Duty заставляет игрока ползать за укрытиями и снимать врагов издалека, DOOM нарушает эти правила, создавая мощный, быстрый, «спинномозговой» геймплей. Но как это всё устроено, и что предпринимает ИИ, чтобы сделать игровой процесс живым?
Total votes 57: ↑57 and ↓0+57
Comments37

Где Голливуд изображает хакеров правильно, а где — ошибочно

Reading time4 min
Views39K


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

В последние 20 лет я периодически работал системным администратором Linux. А это значит, что я обеспечивал бесперебойную работу таких интернет-сервисов, как электронная почта, сайты и новостные системы, и следил, чтобы их не взламывали. Сейчас я занимаюсь исследованиями этики и социального воздействия технологии, поэтому мне очень нравится наблюдать за упоминаниями технических вопросов в популярной культуре.

Операционная система, существующая, судя по всему, только в кино (назовём её MovieOS) очаровательна – постоянно что-то пищит, щёлкает после каждого нажатия клавиши, выдаёт нереально длинные индикаторы выполнения задач, полезные предупреждения, не говоря уже о возможности бесконечно увеличивать картинки без потери чёткости.

Но меня больше всего радуют сцены взлома.
Total votes 38: ↑22 and ↓16+6
Comments146

Геймификация приложений — 5 моментов, о которых нельзя забывать

Reading time4 min
Views8.7K


От переводчика: это перевод статьи Александра Шапорды из Django Stars, в которой он рассказывает об особенностях геймификации мобильных приложений.

Игровые элементы внедряют для повышения вовлеченности пользователя и увеличения финансовых показателей, чтобы выделиться среди конкурентов, да и просто потому, что с ними веселее. Геймификация позволяет привлечь и удержать аудиторию этого при помощи лайков, уровней, ачивок, прогресс-баров, призов и сюрпризов, вручаемых пользователю. Она способна повлиять на лояльность пользователя, частоту обращения к приложению и время, которое пользователь проводит в нем. В конечном итоге все это выливается в рост ваших прибылей. Но как геймифицироваться правильно?
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments3

1000-мерный куб: можно ли сегодня создать вычислительную модель человеческой памяти?

Reading time36 min
Views26K
image

Сегодня утром на пути к кампусу Беркли я провёл пальцами по листьям ароматного куста, а затем вдохнул знакомый запах. Я делаю так каждый день, и каждый день первое слово, которое всплывает в голове и приветственно машет рукой — это шалфей (sage). Но я знаю, что это растение — не шалфей, а розмарин, поэтому я приказываю шалфею успокоиться. Но слишком поздно. После rosemary и sage я не могу помешать появлению на сцене петрушки (parsley) и чабреца (thyme), после чего в голове возникают первые ноты мелодии и лица на обложке альбома, и вот я уже снова оказался в середине 1960-х, одетый в рубашку с огурцами. Тем временем розмарин (rosemary) вызывает в памяти Роуз Мэри Вудс (Rosemary Woods) и 13-минутный пробел (хотя теперь, проконсультировавшись с коллективной памятью, я знаю, что это должны быть Роуз Мэри Вудс и пробел в 18 с половиной минут). От Уотергейта я перепрыгиваю к историям на главной странице. Потом я замечаю в ухоженном саду ещё одно растение с пушистыми серо-зелёными листями. Это тоже не шалфей, а чистец (lamb’s ear). Тем не менее, sage наконец получает свою минуту славы. От трав я переношусь к математическому ПО Sage, а потом к системе противовоздушной обороны 1950-х под названием SAGE, Semi-Automatic Ground Environment, которой управлял самый крупный из когда-либо построенных компьютеров.

В психологии и литературе подобные мыслительные блуждания называются потоком сознания (автор этой метафоры — Уильям Джеймс). Но я бы выбрал другую метафору. Моё сознание, насколько я ощущаю, не течёт плавно от одной темы к другой, а скорее порхает по ландшафту мыслей, больше похожее на бабочку, чем на реку, иногда прибиваясь к одному цветку, а затем к другому, иногда уносимая порывами ветка, иногда посещающая одно и то же место снова и снова.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments10

Неуловимая проблема тайминга кадров

Reading time13 min
Views158K

Технический директор Croteam Ален Ладавач, участвовавший в разработке Serious Sam и Talos Principle, рассказывает, как ему удалось найти причину торможения графики даже на самых мощных машинах.

Наконец-то появилось объяснение того, почему некоторые игры тормозят на вашем PC (и луч надежды на то, что в ближайшем будущем они тормозить перестанут).

Т-т-тормоза


Вы с нетерпением ждали следующей части вашей любимой серии видеоигр для PC и она наконец вышла. На этот раз вы хотите насладиться ею во всей полноте, поэтому потратили деньги и время на тщательную подготовку. Вы заменили процессор, поставили сверхсовременную видеокарту, добавили ещё ОЗУ — чёрт возьми, даже купили RAID на SSD. Игра должна быть плавной с самой заставки.

Предзаказ наконец разблокирован и вы только что завершили установку. В нервном предвкушении вы впервые запускаете игру. Пока всё хорошо — она работает с частотой 60 кадров в секунду. Или, по крайней мере, так сообщает счётчик кадров тюнера GPU. Но что-то не так. Вы делаете мышью резкие, хаотичные движения. Стрейфитесь влево-вправо, и тут игра… начинает тормозить! Блин, да как такое возможно? Как она может тормозить при 60 кадрах в секунду?

Если такое с вами никогда не случалось, то это может показаться смешным. Но если вы их испытали, то, скорее всего, ненавидите тормоза всей душой. Тормоза в играх. Это не старый добрый «лаг». Не низкая частота кадров. Это просто «тормоза», происходящие при высоких частотах кадров на идеальных, супербыстрых машинах. Что это, откуда они взялись и как от них избавиться? Позвольте мне рассказать вам историю…
Total votes 135: ↑131 and ↓4+127
Comments276

WebSockets в Angular. Часть 2. Продуктовые решения

Reading time12 min
Views11K
image

В предыдущей статье речь шла об общем решении для вебсокетов в Angular, где мы на основе WebSocketSubject построили шину с реконнектом и сервисом для использования в компонентах. Подобная реализация подходит для большинства простых случаев, например, приема и отправки сообщений в чате и т.д., но её возможностей может быть недостаточно там, где нужно построить нечто более гибкое и контролируемое. В этой статье я раскрою некоторые особенности при работе с вебсокетами и расскажу о тех требованиях, с которыми сталкивался сам и, возможно, столкнетесь вы.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments1

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views47K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

Браузерный сетевой шутер на Node.js

Reading time17 min
Views24K
Разработка многопользовательских игр сложна по множеству причин: их хостинг может оказаться дорогим, структура — неочевидной, а реализация — трудной. В этом туториале я постараюсь помочь вам преодолеть последний барьер.

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


Поиграть в готовую игру можно здесь! При нажатии клавиш W или «вверх» корабль приближается к курсору, при щелчке мыши — стреляет. (Если никого нет онлайн, то чтобы проверить, как работает мультиплеер, откройте два окна браузера на одном компьютере, или одно из них на телефоне, ). Если вы хотите запустить игру локально, то полный исходный код выложен на GitHub.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments7

Telegram представил собственный сервис Passport для верификации и авторизации пользователей

Reading time4 min
Views46K


Команда Павла Дурова официально представила публике собственный сервис верификации и безопасной авторизации на сторонних ресурсах под названием Telegram Passport. Соответствующая запись была размещена в официальном блоге мессенджера Telegram. Доступ к сервису из сторонних платформ уже получил ресурс ePayments.com, в будущем ожидается значительное расширение этого списка.
Telegram Passport — унифицированный метод авторизации для сервисов, требующих персональную идентификацию пользователей. Загружайте ваши документы только один раз для того чтобы иметь постоянную возможность пользоваться сервисами, требующими реальные идентификационные данные (финансовые инструменты, ICO, и прочие).
К идентификации принимаются не только классические данные в виде ФИО, номера телефона и скана/фото паспорта, но так же и водительские удостоверения, ID-карты, данные о прописке, данные о временной регистрации. Кроме этого система принимает селфи с документами для подтверждения того, что идентификацию проходит реальный человек, а не злоумышленник, который завладел персональными данными пользователя.
Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments180

Сетевой код Age of Empires: 1500 лучников на модем 28,8 кбит/с

Reading time19 min
Views39K
image

Примечание переводчика: этой статье уже 17 лет, и интересна она только с исторической точки зрения. Любопытно узнать, как удавалось разработчикам добиться плавной сетевой игры в эпоху 28,8k-модемов и первых «Пентиумов».

В этой статье рассказывается об архитектуре и реализации, а также о некоторых уроках, полученных при создании многопользовательского (сетевого) кода игр Age of Empires 1 и 2. Также в ней излагаются современные и будущие подходы с созданию сетевой архитектуры, используемые Ensemble Studios в своих игровых движках.

Мультиплеер Age of Empires: требования к структуре


В начале работы над многопользовательским кодом Age of Empires в 1996 году мы поставили перед собой очень конкретные цели, необходимые для реализации требуемого игрового процесса.
Читать дальше →
Total votes 94: ↑94 and ↓0+94
Comments11

Фишинг с помощью тега title

Reading time1 min
Views11K

Разработчики мобильных браузеров уже давно пытаются стереть различия между сайтами и приложениями (да, я смотрю на тебя, PWA), и у них это вполне неплохо получается. Но всё таки остался ещё один концепт, который делает веб вебом и не даёт реализовать максимально сходный с нативным приложением пользовательский опыт — это URL в адресной строке браузера. Предлагаю узнать, как с этой проблемой справляется, скажем, китайский CM Browser.
CM Browser

Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments10

Знакомство с Timeline в Unity

Reading time12 min
Views35K
[В туториале около 50 МБ изображений, в том числе анимированных GIF]

Чтобы рассказать часть сюжета игры или увлечь игрока, разработчики часто используют катсцены. В некоторых играх создают специально отрендеренные анимированные сцены с моделями высокой детализации, в других же применяют настоящие внутриигровые модели. Благодаря использованию внутриигровых моделей можно сэкономить много средств и времени, потому что вам не придётся создавать новые модели, риги и анимации исключительно для катсцен. Но даже если вы используете уже готовые модели, то это не означает, что нужно жертвовать спецэффектами или драматизмом! В Unity есть мощный инструмент, позволяющий создавать захватывающие катсцены — Unity Timeline!

В этом туториале вы познакомитесь с Timeline и узнаете, как создавать катсцены с анимациями и сменами камер.

Приступаем к работе


Скачайте проект-заготовку и готовый проект отсюда.

Откройте файл Starter Project и загрузите сцену Main. Она будет нашим фундаментом. В ней есть герой, стоящий на башне и глядящий на мир:


С вашей помощью он сможет спрыгнуть с башни, развернуться, подойти к сундуку с сокровищами и пинком открыть его. При этих анимациях камера тоже будет менять своё положение.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments1

Методы удержания игроков: примеры из игр различных жанров

Reading time7 min
Views32K
Меня зовут Оксана Фомина, я анализирую поведение пользователей и увеличиваю доходы игры, в том числе за счет повышения удержания игроков.

В первой части статьи «МЕТОДЫ УДЕРЖАНИЯ ИГРОКОВ В СЛОТ-ИГРАХ: Часть 1» я рассмотрела применение методов удержания игроков на примере слот-игр. Статья вызвала неоднозначную реакцию из-за того, что для примера были выбраны игры жанра Казино. Мне поставили минусы в Карму. Я хотела бы объяснить причину такого выбора.

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

image
Читать дальше →
Total votes 30: ↑21 and ↓9+12
Comments74

Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Часть 3

Reading time7 min
Views6.6K
image

Сегодня мы рассмотрим ещё два места, в которых pbrt тратит много времени при парсинге сцены из диснеевского мультфильма «Моана». Посмотрим, удастся ли и здесь улучшить производительность. На этом мы закончим с тем, что разумно делать в pbrt-v3. Ещё в одном посте я буду разбираться с тем, насколько далеко мы можем зайти, если откажемся от запрета на внесение изменений. При этом исходный код будет слишком отличаться от системы, описанной в книге Physically Based Rendering.

Оптимизация самого парсера


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

Я наконец-то собрался с силами и реализовал написанный вручную токенизатор и парсер для сцен pbrt. Формат файлов сцен pbrt парсить довольно просто: если не учитывать закавыченных строк, токены разделяются пробелами, а грамматика очень прямолинейна (никогда не возникает потребности заглядывать вперёд дальше, чем на один токен), но собственный парсер — это всё равно тысяча строк кода, которые нужно написать и отладить. Мне помогло то, что его можно было протестировать на множестве сцен; после исправления очевидных сбоев я продолжал работу, пока мне не удалось отрендерить в точности те же изображения, что и раньше: не должно возникать никаких различий в пикселях по причине замены парсера. На этом этапе я был абсолютно уверен, что всё сделано верно.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments0

Открытый урок «Пишем свою библиотеку для работы с xlsx файлами»

Reading time1 min
Views6.2K
И снова здравствуйте! Небольшой открытый урок в рамках курса «Web-разработчик на Python», на котором преподаватель курса Илья Лебедев рассказывал как устроен формат xlsx, как с ним работать без специализированных библиотек, вроде openpyxl и показал как разработать свою библиотеку для работы с этим форматом с нужным набором функций.



Если есть вопросы\комментарии, то их можно задать здесь или зайти к Илье на день открытых дверей.
Total votes 23: ↑21 and ↓2+19
Comments1

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

Reading time10 min
Views7.1K

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


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

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

PHP-Дайджест № 135 (9 – 23 июля 2018)

Reading time4 min
Views13K

В выпуске: PHP 7.3 alpha 4, ReactPHP 1.0 LTS и другие релизы, свежее предложение «Namespace Visiblity for Class, Interface and Trait» из PHP Internals, ведеозаписи докладов и вебинаров, порция полезных инструментов, и многое другое.
Приятного чтения!


Total votes 49: ↑47 and ↓2+45
Comments28

Information

Rating
Does not participate
Registered
Activity