Pull to refresh
0
0
Send message

Психология убеждения. Как убеждать других и уметь распознавать манипуляции

Reading time14 min
Views136K

Эта статья — некраткий конспект книги Роберта Чалдини «Психология убеждения». Будет полезна всем, кто имеет дело с людьми, продажами и бизнесом. Книга настолько полезна, что должна оказаться на полке каждого. Помимо того, что мы хотим влиять на окружающих, очень полезно знать, когда окружающие пытаются повлиять на нас. Внутри вы найдёте множество способов убеждения и, сразу после прочтения, будете с лёгкостью замечать, когда вами пытаются манипулировать.
Читать дальше →
Total votes 90: ↑67 and ↓23+44
Comments50

Оптимизация кода: память

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

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

image

Иерархия памяти работает, потому что хорошо написанные программы имеют тенденцию обращаться к хранилищу на каком-то конкретном уровне более часто, чем к хранилищу на более низком уровне. Так что хранилище на более низком уровне может быть медленнее, больше и дешевле. В итоге мы получаем большой объём памяти, который имеет стоимость хранилища в самом низу иерархии, но доставляет данные программе со скоростью быстрого хранилища в самом верху иерархии.
Читать дальше →
Total votes 80: ↑78 and ↓2+76
Comments99

Разница между восточными и западными играми жанра «три в ряд»

Reading time3 min
Views24K


Наша команда недавно готовила графику для канадского разработчика игр жанра "три в ряд". Несколько дней назад игра вышла. Я был так рад, что сразу поделился этой новостью со всеми близкими друзьями. Сам я живу в Китае.

Одна девушка сказала: «Но ведь персонажи совсем не милые». Тогда я попросил её оценить 天天爱消除, игру «три в ряд» от китайского разработчика Tencent.

«А эти персонажи милые?»

«Да, да!»

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

Одного взгляда достаточно, чтобы увидеть наглядную разницу между играми, сделанными на Востоке и на Западе. Давайте сравним несколько популярнейших клонов «три в ряд» из восточной и западной цивилизаций и посмотрим на их различия.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments16

Javascript-фреймворки: должен остаться только один

Reading time24 min
Views57K

Сергей Аверин ( XEK )


Сергей Аверин

Изначально я хотел сделать доклад про сравнение фреймворков, но потом подумал, что закидают помидорами, поэтому доклад — просто адский троллинг, как водится у меня. И он, скорее, не про HighLoad, а про менеджерскую задачу, которая стоит над всем этим делом, включая фронтенд.

Про что же, все-таки, получился доклад? Доклад про то, как выбирали новый фреймворк, почему выбирали, и какие задачи решали.
Читать дальше →
Total votes 103: ↑93 and ↓10+83
Comments184

Сжатие мобильной графики в формат ETC1 и открытая утилита

Reading time9 min
Views17K
При развитии free-to-play мобильной игры вместе с новыми фичами регулярно добавляется и новая графика. Часть ее включается в дистрибутив, часть скачивается в ходе игры. Для возможности запуска приложения на устройствах с небольшим размером оперативной памяти разработчики применяют аппаратно сжатые текстуры.



Формат ETC1 обязателен к поддержке на всех Android-устройствах с OpenGL ES 2.0 и является хорошей отправной точкой оптимизации потребляемой оперативной памяти. По сравнению с форматами PNG, JPEG, WebP загрузка текстур ETC1 осуществляется без интенсивных расчетов обычным копированием памяти. Также улучшается производительность игры по причине меньших размеров данных текстур пересылаемых из медленной памяти в быструю.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments15

Обзор расширения OPCache для PHP

Reading time33 min
Views125K


PHP — это скриптовый язык, который по умолчанию компилирует те файлы, которые вам нужно запустить. Во время компилирования он извлекает опкоды, исполняет их, а затем немедленно уничтожает. PHP был так разработан: когда он переходит к выполнению запроса R, то «забывает» всё, что было выполнено в ходе запроса R-1.

Очень маловероятно, что на production-серверах PHP-код изменится между выполнением нескольких запросов. Так что можно считать, что при компилированиях всегда считывается один и тот же исходный код, а значит и опкод будет точно таким же. И если извлекать его для каждого скрипта, то получается бесполезная трата времени и ресурсов.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments25

Разбор графики Supreme Commander

Reading time9 min
Views27K

Total Annihilation занимает в моём сердце особое место, потому что это была моя первая RTS; вместе с Command & Conquer и Starcraft это одна из самых лучших RTS, выпущенных во второй половине 90-х.

Через десять лет, в 2007 году, был выпущена её наследница: Supreme Commander. Благодаря тому, что над игрой работали одни из основных создателей Total Annihilation (дизайнер Крис Тейлор, программист движка Джонатан Мейвор и композитор Джереми Соул), ожидания фанатов были очень высокими.

Supreme Commander была тепло принята критиками и игроками благодаря своим интересным особенностям, таким как «стратегический зум» и физически реалистичная баллистика.

Давайте посмотрим, как движок SupCom под названием Moho рендерит кадр игры. RenderDoc не поддерживает игры под DirectX 9, поэтому реверс-инжиниринг выполнялся при помощи старого доброго PIX.
Читать дальше →
Total votes 73: ↑73 and ↓0+73
Comments14

Что делать с чужими долгами?

Reading time16 min
Views34K
Один из аспектов профессии разработчика — посвящение профанов в особенности процесса разработки ПО.
С. Макконнелл, Совершенный код

Цель этой публикации — поделиться опытом работы над проектом со сложной историей и тяжёлым наследием. После ухода из очередного т.н. «стартапа», я решил что хочу попробовать новых ощущений: enterprise, legacy, etc. Для этого взялся за работу над корпоративным приложением для транснационального концерна. Разработка на тот момент шла уже третий год, приложение пережило несколько поколений разработчиков, но стабильного релиза так и не было.

Полагаю публикация будет полезной:

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

Затрагиваемые в статье вопросы:

  • Низкая компетенция разработчиков, и что с этим можно поделать?
  • Какие аргументы убедительны в глазах заказчика для нефункциональных изменений в проекте?
  • Почему работа аналитиков и QA очень важна с точки зрения разработки в частности и для проекта в целом?

Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments76

Модифицированный алгоритм Geometry Buffer Anti-Aliasing

Reading time12 min
Views11K
Алиасинг представляет одну из фундаментальных проблем компьютерной графики, и для борьбы с ним придумано множество разнообразных алгоритмов антиалиасинга. Появление MLAA привлекло интерес к алгоритмам, работающим на этапе постобработки. Одним из таких алгоритмов (с небольшой оговоркой) является Geometry Buffer Anti-Aliasing (GBAA). В этом материале описана попытка модификации оригинального алгоритма для улучшения качества антиалиасинга в некоторых случаях.

image
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments8

Пример простой автоматизации letsencrypt

Reading time8 min
Views75K
image

Удостоверяющий центр «Let’s Encrypt» (далее просто letsencrypt) вышел из беты пару месяцев назад, пообтерся в реальных условиях, избавился от детских болезней и оброс различными клиентами. И к этому моменту выдал 5 миллионов сертификатов. Самое время внедрять, т.е. получать сертификаты на свои домены и обновлять их в автоматическом режиме. Но как внедрить так, чтобы приблизиться к любимому админскому «поставил и забыл»? Чтобы было просто получать новые сертификаты, а старые при этом обновлялись автоматом? Ну и как добавить немного безопасности в этот процесс?
Ответ под катом.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments38

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

Reading time8 min
Views60K

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


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

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

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

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

Особенности консольной инди-разработки в российской провинции

Reading time12 min
Views43K
Мне очень приятно, что мою последнюю статью про продвижение игры на Steam Greenlight, которую я писал на хабр чуть больше года назад, прочитали почти 50k раз и как мне кажется в итоге она была написана не зря. Тогда наша маленькая команда только-только получила зелёный свет. С того момента произошло еще много событий, но одним из самых интересных и значимых было то, что мы также прошли в программу ID@Xbox для независимых разработчиков, с возможностью выпуска своей игры на консоли Xbox One. И вот неделю назад игра все-таки увидела свет.

image

В этой статье я хочу поделиться интересной и возможно кому-то полезной информацией о том, с чем мы столкнулись пока готовили к релизу нашу игру на консоли Xbox One и Steam. А для этого я попробую раскрыть следующие темы:
  • Сколько может стоить разработка консольного проекта
  • Где мы взяли такие деньги
  • Как все подсчитать и иметь представление на что рассчитывать
  • Почему мы решили работать без издателя и внешних инвестиций
  • Как мы попали в Steam и на Xbox One
  • Почему нужно платить и получать возрастные рейтинги
  • В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
Читать дальше →
Total votes 70: ↑65 and ↓5+60
Comments34

Продвижение инди-игры на Steam Greenlight

Reading time11 min
Views97K
Всем, привет! Наша команда сейчас проходит важный этап становления любого разработчика игр — первый запуск игры на Steam Greenlight. Пока я готовил материал для этой статьи, наша игра вошла в ТОП-100 проектов на Greenlight, набрала почти 2000 голосов «ЗА» и через 12 дней получила зелёный свет.

В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.

image
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments14

Марш смерти: долгий и мучительный путь Homefront

Reading time28 min
Views45K
Homefront
От переводчика
Оригинал этой статьи вышел первого ноября прошлого года. Меньше чем через неделю издательство THQ потеряло половину своей капитализации, а к рождественским праздникам и вовсе объявило о банкротстве. Почему? Что ж, возможно, здесь есть часть ответа. Итак, друзья, печальная и страшная история про ААА-геймдев и тех, кто варится в его котле. Надеюсь, вам понравится.


Как плохой менеджмент, некомпетентность и гордость убили принадлежавшую THQ Kaos Studios.


Это случилось на рождественской вечеринке, хотя вряд ли можно было назвать радостным хоть кого-то из разработчиков Kaos или их коллег. Конец декабря 2010 оказался мимолётной передышкой посреди жестокого кранча, во время которого студия отчаянно пыталась закончить Homefront, самую амбициозную попытку издательства THQ отхватить свой кусок от соблазнительно доходного рынка военных шутеров ААА-класса.

Рабочий график был настолько всепоглощающим, что один из сотрудников сравнил его с сибирской каторгой, а отношения внутри студии (да и вне её тоже) буквально трещали по швам под таким давлением. Сейчас, в праздничную вечеринку, все эти люди и напряжение между ними были собраны под одной крышей, чтобы проводить откровенно паршивый прошедший год и приготовиться к неопределённостям следующего.
Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments24

Тест производительности: удивительно и просто

Reading time15 min
Views38K
Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

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

Шесть мифов разработки продукта

Reading time14 min
Views21K
image

Большинство менеджеров по разработке продукта стараются реализовать проекты вовремя и в рамках бюджета. У них никогда не хватает ресурсов, а их начальники требуют от них предсказуемых графиков и результатов. Поэтому менеджеры заставляют свои команды быть более бережливыми, писать детальные планы, минимизировать отклонения от графика и ненужные траты ресурсов. Но этот подход, который имеет право на жизнь для реализации на производственных предприятиях, может навредить разработке продукта.

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

Неспособность видеть эти различия приводит к ошибкам, мешающим планировать, исполнять и оценивать проекты по разработке программ. Авторы этого текста в сумме провели более 50 лет за изучением и консультированием компаний, занимающихся разработкой, и мы часто встречали подобные ошибки в совершенно разных областях — включая полупроводники, автомобили, потребительскую электронику, медицинские устройства, софт и финансы. В этой статье мы опишем эти заблуждения и способы обхода создаваемых ими проблем.
Читать дальше →
Total votes 37: ↑26 and ↓11+15
Comments4

Особенности распределения фонда оплаты труда в больших предприятиях РФ

Reading time33 min
Views85K
Оказывается, в свободном доступе есть интересная информация от HeadHunter о повышении фонда оплаты труда (ФОТ) в 2015 году. Со страницы проекта "Банк данных заработных плат" идет ссылка "Сравнивайте зарплаты вашей компании с рынком".

Прямая ссылка на pdf: Зарплаты в России. Итоги 2015 года.


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

И вообще, многим придут на ум уже затертые шаблоны:
  • Надо не завидовать, а больше работать, и станешь таким же высокооплачиваемым топ-менеджером.
  • Не нравится – уходи и работай на себя / аутсорсь за валюту на западные компании / переезжай в другие страны.


Но эти выводы и советы слишком уж лежат на поверхности.
We need to go deeper.
Давайте посмотрим, насколько же глубока эта не кроличья нора…
Читать дальше →
Total votes 100: ↑89 and ↓11+78
Comments156

Еще раз о том, как не сделать из своей сети «решето»

Reading time20 min
Views344K
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.

Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
Читать далее
Total votes 53: ↑53 and ↓0+53
Comments98

MySQL шпаргалки

Reading time3 min
Views822K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →
Total votes 215: ↑193 and ↓22+171
Comments230

Под высокой нагрузкой: наши способы применения Tarantool

Reading time8 min
Views23K


Многие из вас уже слышали о нашем проекте Tarantool. Это СУБД, или, попросту говоря, база данных с сервером приложений внутри. Tarantool — проект с открытым исходным кодом, и с ним может работать кто угодно. Развивается этот проект уже больше восьми лет. В Mail.Ru Group Tarantool активно используется более чем в половине продуктов: в Почте, Облаке, Моём Мире, Агенте и др. Все сделанные нами доработки этой БД мы коммитим обратно на GitHub, и сообществу доступна та же самая версия БД, что и нам. Сейчас у нас есть клиентские библиотеки почти ко всем языкам, мы сильно прибавили в этом направлении за последний год. Часть из них написана сообществом, часть — нами. Если появляется какая-то более эффективная библиотека, то мы просто делаем её официальной. Мы стараемся, чтобы всё было прямо из коробки — и БД, и библиотеки.

Одна из главных особенностей Tarantool заключается в объединении свойств БД и кэша. БД — это нечто надёжное, с транзакциями, серверным языком запросов. А кэш быстрый. И оба этих мира органично сливаются воедино в Tarantool. Эта БД предназначена для использования в высоконагруженных проектах и для работы с горячими данными.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments38

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity

Specialization

Game Developer
Lead