Недавно мне позвонили и попросили помочь разобраться с очень странными симптомами на сайте. А симптомы выглядели вот так. Cовершенно разные клиенты звонили и рассказывали, что они на сайте попадают в личные кабинеты других случайных клиентов. Логинятся под собой. Входят в свой аккаунт, а потом бац – и уже в аккаунте другого клиента. Правда они не догадывались, что кто-то другой так же мог оказаться в их личном кабинете.
Давайте я расскажу «историю неуспеха», чтобы другие на эти грабли не наступали.
Тяжело найти человека, который не сталкивался бы с таким отвратительным явлением на сайтах, как рекламный попап. Откровенно не понимаю зачем их делают, но, судя по всему, это работает. И это печально. В своё время данное явление достало даже разработчиков браузеров из-за чего на тот же window.open были наложены ограничения, не позволяющие открывать новые окна без спросу пользователя. К сожалению их было недостаточно и в борьбу включились баннерорезки. К сожалению API, предоставляемые браузерами, не идеальны и потому периодически обнаруживаются новые пути ухода от блокировки, которые как-то приходится затыкать. Вот только довольно сложно заткнуть брешь не зная как она работает и разработчики рекламных скриптов это тоже прекрасно понимают. В результате код обфусцируется всё новыми и новыми способами. Здесь я попробую разобрать один такой скрипт и техники обфускации кода, применяемые в нём, крайний раз обнаруженный на средней популярности сайте хентайной мангой (японские порнокомиксы). Читать дальше ->
С начала 2017 года в Mars началось внедрение корпоративной системы управления проектами CA Clarity PPM. На сегодняшний день все структуры нашей компании в той или иной степени используют эту платформу, а для проектных команд она является основной. В этой публикации мы расскажем о ходе внедрения системы и ее основных преимуществах.
Я уже знаю ваши мысли: «ээээ, 2017ый год на календаре, везде ангуляр да реакт, jsx там всякие, ты о чём вообще?». Но, вся проблема в том что, к сожалению, в мире существуют ещё очень и очень много проектов с frontend на ванильном js или на лапше из jquery, и зачастую есть ряд причин не переводить их на современные фреймворки. А поддерживать дальше их надо. Написав очередное уродство в стиле
Привет, я студент второго курса технического университета. После пропуска нескольких пар программирования по состоянию здоровья, я столкнулся с непониманием таких тем, как «Стек» и «Очередь». Путем проб и ошибок, спустя несколько дней, до меня наконец дошло, что это такое и с чем это едят. Чтобы у вас понимание не заняло столько времени, в данной статье я расскажу о том что такое «Стек», каким образом и на каких примерах я понял что это такое.
Движок QPython (и QPython 3) для Android – вещь по-прежнему плохо изученная, и особенно что касается его встроенной библиотеки Scripting Layer For Android (SL4A), она же androidhelper. Эту библиотеку написали несколько сотрудников Google по принципу 20% свободного времени, снабдили ее спартанской документацией, которую почти невозможно найти, и отправили в свободное плавание. Я искал информацию об SL4A по крупицам, но со временем нашел практически все, что мне нужно.
Доброго времени суток! Эта статья представляет собой перевод документации к движку Cocos2d-x.
В предыдущих частях мы уже рассмотрели большинство основных компонентов движка: Sprite Action UI Components Scene и другие
Нам осталось совсем немного для создания полноценной игры. А именно, обеспечить сам игровой процесс. Для этого, в Cocos2d-x существует диспетчер событий.
Диспетчер событий
Что такое механизм EventDispatch? EventDispatch — это механизм реагирования на пользовательские события.
Основы:
Слушатели событий инкапсулируют ваш код обработки событий.
Диспетчер событий уведомляет слушателей о пользовательских событиях.
Объекты событий содержат информацию о событии.
5 типов слушателей событий
EventListenerTouch — реагирует на касание сенсорного экрана
EventListenerKeyboard — реагирует на нажатия клавиатуры
EventListenerAcceleration — реагирует на события акселерометра
EventListenMouse — реагирует на события мышки
EventListenerCustom — реагирует на настраиваемые события Читать дальше ->
Представьте себе, мы можем проанализировать путь покупателей с продуктовыми тележками: как и где они перемещались. На основании этого можно улучшить мерчендайзинг, изучить какие товары из каких групп покупают вместе и многое другое. Но самое интересное начинается тогда, когда человек уже приходит на кассу: время, проведённое в магазине, маршрут и его итоговую покупку можно синхронизировать, и эту информацию организация-заказчик может также совместить со своей программой лояльности.
Один из крупнейших разработчиков системы Wi-Fi аналитики в России, применяющейся в ритейле, торговых центрах и на объектах HoReCa, делится своими секретами. Читать дальше ->
Всем привет! 23 ноября на Мансарде Rambler&Co пройдет юбилейная пятидесятая встреча сообщества MoscowPython. На встрече мы услышим 3 доклада. Читать дальше ->
Никто не любит незваных гостей, особенно если эти гости — это почтовые боты? которые так и норовят вам продать вам очень нужную и выгодную, только не для вас, услугу.
Так и у меня на одном из проектов, у заказчика интернет-магазин, многие страницы выполнены в формате лендингов для показа величины масштаба компании и прочих преимуществ, ну и само собой на этих страницах расположены множество форм, которые притягивают лиды и основной проблемой этих форм стали эти самые боты. Для решения проблемы было решено подключить google recaptcha 2.0 так как альтернатив особо не было, на каждую формочку была подключена google recaptcha в режиме invisible. Проблема решена, все довольны. Читать дальше ->
За последние годы индустрия программного обеспечения ушла от статичных/ скомпилированных языков программирования и отдаёт предпочтение динамическим языкам — особенно в тех случаях, когда гибкость применения важнее чистого быстродействия. Однако, для этих языков характерны специфические проблемы (такие как проверка постепенной типизации), они требуют наличия дополнительной инфраструктуры и инструментария и отличаются большими объемами кодовых баз. Читать дальше ->
В понедельник, 13 ноября приглашаем вас в офис Райффайзенбанка, где пройдет очередной PostgreSQL MeetUp. Мероприятие организовано совместно с компанией Postgres Professional.
Мы долго думали, как назвать наше событие, и решили дать ему романтичное название «Осенний Postgres», хотя, скорее всего, осени будет мало и, может, выпадет снег. Читать дальше ->
В последнее время вокруг Java EE много шумихи: сначала выход восьмой версии, затем новость о переходе в Eclipse Foundation и о переименовании. Но многие обсуждения новостей сводятся к тому, что люди думают о новом названии EE4J. Мы решили этим не ограничиваться и расспросить Дмитрия Александрова (ведущего эксперта-программиста в T-Systems): он и имеет дело с Java EE в своей работе, и активен в EE-сообществе, и выступает с EE-докладами на конференциях. Так что вопросы мы ему задали и с точки зрения «применимость в вашей работе», и с точки зрения «что думает сообщество в целом», и заодно про доклады: он как раз уже завтра выступит у нас на Joker. Читать дальше ->
На конференции White Nights Moscow 2017 CEO Getloyal, Алексей Писаревский, пообщался с директором по маркетингу блокчейн-платформы Wavesplatform — Александрой Пестрецовой.
Wavesplatform — это криптовалютный проект, запущенный российским предпринимателем Александром Ивановым в 2016 году. Кампания по запуску блокчейн-платформы собрала 16 миллионов долларов, войдя в число крупнейших по привлеченным средствам через краудфандинг. Сейчас общая капитализация WAVES превышает 500 млн долл., и по этому показателю токен входит в ТОП-15 криптовалют в мире.
Привет, Хабр! Меня зовут Богдан, в Badoo я работаю в мобильной команде iOS-разработчиком. Мы достаточно редко рассказываем что-либо о нашей мобильной разработке, хотя статьи – один из лучших способов документировать хорошие практики. Эта статья статья расскажет о нескольких полезных подходах которые мы используем в нашей работе.
Уже на протяжении нескольких лет iOS-сообщество сражается с UIKit. Кто-то придумывает сложные способы «погребения» внутренностей UIKit под слоями абстракций в своих выдуманных архитектурах, другие команды переписывают его, теша своё эго, но оставляя за собой дикое количество кода, который нужно поддерживать.
Список лучших инструментов для web-анимации. SVG/CSS/Canvas/DOM анимация + GUI инструменты для генерации кривых Безье и CSS анимации.
В будущем список будет дополнен книгами и видео-курсами по web-анимации. Если вы заметите, что какого-то стоящего инструмента не присутствует — пожалуйста, напишите об этом и я добавлю его.
Также буду рад отзывам на инструменты из текущего списка, с помощью ваших отзывов я смогу сделать описание инструментов более полным.
Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»
По большому счету, криптовалюты — это такие же электронные деньги, как какие-нибудь WebMoney или Яндекс.Деньги. А значит, и общие проблемы, характерные для электронных платежных систем, им тоже свойственны.
Однако те специфические принципы, по которым работают криптовалюты, порой делают возникновение этих проблем более вероятным, а последствия — более неприятными. Кроме того, эти же особые принципы определяют некоторое количество рисков, которые уникальны именно для криптовалют. Читать дальше ->
Tarantool — это не просто база данных. Tarantool — это app-сервер с базой данных на борту, поэтому для реализации кое-каких вещей, на которые люди тратят большое количество времени, с Tarantool нужно очень немного ресурсов.
На написание данной статьи меня натолкнула эта статья.
Очень много людей в IT-мире занимается одним и тем же. Расскажу о своем опыте решения этих же проблем.
Про использование Google MAPs API написано много статей, но основная часть из них устарела на столько, что глазам становится просто больно. Здесь хочу рассказать про замечательную библиотеку для работы со всеми MAPs API в частности Directions API, а так же о том как все это встроить в приложение. Читать дальше →