Search
Write a publication
Pull to refresh
13
0

Frontend (JS, Vue)

Send message

Localhost-атака: как Meta* и Яндекс следят за пользователями Android через localhost

Level of difficultyMedium
Reading time14 min
Views54K

Мы раскрыли новый метод отслеживания, используемый компаниями Meta* и Яндекс, который потенциально затрагивает миллиарды пользователей Android. Мы обнаружили, что нативные приложения Android — включая Facebook, Instagram и несколько приложений Яндекса, таких как Карты и Браузер — незаметно слушают определенные локальные порты в целях отслеживания.

Эти нативные приложения Android получают метаданные браузеров, куки и команды от скриптов Meta* Pixel и Яндекс.Метрики, встроенных на тысячи веб-сайтов. Эти скрипты загружаются в мобильных браузерах пользователей и незаметно связываются с нативными приложениями, работающими на том же устройстве, через локальные сокеты (localhost). Так как нативные приложения программно получают доступ к идентификаторам устройства, таким как рекламный идентификатор Android (AAID), или обрабатывают идентификацию пользователя, как в случае приложений Meta, этот метод позволяет этим организациям связывать сессии мобильного браузера и веб-куки с личностью пользователя, тем самым деанонимизируя посетителей сайтов, на которых размещены их скрипты.

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

Читать далее

От инженеров до барыг, или откуда растут переработки и прочая корпоративная шиза. Часть 2

Level of difficultyEasy
Reading time46 min
Views79K

Почему в современном менеджменте столько глупости? Почему руководители принимают идиотские решения, верят в переработки, садистское отношение к сотрудникам и не умеют думать на 2 шага вперёд?

В прошлый раз мы разобрали, какие различные исторические явления, религия и рабовладение обеспечили массовое распространение корпоративной шизы.

В этот раз рассмотрим, как создающие системы инженеры сменились на сиюминутных барыг.

Разобрать механизм появления барыг

Игры старше 20 лет, которые все еще живы

Reading time10 min
Views90K

Привет, Хабр! Я время от времени пишу об играх и заметил очевидный факт, о котором не могу молчать. Пока мировые гиганты геймдева тратят сотни миллионов долларов на ААА- и АААА-проекты, геймеры продолжают развлекаться в играх, вышедших более 20 лет назад. Я больше скажу: многие из этих игр не только до сих пор продаются, но и удерживают тысячи игроков в онлайне прямо сейчас.

В этой статье я предлагаю взглянуть на пять невероятно живучих проектов, о которых вы точно слышали, если вам больше 30. Под катом — истории о том, как пользовательский мод для «халвы» вырос в легендарную «контру», а Half-Life стала культурным феноменом, как разработчики DOOM заставили нас верить в то, что мы играем в 3D-шутер, как фанаты сделали GTA San Andreas бессмертной и за что так полюбился Quake III Arena.
Читать дальше →

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так?

Level of difficultyEasy
Reading time15 min
Views55K

Привет, Хабр!

Рад поделиться с уважаемым сообществом своей любовью к популярной науке, в первую очередь, к космологии. Эта статья открывает небольшую серию, основанную на моём курсе лекций, который я читаю школьникам в летней школе Химера.
И который до сих пор был кипой листов А4, исписанных от руки буквально в лесу под деревом.

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

Читать далее

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views51K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее

Прекратите клепать базы данных

Reading time15 min
Views64K

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

Эти фичи явственно смахивают на внутренние механизмы баз данных. Действительно, в любом достаточно сложном клиентском приложении программисту непременно придётся реализовывать такое множество фич для управления данными, что эта работа будет напоминать построение предметно-ориентированной базы данных. Такая дополнительная сложность удваивается в каждом проекте, над которым мы работаем, поэтому приходится тратить время на решение бизнес-проблем, а радовать пользователя – уже как успеем.

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

Читать далее

18 самых больших неразгаданных тайн в физике

Level of difficultyEasy
Reading time14 min
Views108K

В 1900 году британский физик Лорд Кельвин, как говорят, заявил: "В физике больше нет ничего нового для открытия. Все, что остается, - это все более точные измерения". В течение трех десятилетий квантовая механика и теория относительности Эйнштейна революционизировали эту область. Сегодня ни один физик не осмелился бы утверждать, что наши физические знания о Вселенной близки к завершению. Напротив, каждое новое открытие, кажется, открывает ящик Пандоры еще более глубоких вопросов в физике. Ниже представлена выборка наиболее глубоких открытых вопросов.

Читать далее

Linux для игр, Windows для работы. С чего начать, как установить и настроить

Level of difficultyEasy
Reading time12 min
Views106K

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

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

Читать далее

Возвращаем 2007 год, или делаем Интернет без блокировок

Level of difficultyMedium
Reading time5 min
Views71K

Как известно, в 2007 году кроме того, что деревья были выше, а трава зеленей, еще и в Интернете не было особых ограничений - можно было открыть почти любой сайт и наслаждаться им. До ковровых блокировок Telegram оставалось ещё 10 лет... К сожалению, в наше время такой возможности уже нет. Причины тут всем известны, в частности, некоторые компании уже не предоставляют своих услуг в России.

Хорошо, что существует возможность в рамках домашней сети восстановить свободный Интернет таким, каким он был в 2007-м. Именно этим мы и займемся. Стоит отметить, что в 2007 году довольно часто можно было встретить подключения на скорости 64-128 Кб/с, а то и вовсе dial-up; Wi-Fi был редкостью, а мобильная связь - довольно дорогим удовольствием. Однако, эти особенности того времени мы постараемся не воспроизводить.

Представляю вашему вниманию Freeroute - простой маршрутизатор, который позволяет направлять трафик на разные шлюзы в зависимости от домена назначения. Free в названии, как водится, означает свободный, а не бесплатный.

Читать далее

Дайте крудошлепа

Level of difficultyMedium
Reading time7 min
Views117K

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym → Logined → Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

Это было вступление.

Уважаемый Яндекс, Сбер и прочая! Я умею быстро решать задачи и кратно увеличивать выхлоп простыми решениями. Я самый умный программист, среди всех ваших работников! Я — НадНадсеньор! Сейчас докажу.

Потому что, только я могу решить задачку, которую вы уже 10 лет решить не можете, когда прилетает пуш‑уведомление или смс и в твоем всплывающем окне написано:

«Ваш шестизначный пароль доступа в наше приложение: 123...»

Не согласен! ...

Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны

Reading time7 min
Views76K

Почему ИТ специалисты на самом деле не любят выполнять тестовые задания? Почему меньше откликов на вакансии без указания зарплаты? Простые ответы на сложные вопросы.

Читать далее

Chuwi RZBox: обзор мощного мини-компьютера на процессоре AMD Ryzen 9 4900H

Reading time16 min
Views13K

Компьютер Chuwi RZBOX представили еще в конце прошлого года и на фоне своих конкурентов он выглядел действительно топовой моделью. Мощнейший 8 ядерный процессор Ryzen 9 4900H с интегрированной графикой Radeon казались идеальным решением для домашнего компьютера. RZBOX очень заинтересовал и я решил приобрести его для себя, протестировать и написать обзор. 

Читать далее

Интерактивный учебник для подготовки к алгоритмической секции собеседования

Reading time2 min
Views7.7K

Собеседования в крупные IT-компании почти всегда содержат алгоритмическую секцию — даже если вы собеседуетесь на позицию, в работе на которой алгоритмы возникать вряд ли будут. Ниже мы приводим пример задачи, с которой вы можете столкнуться на вашем следующем интервью. Мы расскажем, как эта задача решается, но мы настоятельно рекомендуем вам читать решение только после того, как вы попробуете решить задачу самостоятельно: во-первых, это отличная тренировка; во-вторых, вы лучше запомните решение, если придумаете его сами (не отказывайте себе в этом удовольствии!); в-третьих, даже если вы подумаете над задачей, но не решите её, время не будет потеряно: прочитав потом решение, вы лучше его поймёте и оцените его красоту.

Итак, вот сама задача

Сегментарный анализ на примере RFM-анализа средствами Power BI

Reading time12 min
Views10K

Существует большое разнообразие методов сегментарного анализа в маркетинге. Во-первых, сегментация — это стратегия, используемая для концентрации ресурсов на целевом рынке/объекте и оптимизации их использования. Во-вторых, сегментация — это алгоритм анализа рынка для лучшего учёта его особенностей.

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

Рассмотрим частотно-монетарный метод сегментации применительно к e-commerce сфере. Частотно-монетарный анализ (RFM анализ) - анализ, в основе которого лежат поведенческие факторы групп или сегментов клиентов, позволяющий сегментировать клиентов по частоте и сумме покупок и выявлять тех, которые приносят больше денег. Данный метод позволяет получить ценные инсайты по построению маркетинговых стратегий в компании.​ Также RFM-сегментация помогает применять особый комуникативный подход к каждой группе клиентов.

RFM-анализ частично перекликается с принципом Парето, полагающим, что 80% результатов происходят благодаря 20% усилий. Если данный принцип рассматривать в общем ключе маркетинга - 80% всех ваших продаж исходят от 20% наиболее лояльных и постоянных клиентов. Постоянные клиенты всегда буду иметь высокое влияние на выручку, а значит – возвращаемость этих клиентов крайне важна для показателей дохода.

Читать далее

Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop

Reading time4 min
Views24K

Эта история началась весной 2021 года.

Страдал от того, как медленно запускается Docker Desktop.

Страдал от того, сколько он ест оперативной памяти.

Страдал от того, что постоянно что-то ломалось при обновлениях.

Страдал от того, что на Windows Server надо устанавливать Docker через какой-то особенный механизм, не работающий через proxy и не работающий на Windows Server 2016. Причём в связи с тем, что Docker Inc. передала enterprise-сервис компании Mirantis, этот способ через какое-то время вообще перестанет работать. В результате вы получаете Docker, собранный из непонятно каких исходников. Всё, что про них известно — они точно не такие, как в Docker Desktop. Вообще, для инструмента, задача которого — просто скачать один единственный пакет и установить его, в трекере задач этого проекта на удивление много багов.

Страдал от того, что Docker Desktop прекратил поддержку Windows 10 LTSC 2019, которая продолжает поддерживаться Microsoft вплоть до 2024 года (а расширенная поддержка — аж до 2029).

И я спросил себя: а почему, за что, как так? Есть ли какая-то такая фундаментальная причина, по которой софт, решающий эту задачу, обязан доставлять столько неудобств? И не нашёл её. 

А потому подошел к проблеме по принципу: если тебя что-то не устраивает, сделай это лучше.

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

Я много работал с Docker-контейнерами под Windows и страдал.

Читать далее

Библиотека PHP для поиска видео по скриншоту

Reading time3 min
Views5.3K

Перед всеми нами ежедневно встаёт задача поиска информации. Требуется найти текст, изображения, аудио или видео информацию. Чаще всего для поискового запроса используется текст. Реже - изображения. Есть сервисы вроде "Shazam", которые ищут музыку используя запись звука. Мы сосредоточились на создании поискового сервиса, который осуществляет поиск видео. В качестве параметров для запроса мы используем изображения.

Сейчас мы предлагаем пользователям установить поисковую форму на своём сайте для чего воспользоваться небольшой PHP библиотекой про которую и поговорим.

Читать далее

Как очистить глобальные слушатели событий, интервалы и сторонние библиотеки в Vue-компонентах

Reading time5 min
Views4.5K

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

Читать далее

Таиланд. Пхукет. Документы, банки. 2022

Reading time4 min
Views46K

Данная статься - практическое описание того через что нужно будет пройти если вынуждено или не вынуждено остаться на острове. Информация только про Пхукет, в остальных провинциях могут отличаться какие-то нюансы.

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

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

Читать далее

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа

Reading time25 min
Views34K



Привет, друзья!


В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа.


Функционал нашего приложения будет следующим:


  • при первом запуске приложение предлагает пользователю ввести свое имя;
  • имя пользователя и его идентификатор записываются в локальное хранилище;
  • при повторном запуске приложения имя и идентификатор пользователя извлекаются из локального хранилища (имитация системы аутентификации/авторизации);
  • выполняется подключение к серверу через веб-сокеты и вход в комнату main_room (при желании можно легко реализовать возможность выбора или создания других комнат);
  • пользователи обмениваются сообщениями в реальном времени;
  • типом сообщения может быть текст, аудио, видео или изображение;
  • передаваемые файлы сохраняются на сервере;
  • путь к сохраненному на сервере файлу добавляется в сообщение;
  • сообщение записывается в базу данных;
  • пользователи могут записывать аудио и видеосообщения;
  • после прикрепления файла и записи аудио или видео сообщения, отображается превью созданного контента;
  • пользователи могут добавлять в текст сообщения эмодзи;
  • текстовые сообщения могут озвучиваться;
  • и т.д.

Репозиторий с исходным кодом проекта.


Если вам это интересно, прошу под кат.

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

Oracle, Docker, AWS: альтернативы сервисам для разработчиков, которые уже заблокировали в России или скоро заблокируют

Reading time4 min
Views28K

С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Microsoft, Oracle, Amazon и другие крупные компании. Рассказываем, какие существуют альтернативы уже заблокированным сервисам и что делать, если заблокируют до сих пор доступные. Этот материал постоянно обновляется.

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

Еще один важный момент: почти все ПО в списке заблокировано добровольно,  — то есть со стороны издателя, а не со стороны российских контролирующих органов.

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Frontend Developer
JavaScript
HTML
CSS
Adaptive layout
Crossbrowser layout
BEM
Vue.js
Webpack
SCSS
Web development