Search
Write a publication
Pull to refresh
1
0
Send message

Через тернии к игре мечты — прогресс и эволюция существ

Reading time2 min
Views12K
image

Всем привет! Мы продолжаем работать над игрой “мечты” Another Way. Это уже третий пост на эту тему, с предыдущим вы можете ознакомиться по ссылке — Через тернии к игре мечты — месяц спустя. Я не писал о прогрессе чуть более месяца, скопилось много много информации, поэтому будет минимум текста, но много картинок. Всем тем кто не боится трафика — добро пожаловать под кат.
Читать дальше →

Атаки на бесконтактные банковские карты

Reading time6 min
Views34K


Автор: cuamckuu

Извлечение содержимого карты и работа с EMV-командами может быть интересна не только в исследовательских целях. Существует несколько видов атак на бесконтактные банковские карты, про реализацию которых будет рассказано под катом.
Читать дальше →

Как я проработала 3 месяца в Я.Маркете и уволилась

Reading time6 min
Views308K

Первая попытка


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

Я его сделала, вот оно. По условию оно должно было работать на айфонах и андроидах, поэтому я проверила его в Browser Stack и дописала пару префиксов и css-стилей.

Через какое-то время поняла, что не хочу быть стажером, имея несколько лет опыта за плечами и зааплаилась в Я.Маркет через форму на их сайте.

Мне позвонила HR и предложила пройти скайп-интервью с лайвкодингом. Перед собеседованием я повторила структуры данных, сложность алгоритмов, сортировки. Тогда я еще не знала, что этого недостаточно.

На интервью я не смогла решить алгоритмические задачки, не знала внутренности JS и меня сбрили.

Это задело мою самооценку и весь следующий год параллельно с работой я учила JS на глубоком уровне и решала задачки на codewars. Здесь можно оценить мой прогресс.
Читать дальше →

Особенности национального распознавания образов

Reading time4 min
Views34K

«Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» ©
Читать дальше →

Web. Решение задач с r0от-мi. Часть 1

Reading time2 min
Views11K
image

Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Здесь рассмотрим задачи, затрагивающие backup файлы, непроиндексированные директории, http заголовки, редирект и command injection.

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →

VK Hackathon 2019 (как это было)

Reading time5 min
Views2.7K
image

В прошедшие выходные (27 — 29 сентября) прошел «VK Hackathon», на котором мне и моей команде посчастливилось побывать в качестве участников. В этом посте я бы хотел рассказать о том, как это получилось и насколько хакатоны — это круто.
Читать дальше →

Структуры данных для программистов игр: bulk data

Reading time19 min
Views17K
image

Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я использую только для одного конкретного алгоритма и ни для чего больше (например, кучи для реализации очереди с приоритетом в алгоритме поиска пути A*).

В повседневной работе я обычно обхожусь на удивление малым количеством структур данных. Чаще всего мне пригождаются:

  • Общие массивы данных (Bulk data) — способ эффективного хранения большого количества объектов.
  • Слабые ссылки (Weak reference) (или дескрипторы (handle)) — способ обращения к объектам в bulk data без сбоев программы в случае, если объект удалён.
  • Индексы — способ быстрого доступа к отдельным подмножествам в bulk data.
  • Массивы массивов — способ хранения объектов bulk data с динамическими размерами.

Я посвящу несколько статей тому, как я обычно реализую все эти структуры. Давайте начнём с простейшей и самой полезной — bulk data.
Читать дальше →

Обрабатываем заказы из интернет магазина с помощью RabbitMQ и TypeScript

Reading time13 min
Views18K


Всем привет! Популярность интернет коммерции постоянно растет, как и доля информатизации всех смежных с торговлей видов деятельности. Вместе с этим растет и сложность обработки информации. Каждый заказ, сделанный клиентом интернет магазина, порождает за собой большое количество интеграций с различными сервисами. Такими сервисами могут быть сервисы обработки платежей, доставки, системы учета и лояльности. Каждый заказ должен быть оплачен, учтен, собран и доставлен, а также доступен для последующего анализа. Эту, и так не простую ситуацию, усложняет и тот факт, что пользователь интернет магазина не хочет долго и мучительно чего-то ждать при оформлении заказа. Отклик от интернет магазина должен быть быстрым, ведь каждая миллисекунда задержки увеличивает шанс потери клиента, а в последствии и прибыли. В этой статье я хочу рассказать про брокер сообщений RabbitMQ и как с его помощью можно организовать процесс обработки заказов используя Node.js и TypeScript. Добро пожаловать под кат.

Читать дальше →

Как трое одноклассников стали партнерами Facebook — история Revealbot

Reading time8 min
Views6.6K
image

Реклама может казаться неприятной, но это — денежное сердце ИТ-индустрии. Google, Facebook и другие гиганты живут именно за счет нее. Рекламироваться вынуждены даже блокировщики рекламы.

Тысячи стартапов, появляющихся каждый год, зависят от рекламы. Акционеры Facebook, Google и других вкладывают сотни тысяч венчурных инвестиций в маленькие продукты, и даже если те не выстрелят — как минимум половину денег потратят на рекламу в тех же Facebook и Google, обеспечивая безостановочный оборот денег.

И создать продукт, который станет новым успешным словом в рекламе — это как создать еще одну соцсеть в 2019. Тем удивительнее, что российский стартап Revealbot смог это сделать. CEO Михаил Трофимов, CTO Михаил Салосин и CCO Искандер Мусаев рассказали мне свою историю — как у них получилось.

Revealbot получил на «Моём круге» среднюю оценку 4,9 от своих сотрудников, которые выше всего оценили комфортную рабочую атмосферу в команде, связь с топ-менеджментом и то, что компания делает мир лучше.
Читать дальше →

Strong «caffe» на завтрак и выездные хакатоны: почему это важно для развития Data Science сообщества

Reading time6 min
Views6.3K
Я Data Scientist в команде Data Lake Platform в Райффайзенбанке. Три года назад в банке не было направления Big Data, а сейчас у нас есть отдельная платформа для работы с большими данными и активно развивающееся сообщество. По мере развития data driven культуры мы сталкиваемся с множеством вопросов: техническими, коммуникационными и не только.

В статье хочу рассказать, как наше сообщество Raiffeisen Data University помогает решать часть из них.


Читать дальше →

Custdev, сложные услуги и искусство презентации: чему мы учили участников акселератора ВТБ

Reading time5 min
Views3.1K
Сколько времени нужно, чтобы просеять 300 стартапов для банковского акселератора? Примерно столько проектов этим летом отправили заявки во второй акселератор ВТБ. До очного этапа дошло 40, и уже 11 сентября мы встречали их команды на площадке нашего партнера ФРИИ в Москве.



В этом посте мы расскажем, как в течение трех последующих дней помогали командам в подготовке к следующему важному этапу — питчингам с представителями банка. Подсмотрим за некоторыми выступлениями экспертов. И наконец, расскажем, кто прошел в следующий этап.
Читать дальше →

Почему вам стоит использовать язык Ада для программирования вашей системы

Reading time6 min
Views28K


Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада разрабатывали так, чтобы это был единственный язык, способный работать на всех этих встроенных системах, и при этом обеспечивавший надёжность и быстродействие уровнем не хуже специализированных.

После обновления от 1995 года язык приспособили для систем общего назначения, добавив объектно-ориентированное программирование, не теряя из вида ключевые ценности – надёжность, простоту поддержки и эффективность. Сегодня написанное на Ада ПО формирует основу не только военного оборудования, но и коммерческих проектов в сфере авионики и систем управления воздушным трафиком. Код на Ада управляет такими ракетами, как Ариан-4 и 5, многими спутниками, и бесчисленным количеством других систем, в которых небольшие сбои могут иметь серьёзные последствия.

Возможно, Ада подойдёт и для использования в вашем следующем встроенном проекте.
Читать дальше →

Обзор AngularConnect 2019. Часть 2

Reading time5 min
Views2.3K
В этой статье продолжаем делиться впечатлениями от поездки в Лондон на AngularConnect 2019. Сегодня расскажем, как все происходило, о докладах второго дня и о том, что полезного мы привезли домой (и нет, это не наклейки!). А вот — первая часть статьи.


Инструменты Node.js разработчика. Протокол mqtt для работы с веб-сокетами

Reading time5 min
Views19K
Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативными объектами веб-сокет браузеров. В этом сообщении я попытаюсь показать, что оба пути не решают всех проблем, и гораздо лучше использовать для работы с веб-сокетами специализированные серверы, например mqtt-сервер (раньше его назвали mqtt-брокер).

Справедливости ради, и чтобы избежать ненужных споров, замечу, что кроме mqtt-сервера может быть использован еще целый ряд серверов, например rabbitmq.
Читать дальше →

Опыт участия в программе F2P Campus

Reading time4 min
Views1.1K

Меня периодически мотает по разным странам (если точнее, по разным программам акселерации). Стараюсь делиться опытом, т.к. у нас что-то совсем глухо с этим в стране. А существующие инвест фонды берут стартапы/команды на скотских условиях. Можно почитать про наш опыт в Y Combinator, K-Startup Grand Challenge, Start-Up Chile в старой статье. К сожалению, тот проект пришлось закрыть. Возможно, в постмортеме по UnnyWorld вы для себя найдёте что-то полезное, чтобы не наступить на те же грабли.


Зачем я это всё пишу? Чтобы инди-разработчики поняли, что у них, на самом деле, много возможностей получить помощь извне при разработке своей игры.


К сожалению, по опыту общения я заметил, что очень много наших разработчиков банально боятся подаваться в подобные программы. Часто из-за синдрома самозванца, люди почему-то считают, что они не достойны участвовать в подобных программах. Нет! Достойны! И более того, это не так сложно, как кажется.


В данной статье я попытаюсь поделиться своим опытом нахождения в этой программе.




Читать дальше →

Опыт разработки тестового задания на React для Aviasales

Reading time6 min
Views16K

Привет, я хотел поделиться опытом разработки тестового задания для Aviasales.


Я недавно наткнулся на вакансию React разработчика в компанию Aviasales. Отправил заявку, после чего на следующий день мне ответил HR и сообщил, что я должен буду сделать тестовое задание. Я крайне не люблю делать тестовые задания, так как я должен потратить довольно много времени на их выполнение, а в случае неудачи это станет впустую. Но я согласился...

Читать дальше →

Мой первый взлом: сайт, позволяющий задавать любой пользовательский пароль

Reading time8 min
Views22K
Недавно я нашёл интересную уязвимость, позволяющую установить любому пользователю конкретного сайта любой пароль. Круто, да?

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

На неё вы и наткнулись.



Примечание: автор переведённой статьи не специалист по информационной безопасности, и это его первый экскурс в мир SQL-инъекций. Он просит быть «снисходительными к его наивности».

Предупреждение: автор переведённой статьи не станет раскрывать сайт с этой уязвимостью. Не потому, что он сообщил о ней владельцу и связан узами молчания, а потому что хочет приберечь уязвимость для себя. Если вы вычислите этот сайт, пожалуйста, держите рот на замке (цыц).
Читать дальше →

Из физиков в Data Science (Из двигателей науки в офисный планктон). Третья часть

Reading time12 min
Views33K


Эта картинка, за авторством Артура Кузина (n01z3), достаточно точно суммирует содержание блог поста. Как следствие, дальнейшее повествование должно восприниматься скорее как пятничная история, нежели как что-то крайне полезное и техническое. Кроме того, стоит отметить, что текст насыщен английскими словами. Какие-то из них я не знаю как правильно перевести, а какие-то переводить просто не хочется.


Первая часть.
Вторая часть.


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


Шел январь 2017 года. На тот момент у меня было чуть больше года трудового стажа и работал я в Сан-Франциско в компании TrueAccord как Sr. Data Scientist.


TrueAccord — это стартап, который занимается сбором долгов. По-простому — коллекторское агентство. Обычно коллекторы много звонят. Мы же посылали много email'ов, а звонили мало. Каждый email вел на сайт компании, где должнику предлагалось сделать скидку на долг, да еще и позволить платить в рассрочку. Такой подход приводил к лучшей собираемости, позволял масштабироваться и меньше встревать на судебные иски.

Читать дальше →

Примеры дичи из заказов «приходите спасать» (разбор десятка инцидентов с примерами)

Reading time9 min
Views34K
Иногда бывает так:

— Приезжайте, у нас упало. Если сейчас не поднять — покажут по телевизору.

И мы едем. Ночью. На другой край страны.


Ситуация, когда не повезло: на графике показан резкий рост нагрузки на СУБД. Очень часто это первое, на что смотрят администраторы системы и это первый признак того, что наступила жопа

Но чаще речь идёт про какие-то типовые вещи. Например, заказчик столкнулся с низкой производительностью системы документооборота. По понедельникам и вторникам система падала, они перезагружали сервер, и потом всё поднималось. Захлёбывалась база данных. Хотели докупить оборудования (что долго и дорого), позвали нас просчитать смету. Мы им посчитали смету и заодно предложили разобраться, что же именно тормозит. За три-четыре часа локализовали источник проблемы. Выяснили, что это медленные запросы в базу данных и неоптимальные схемы индексирования. Создали недостающие индексы, поковырялись с оптимизатором запросов в Оракле, некоторые проблемы потребовали изменения кода — поменяли условия поиска (без изменения функциональности), заменили часть запросов на использование предрассчитанных представлений. Если бы у них был нормальный человек по БД — могли бы сделать то же и сами. Но вместо нормального человека был аудит базы данных раз в полгода крутыми ораклистами — они выдавали общие рекомендации по настройкам и железу.
Читать дальше →

Космики. 7 лет

Reading time5 min
Views17K
Здравствуй, Хабр!

В 2012 году я написал пост о своем увлечении — Космики: моделирование эволюции многоклеточных организмов


С того момента прошло без малого 7 лет, в течение которых я работал над развитием этого проекта. Сегодня я хочу рассказать немного о том, что научился делать, и как планирую развивать проект дальше.
Читать дальше →

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Registered
Activity