Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.
Рубрика «mongodb» - 9
Инфраструктура онлайн игры
2017-01-16 в 10:00, admin, рубрики: Amazon Glacier, bamboo, bitbucket, confluence, freebds, freenas, jail, jira, mongodb, NAS, nginx, node.js, owncloud, phpvirtualbox, pm2, replication, slack, SPA, support, virtualbox, VPC, vpn, vps, zfs, Анализ и проектирование систем, архитектура, базы данных, балансировка нагрузки, бекап, время выдохнуть, высокая производительность, дата-центр, домашний сервер, игры, информационная безопасность, инфраструктура, история создания, мастер тегов, масштабирование, метрики, нагрузочное тестирование, настройка сети, несколько провайдеров, обзор, онлайн игры, потеря данных, Разработка веб-сайтов, разработка игр, резервное копирование, спокойный сон, стабильность, СХД, техническая поддержка, фотография, хранение данных, ясделяльSecurity Week 01-02: уязвимость в box.com, фишинг паролей в PDF, атаки на MongoDB
2017-01-13 в 17:03, admin, рубрики: box.com, klsw, mongodb, PDF, Блог компании «Лаборатория Касперского», информационная безопасность, фишингПока редакция еженедельных дайджестов по безопасности пребывала в постновогодней прострации, по ландшафту угроз ароматным потоком растекался поток политики. Кибербезопасности в новостных заголовках и высказываниях политиков было очень много, но не будем поддаваться на провокации: чего-то влияющего на реальную защиту кого-либо в них не было. Разбирательство по поводу взлома Национального комитета Демократической партии США конечно как-то повлияет на сферу информационной безопасности, но вовсе не уверен, что в позитивную сторону. А значит продолжим следить за пусть менее громкими событиями, но чуть более наделенными интересными фактами.
Начнем с интересного приема фишинга при помощи PDF, о котором сообщил SANS Institute. При открытии документа в этом формате пользователю сообщается, что он «заблокирован» и предлагается ввести логин и пароль. Пароль затем отправляется на сервер злоумышленника. Интересных моментов тут два. Во-первых, это фишинг вслепую: пользователь может ввести пароль от учетной записи или от почты, или вообще непонятно от чего. Злоумышленников это не волнует: расчет на то, что пароль везде одинаковый.
Во-вторых, при попытке отправить данные на сервер Adobe Reader выводит предупреждение. А вот, например, встроенный в браузер Microsoft Edge просмотрщик пересылает введенную информацию молча, без объявления войны. Похожий метод (сообщение о якобы заблокированном контенте) применяется в аттачах в формате MS Word, но там это сделано, чтобы заставить пользователя выполнить вредоносный код.
Читать полностью »
Хакеры атакуют MongoDB: число скомпрометированных систем превысило 27 000
2017-01-09 в 15:50, admin, рубрики: mongodb, безопасность, Блог компании Positive Technologies, информационная безопасность, уязвимостиВ СМИ попала информация о масштабной волне кибератак, жертвами которых становятся администраторы систем, использующих MongoDB. Злоумышленники получают к ним доступ, а затем удаляют данные из уязвимых или неверно настроенных систем, после чего требуют выкуп.Читать полностью »
NoSQL – коротко о главном
2017-01-06 в 19:51, admin, рубрики: highload junior, mongodb, nosql, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Разработка веб-сайтов, сергей туленцев, метки: сергей туленцевСергей Туленцев (TextMaster)
Меня зовут Сергей Туленцев, я уже несколько лет интересуюсь NoSQL базами данных и сегодня попытаюсь поделиться с вами знаниями и опытом.
Кому будет полезен этот доклад? Это обзорный доклад с претензией на структурированность. Если вы что-то где-то когда-то слышали про NoSQL, то через 40 минут вы будете знать гораздо больше, вы будете легче ориентироваться в терминах и более уверенно выбирать базы данных для своего проекта.
Поговорим также про типичные примеры применения и как не надо применять NoSQL базы данных.
Читать полностью »
Symfony — комбинируем GridFS файлы с ORM сущностями
2016-12-17 в 14:33, admin, рубрики: Doctrine ORM, mongodb, php, symfonyВ предыдущей статье я писал о загрузке файлов в GridFS. Там мы создали MongoDB документ со свойством $file, аннотированным как @MongoDBFile. Так как ORM сущности я использую чаще, чем ODM документы, я искал простой способ получить доступ к документу из сущности.
Прямую связь между сущностью и документом установить нельзя, и я подумал, что не плохо было бы сделать собственный тип поля. С помощью определения собственного типа поля мы сможем контролировать способ хранения ссылки на документ и в то же время возвращать эту ссылку с помощью вызова свойства сущности.
Читать полностью »
React.js на русском языке. Часть восьмая
2016-12-11 в 10:10, admin, рубрики: javascript, mongodb, node.js, react.js, ReactJS, redux
Перевод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая — Установка
2 — Часть вторая — Внедрение JSX
3 — Часть третья — Отрисовка элементов
4 — Часть четвертая — Компоненты и свойства
5 — Часть пятая — Состояние и жизненный цикл
6 — Часть шестая — Обработка событий
7 — Часть седьмая — Условный рендеринг
8 — Часть восьмая — Списки и ключи
9 — Часть девятая (скоро)
Списки и ключи
Для начала, давайте рассмотрим, как преобразовать списки в JavaScript.
В приведенном ниже примере, мы используем функцию «map()», чтобы считать массив устройств «numbers» и удвоить их значения. Мы задаем новый массив устройств, возвращенный с помощью «map()», посредством удвоенной переменной и зарегистрировали ее следующим образом:
Читать полностью »
React.js на русском языке. Часть седьмая
2016-12-05 в 19:11, admin, рубрики: javascript, mongodb, node.js, react.js, ReactJS, redux
Перевод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая — Установка
2 — Часть вторая — Внедрение JSX
3 — Часть третья — Отрисовка элементов
4 — Часть четвертая — Компоненты и свойства
5 — Часть пятая — Состояние и жизненный цикл
6 — Часть шестая — Обработка событий
7 — Часть седьмая — Условный рендеринг
8 — Часть восьмая (скоро)
Условный рендеринг
В React вы можете создавать отдельные компоненты, которые воплощают нужную вам модель поведения. Затем можно будет отобразить только некоторые из них, в зависимости от состояния приложения.
Условный рендеринг в React работает точно так же, как и в JavaScript. Используйте операторы JavaScript, как "if" или условный оператор для создания элементов, которые отображают текущее состояние, и чтобы позволить React обновлять пользовательский интерфейс, чтобы им соответствовать.
Читать полностью »
React.js на русском языке. Часть шестая
2016-12-01 в 8:55, admin, рубрики: javascript, mongodb, node.js, react.js, ReactJS, reduxПеревод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая
2 — Часть вторая
3 — Часть третья
4 — Часть четвертая
5 — Часть пятая
6 — Часть шестая
7 — Часть седьмая (скоро)
Обработка событий
Обработка событий с элементами React очень схожа с обработкой событий с элементами DOM.
Существует несколько синтаксических различий:
Названия событий React создаются с помощью camelCase, а не lowercase. С JSX вы передаете функцию как обработчик события, а не строку. Например, HTML:
<button onclick="activateLasers()">
Activate Lasers
</button>
В React это выглядит немного по-другому:
Читать полностью »
React.js на русском языке. Часть пятая
2016-11-28 в 8:38, admin, рубрики: javascript, mongodb, node.js, react.js, ReactJS, reduxПеревод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая
2 — Часть вторая
3 — Часть третья
4 — Часть четвертая
5 — Часть пятая
6 — Часть шестая (скоро)
Состояние и жизненный цикл
На данный момент, мы знаем только один способ как обновить пользовательский интерфейс.
Мы отправляем сигнал в ReactDOM.render() чтобы изменить выводимые данные:
function tick() {
const element = (
<div>
<h1>Hello, world!</h1>
<h2>It is {new Date().toLocaleTimeString()}.</h2>
</div>
);
ReactDOM.render(
element,
document.getElementById('root')
);
}
setInterval(tick, 1000);
Попробуйте повторить этот пример в CodePen.
Читать полностью »
React.js на русском языке. Часть третья
2016-11-21 в 8:01, admin, рубрики: javascript, mongodb, node.js, php, react.js, ReactJS, reduxПеревод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая
2 — Часть вторая
3 — Часть третья
Отрисовка элементов
Элементы являются самыми мелкими компонентами приложения. Элемент описывает то, что вы хотите увидеть на экране:
const element = <h1>Hello, world</h1>;
В отличие от DOM-элементов браузера, элементы React являются простыми объектами, которые создаются проще. React DOM постоянно следит за обновлением элементов в DOM.
Примечание:
Элементы можно перепутать с более широким понятием, таким как «компоненты». В следующем разделе мы изучим компоненты. Элементы являются строительным материалом для компонентов и прежде, чем двигаться дальше, мы советуем вам ознакомиться с этим разделом.