Я написал популярную статью с разоблачением финансового инфоцыгана, который выдавал себя за бывшего советника Набиуллиной. После этого моему каналу объявили настоящую войну: десятки тысяч ботов устраивают бесчинство в комментариях, а самому блогу пытаются создать репутацию «токсичного». Делюсь своим опытом: что делать в такой ситуации, и как защитить свой Телеграм-канал.
User
Как мощность влияет на геймплей: численный подход к дизайну игры для достижения ее честности
В процессе прохождения игр пользователи стремятся к победе посредством достижения целей и задач, определяемых многими факторами. Навыки, мотивация, ресурсы и мощность аватара здесь играют решающую роль. Сравнение этих элементов — важная задача геймдизайна для достижения честного геймплея.
Стоит заметить, что термин «честность» здесь более уместен, чем «баланс», ведь последний чаще можно истолковать неверно. Честность подразумевается в том смысле, что опыт игроков должен быть выдержанным и правдоподобным. Честный геймплей должен быть приятным и увлекательным, даже если он не совсем четко сбалансирован. Идеальный баланс, в свою очередь, может сделать игру более скучной. По словам ведущего дизайнера Overwatch Джеффа Каплана:
Восприятие баланса гораздо важнее, чем сам баланс.
Во многих играх можно добиться хорошего игрового опыта, не задействуя при этом слишком много элементов, механик и правил. Это не означает, что такие игры обязательно будут простыми — но их можно понять, изучив меньшее число сущностей. В шашках, в примеру, всего четыре правила, но это не делает их простыми.
Иными словами, во многих играх имеется широкий спектр элементов, дающих им больше возможностей и альтернатив. Сами по себе они не делают игры сложными и не подразумевают, что их сложнее освоить. Более того: многие из этих элементов могут даже не приниматься игроком во внимание в ходе игры. Однако достижение ощущения честности игры в данном случае может оказаться более сложной задачей, ведь при большем числе элементов их сложнее настроить для достижения согласованного, приятного и увлекательного опыта.
Во всех описанных случаях могут быть разные стратегии и отправные точки, которые можно использовать для достижения этой самой честности. Одна из них, на которой мы и сфокусируемся в данной статье, — мощность (Power).
Фронтендер пишет нейронки. Уровень сложности «хочу на ручки»
Рано или поздно, фронтенд - разработчик устает играть со своими фреймворками, устает докучать коллегам - бэкендерам, устает играть в девопс и начинает смотреть в сторону машинного обучения, дата - саенс и вот это вот все. Благо, каждый второй курс для тех кто хочет войти вайти способствует этому, крича на всех платформах, как это легко. Я тоже, насытившись перекладыванием данных из базы в API, а потом из API в таблицы и формы, решил взять небольшой отпуск и попробовать применить свои скилы фронтендера в машинном обучении. Благо, существуют такие люди как Daniel Shiffman и Charlie Gerard, которые своим примером помогают не бросить начатое, увидев первые страницы с математическими формулами.
Эксперимент VonmoTrade. Часть 1: Биржи и современные технологии
Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки.
Цели эксперимента:
- Более глубокое понимание предметной области и улучшение технической экспертизы
- Выявление сильных и слабых сторон использования функциональных языков и проектов с открытым исходным кодом при разработке торговых систем
В этой статье представлена мотивационная часть проекта и декомпозиция задачи.
Эксперимент VonmoTrade. Часть 2: Ордеры. Типы, особенности обработки
Чтобы понять, как работают биржи, нужно разобраться с биржевыми заявками и правилами их обработки брокером.
В статье мы разберем типы ордеров, особенности их исполнения на бирже и накладываемые торговой моделью ограничения. Если вам любопытно, что значат аббревиатуры DAY, GTC, FOK, IOC, GTD, GAT, MOO, MOC, LOO, LOC, MIT, OCO, OSO, PEG, прошу под кат.
Гайд для фрилансеров: самые частые вопросы по работе ИП
Ответить на вопросы мы предложили нашим друзям из Тинькофф Бизнеса — они сами регистрируют ИП и знают все юридические тонкости. Главный бонус: в течение недели в комментариях будет дежурить mat-ulyana, которая ответит на любые дополнительные вопросы.
Telegram Open Network: теория и практика от валидатора сети
В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON).
Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децентрализованной? Каковы её реальные возможности масштабирования? Как стать валидатором сети?
Ответы на эти и другие вопросы попыталась найти команда проекта Mercuryo, которая является активным участником тестовой сети с начала сентября 2019 г.
15 ноября 2019 сервисы Telegram переехали на testnet 2 и стартовала третья очередь тестирования. Наша команда продолжила участие в тестировании, став первыми валидаторами в сети после TON.
Для участия в процессе валидации, от пользователя требуется не только иметь достаточное количество монет (токенов GRAM), но и постоянно запущенный полный узел сети (TON Blockchain Full Node).
Теоретически любой пользователь может стать валидатором при соблюдении условия, что он владеет минимально необходимой долей актива (в монетах Gram) в мастерчейне, но на практике возникает ряд вопросов, на которые ответит в данной статье наша команда.
Кроме этого, мы хотим поделиться опытом по использованию tonlib-cli, т.к. в данный момент практически отсутствует задокументированная информация в отличие от базового варианта, подробно описанного в HowTo.
Как упаковать VueJS + NodeJS + MongoDB приложение в Docker
Как можно понять из предыдущей статьи, я работала с разными проектами. Первые дни в новой команде обычно проходят одинаково: бэкендер подсаживается ко мне и выполняет магические действия по установке и деплою приложения. Докер незаменим для фронтендеров, т.к. бэкенд зачастую написан на широком спектре стеков PHP/Java/Python/C# и фронту не надо каждый раз отвлекать бэка, чтобы все установить и развернуть. Только в одном месте я видела связку Docker-Jenkins с прозрачным деплоем, логами, прикрученными автотестами.
Про докер написано много подробных статей. В этой статьей речь пойдет о развертывании Single Page Application с использованием VueJS/Vue Router, серверная часть в виде RESTful API c NodeJS, а в качестве базы данных используется MongoDB. Для описания и запуска нескольких приложений-контейнеров используется Docker Compose.
Как создать первое приложение для торговли на бирже: 3 начальных шага
Современные биржи – очень технологичны и привлекают внимание ИТ-специалистов (об этом говорят, например, активные обсуждения моих статей по теме). Многих интересует тема написания торговых роботов – кто-то хочет самостоятельно попытаться заработать на бирже, кто-то не прочь делать это на заказ. Сегодня мы поговорим о том, как стоит подойти к созданию первого такого продукта – обсудим возможный стек технологий, снижение порога входа и способы минимизации возможных потерь.
Оружие осторожного инвестора: считаем справедливую стоимость инвестиционных облигаций
Чек-лист: Как сдать отчётность по УСН за 2018 год
Скоро конец года, и пора сдавать отчётность. Мы подготовили чек-лист для предпринимателей на УСН. Узнайте, что нужно успеть сделать до 31 декабря. А также какие сервисы помогут вам сдать отчётность.
Web scraping при помощи Node.js
Это первая статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js.
- Web scraping при помощи Node.js
- Web scraping на Node.js и проблемные сайты
- Web scraping на Node.js и защита от ботов
- Web scraping обновляющихся данных при помощи Node.js
Тема веб-скрейпинга вызывает всё больше интереса как минимум потому, что это неисчерпаемый источник небольших, но удобных и интересных заказов для фрилансеров. Естественно, что всё больше людей пытаются выяснить, что это такое. Однако, довольно трудно понять, что такое веб-скрейпинг по абстрактным примерам из документации к очередной библиотеке. Гораздо проще разобраться в этой теме наблюдая за решением реальной задачи шаг за шагом.
Обычно, задача для веб-скрейпинга выглядит так: есть данные, доступные только на веб-страницах, и их надо оттуда вытащить и сохранить в неком удобоваримом формате. Конечный формат не важен, так как конвертеры никто не отменял. По большей части речь о том, чтобы открыть браузер, пройтись мышкой по ссылкам и скопипейстить со страниц нужные данные. Ну, или сделать то же самое скриптом.
Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.
Как собрать GSM телефон на базе SDR
Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, данный модуль чаще всего работает под управлением проприетарной операционной системы с закрытым исходным кодом, и берет на себя всю работу, связанную с голосовыми вызовами, SMS-сообщениями и мобильным Интернетом.
В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и исправлять всевозможные ошибки, но и убедиться в отсутствии так называемых «закладок» в коде. Кроме того, открытый исходный код позволяет начинающим разработчикам учиться на примере более опытных, используя результаты их работы в качестве опоры.
Сравнение отклика клавиатур
Несмотря на все эти заявления, я нашёл только одного человека, который публично протестировал время отклика клавиатуры — и он проверил только две клавиатуры. Вообще, по моему глубокому убеждению, если кто-то делает заявления о производительности без бенчмарков, то вероятно эти заявления не являются правдой, как непротестированный (или иным образом проверенный) программный код следует по умолчанию считать нерабочим.
- Специально разработанные клавиши, которые сокращают время регистрации нажатия
- В 8 РАЗ БЫСТРЕЕ — скорость опроса 1000 Гц: время отклика 0,1 миллисекунды
- Получи абсолютное преимущество над своими противниками со сверхбыстрой работой клавишных переключателей 45g и срабатыванием на 40% быстрее, чем у стандартных переключателей Cherry MX Red
- Самая высокая в мире частота опроса 1000 Гц
- Самая быстрая в мире игровая клавиатура, частота опроса 1000 Гц, время отклика 0,001 секунды
Ситуация с игровыми клавиатурами во многом напоминает разговор с продавцом машин:
Продавец: Эта машина супербезопасна! У неё двенадцать подушек безопасности!
Я: Это хорошо, но как она выглядит в краш-тестах?
Продавец: Двенадцать подушек безопасности!
Конечно, у игровых клавиатур частота опроса 1000 Гц, и что из этого?
Пара советов для начинающих gamedeveloper'ов от начинающего gamedeveloper'а
Будучи раздосадованным полным (почти) отсутствием каких-либо ресурсов с игровой тематикой, будь то youtube каналы или же блоги в соц. сетях, мне захотелось поделиться парой мыслей, которые я приобрел за столь короткое времяпрепровождение в сфере геймдева. Не поймите меня неправильно, информации по игровой сфере как таковой в русскоязычном сегменте интернета полным-полно, но довольно посредственного качества. С большим трудом можно найти те крупицы, которые натолкнут абсолютных новичков на какую-либо тропу, всё приходится приобретать в процессе, что довольно сложно. Данная статья призвана, пусть и немного, но всё же осветить путь геймдева для абсолютных новичков.
Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени
Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта.
Эта штука сэкономила мне кучу времени в поиске и воспроизведении сложных багов. Она позволяет делать "снапшоты" игрового состояния, историю его изменения, и пошагово их применять.
Начинающие разработчики познакомятся с паттерном, а продвинутые, возможно, найдут трюк полезным.
Хотите узнать как это сделать? Прошу под кат.
Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP
Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.
В этой статье мы начнем с самых базовых аспектов сетевого программирования — приема и передачи данных по сети. Прием и передача данных — это основная и наиболее простая часть из всего круга задач, которыми занимаются сетевые программисты, но часто бывает сложно определить, каким путем лучше двигаться. Уделите этой части достаточно внимания — если у вас останется непонимание, то это может привести к ужасным последствиям для вашей многопользовательской игры в дальнейшем!
Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Как ты реализуешь аутентификацию, приятель?
Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.
Нельзя отрицать, что в любых приложениях и ОС «аутентификация» — крайне важный элемент обеспечения сохранности пользовательских данных и регулирования доступа к информации. Чтобы понять, какой метод аутентификации для вас лучше, нужно разбираться в достоинствах и недостатках всех методов, а также неплохо представлять, как же они работают.
Здесь я постараюсь рассказать о большинстве распространённых сегодня методов аутентификации. Это не подробное техническое руководство, а лишь способ познакомить вас с ними. Хотя методы описаны с учётом применения в вебе, эти идеи можно реализовать и в других условиях.
Покойся с миром, REST. Долгих лет жизни GraphQL
Перевод. Автор оригинала Samer Buna. Оригинал статьи.
Когда я впервые узнал о GraphQL после долгого использования различных REST API, то не мог удержаться от твитов такого содержания:
Rest API превратился в REST-in-Peace API. Долгих лет жизни GraphQL
Примечание переводчика – Rest In Peace, RIP – распространенная эпитафия "Покойся с миром". Первое слово в ней пишется так же, как акроним REST.
Тогда это была попытка рассмешить, но сейчас я убеждаюсь в справедливости шутливого прогноза.
Поймите правильно. Я не собираюсь обвинять GraphQL в убийстве REST или чём-то таком. REST не умрет никогда, также как XML будет жить вечно. Но кто в здравом уме станет использовать XML вместо JSON? На мой взгляд, GraphQL сделает для REST то же самое, что JSON сделал для XML.
Что же такое этот GraphQL?
Вашему вниманию предлагаю перевод статьи Sacha Greif "Что же такое этот GraphQL?"
Если вы такой же, как и я, вы обычно проходите через три этапа, когда узнаёте о новой технологии:
- Отрицание: Ещё одна JavaScript библиотека?! Зачем? У меня уже есть jQuery!
- Интерес: Хм, наверное мне следует взглянуть на эту библиотеку...
- Паника: Помогите! Мне нужно изучить эту библиотеку прямо сейчас, иначе мои знания устареют!
Есть одна хитрость для поддержания благоразумия в эпоху быстроразвивающихся технологий: изучать новые вещи между вторым и третьим этапом, как только интерес задет, но пока технология ещё не распространена повсеместно.
Именно поэтому сейчас самое время узнать, что же такое этот GraphQL, о котором вы повсюду слышите.
Information
- Rating
- Does not participate
- Registered
- Activity