All streams
Search
Write a publication
Pull to refresh
144
0
Mikhail @host_m

Хостинг серверов

Send message

Промокоды, случайно оставленные в исходном коде веб-сайта

Reading time5 min
Views22K

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

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

Мы исследуем сайт сети крытых аквапарков Great Wolf Lodge, однако должен сообщить, что веб-сайты довольно часто раскрывают свою внутреннюю информацию в плохом коде.

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

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

Reading time6 min
Views16K
В начале июня Министерство юстиции США объявила об аресте 55-летней латвийской женщины, обвиняющейся в том, что она была программистом Trickbot — платформы «malware-as-a-service» для инфицирования миллионов компьютеров и установки на многие из этих систем ransomware.

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


Личный веб-сайт Аллы Витте allawitte[.]nl, примерно октябрь 2018 года.
Читать дальше →

Движок рейкастинга внутри Factorio

Reading time6 min
Views14K
Пользователь Twitter ArrowGMaximus разработал систему под названием Facto-RayO — движок рейкастинга, работающий в ванильной версии Factorio. Управлять игрой можно, нажимая с зажатым Ctrl на сундуки по краям экрана и доставая из них предметы. Движок не позволяет поднимать и опускать взгляд, и очень похож этим на первые 3D-игры наподобие Wolfenstein 3D. Игру типа Doom на этом движке воссоздать невозможно из-за того, что все объекты должны иметь одинаковую высоту.


Несмотря на ограничения движка, он имеет множество функций. Например, можно менять горизонтальный угол обзора (FOV), вплоть до 360° (разумеется, изображение при таком FOV будет сильно искажённым).
Читать дальше →

Перерасти ПО: код — это современное электричество

Reading time5 min
Views6.6K
image

Десять лет назад Марк Андриссен написал для Wall Street Journal статью под названием "Софт пожирает мир", в которой говорит о фундаментальном сдвиге роли, которую ПО играет в экономике. В прошлом IBM, Oracle или Microsoft продавали технологии другим компаниям как инструмент. Они продавали компьютеры и ПО GE, P&G и Citibank. Теперь есть поколение компаний, которые и создают ПО, и самостоятельно используют его, чтобы войти на рынок другой отрасли, а часто и изменить его. Uber и Airbnb не продают ПО компаниям, владеющим такси или отелями, Instacart не продаёт ПО компаниям, занимающимся продуктами питания, а Transferwise не продаёт ПО банкам.

Полезно будет сравнить это с электричеством или автомобилями. Walmart был построен на основе грузовых перевозок и шоссе (и компьютеров), но Walmart — это ретейлер, а не компания грузоперевозок: она использовала грузовики, чтобы изменить мир розничных продаж. Теперь люди делают то же самое с ПО.
Читать дальше →

Android: 12 лет истории дизайна ОС

Reading time6 min
Views34K
Android установлен примерно на 2,5 миллиардах активных устройств. С чего он начинался? Давайте проверим и разберёмся. Мы протестируем все версии Android, с 1.0 по 9.0, и посмотрим, как менялась система.

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

Процесс — это не продукт: антиманифест методологии разработки ПО

Reading time3 min
Views6.2K

TLDR:

Антиманифест методологии разработки ПО

— Процесс — это не продукт

— Руководство, а не менеджмент

— Диалог, а не диктат


Вот и всё, остальное вы можете додумать сами, но если хотите, продолжайте чтение.
Читать дальше →

22 полезных примера кода на Python

Reading time5 min
Views804K

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

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

DIV должен уйти: улучшаем HTML

Reading time4 min
Views22K

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

Тег div во многом напоминает такие комнаты. Он является чистым листом. Он подходит для любого потока, позволяет управлять своими функциями, и может становиться всем, что мы пожелаем. Целые веб-сайты могут создаваться (и создаются) почти исключительно на одних div. Загуглите «single div designs», и вы найдёте бесчисленное множество дизайнеров, демонстрирующих свои навыки владения CSS, превращая один div в любую форму, которая им понадобится.

Иногда это вселяет трепет, но этой статье я хочу сказать, что нам следует двигаться дальше, к миру без div с именами классов или ID. В мир уникальных элементов HTML. Семантического HTML. Нам нужно сосредоточиться на основах.

История компании Silicon Graphics

Reading time8 min
Views12K
image

Вероятно, вы слышали о компании SiliconGraphics, позже сменившей название на Silicon Graphics, Inc, а потом просто на SGI, однако из домашних пользователей её продукцией не пользовался никто, кроме самых ярых фанатов. Так получилось, потому что SGI специализировалась на производстве высокопроизводительных рабочих станций, проектировании ПО и создании суперкомпьютеров для компаний, профессионально занимающихся 3D-графикой.

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

Наследие Silicon Graphics можно увидеть в Nintendo 64, в разработке которой компания принимала участие, а также во множестве голливудских фильмов, в том числе «Парк юрского периода», «Смерч», «Конго», «История игрушек» и многих других, но давайте не будем забегать вперёд…

Кража закрытых видео YouTube по одному кадру

Reading time5 min
Views36K

В декабре 2019 года, спустя несколько месяцев после того, как я занялся хакингом по программе Google VRP, я обратил внимание на YouTube. Мне хотелось найти способ получать доступ к закрытым (Private) видео, которыми я не владею.

При загрузке видео на YouTube можно выбрать один из трёх параметров доступа. «Открытый» (Public) позволяет находить и просматривать видео любым пользователям, «Доступ по ссылке» (Unlisted) позволяет просматривать видео только пользователям, знающим ID видео (URL), «Ограниченный доступ» (Private) позволяет просматривать видео только вам или другим аккаунтам, которым дано на это разрешение.

Первым делом я загрузил видео на свой второй тестовый канал аккаунта YouTube и переключил параметры доступа видео на Private, чтобы его можно было использовать для тестирования. (Помните, что тестирование всегда нужно проводить на тех ресурсах/аккаунтах, которыми вы владеете!) Если я смогу найти способ получить доступ к видео с первого тестового аккаунта, то мы выявим наличие бага.

Я открыл YouTube под первым аккаунтом, проверил каждую функцию и нажал на каждую кнопку, которую смог найти. Каждый раз, когда я видел HTTP-запрос с указанием ID видео, я заменял его на тестовое видео с доступом Private, надеясь, что так утечёт какая-нибудь информация о нём, но успеха не добился. Похоже, что основной веб-сайт YouTube (по крайней мере, все его конечные точки, которые я протестировал) всегда проверяет, находится ли видео в состоянии Private, и когда пытается выполнить запрос к целевому закрытому видео, он всегда возвращает ошибки наподобие This video is private!.

Мне нужно найти другой способ.

Культура разработки ПО слишком позитивна, это может нам вредить

Reading time4 min
Views18K
image

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

Выгорание


Разве не странно, что множество молодых людей ощущает себя выгоревшим всего спустя несколько лет работы? Я часто встречаю людей, испытавших срыв всего спустя один-два года. Я и сам испытал выгорание (даже дважды). В первый раз мне пришлось взять перерыв на полгода. Во второй раз, который произошёл совсем недавно, мне потребовался целый год, прежде чем я смог вернуться к программированию.

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

Как культура жителей города влияет на дизайн карт метро: Нью-Йорк

Reading time7 min
Views15K
Что бы вы порекомендовали тому, кто впервые приезжает в Нью-Йорк? Посетить Центральный парк? Посмотреть шоу на Бродвее? Увидеть Статую Свободы?

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

Когда я переехала в Нью-Йорк, то почти сразу познакомилась с самой знаковой достопримечательностью города: крупнейшей транспортной системой в мире — Нью-Йоркским метрополитеном. Я узнала, на какие поезда нужно садиться, в какие места можно уехать с каких остановок и, что самое важное, куда меня выведет выход с каждой из станций.

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


Самая новая карта Нью-Йоркского метрополитена
Читать дальше →

Ошибку Rockstar может совершить каждый (и я тоже)

Reading time4 min
Views28K

Несколько месяцев назад в новостях всплыла потрясающая статья [переводы на Хабре: один и второй] о Grand Theft Auto Online.

Советую прочитать статью целиком, но если вкратце, GTA Online имела внезапно квадратичную производительность при парсинге большого JSON-блоба (из-за многократных вызовов strlen); после устранения этой ошибки время загрузки уменьшилось почти на 70%.

Это вызвало оживлённые дискуссии: в этом виноват C? Или, возможно, "web shit"? Или капитализм и его стимулы?

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

(Вы уже чувствуете, что надвигается?)
Читать дальше →

Чему я научился, проработав два года разработчиком ПО в Microsoft

Reading time6 min
Views15K

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

Я пришёл в Microsoft сразу после учёбы в колледже, Indian Institute of Technology Guwahati, и эта работа стала моим первым опытом. Со временем я очень сильно вырос и получил множество новых уроков. В этой статье я постараюсь структурировать свои мысли о них.

Итак, вот пять вещей, которым я научился.

1. Исследования, исследования и снова исследования


«Общепринятые сегодня факты являются результатами вчерашних исследований», — Дункан Макдональд

Когда я говорю «исследования», то подразумеваю два значения:

Проведение исследований для выявления первопричины проблемы.

Я почти сразу понял: очень легко выработать привычку не вдаваться в подробности проблемы и не понимать её истинные причины. А если вы не знаете конкретной причины существования проблемы, это почти всегда сказывается, когда вы уже почти решите задачу. «Почти» — очень важное здесь слово.

Проведение исследований для нахождения самого эффективного решения текущей задачи.
Читать дальше →

Выкладка нетрадиционной ориентации

Reading time4 min
Views10K


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

Невероятное демо и немного о Sun Microsystems

Reading time7 min
Views7.3K
Это история о самом невероятном демо, которое я видел в мире open source. Такого просто невозможно придумать.

В 2005 году я находился в гуще событий. Я работал независимым консультантом по производительности, а Sun Microsystems только что выпустила DTrace — продукт, способный инструментировать любое ПО. Он давал аналитикам производительности функцию «рентгеновского зрения». Занимаясь написанием и публикацией расширенных инструментов исследования производительности на основе DTrace (моего опенсорсного DTraceToolkit и других инструментов DTrace, то есть скриптов), я заметил нечто странное: я публиковал больше инструментов DTrace, чем выпускала сама Sun. Вероятно, есть какой-то внутренний проект, в котором заняты все люди, хорошо знающие DTrace?


Инструменты DTraceToolkit v0.96 (2006 год)

Так как я не был сотрудником Sun Microsystems, меня не посвящали во внутренние проекты компании. Однако я занимался обучением и консультированием для Sun, помогая клиентам компании с администрированием и производительностью систем. Иногда Sun приглашала меня на свои совещания с клиентами и другие мероприятия, которые были бы мне интересны как местному специалисту. Тогда я жил в Сиднее (Австралия).

Однажды мне сказали, что из США приезжает очень важный человек, с которым мне интересно было бы встретиться. Не помню имени, но мне сказали, что это специалист по DTrace и разработчик из Sun, который летает по миру и рассказывает о новом продукте Sun на основе DTrace. Ага! Наверно, тот самый внутренний проект!
Читать дальше →

Appwrite, open-source бэкэнд-платформа

Reading time4 min
Views10K


В последние пару лет намечается тенденция на упрощение работы с бэкэндом, появляется всё больше low- и no-code обёрток для тех, кто хочет сэкономить на стоимости разработки. Экосистемы AWS и GCP задают стандарты в этой области, и все новые проекты стараются копировать их фичи. Проблема в том, что многие молодые проекты предлагают свою панельку с доступом к базе, cloud functions и базовой аналитикой, а потом продают её на сервисной основе. Идея так себе, потому что имея функционал, такой же как у гигантов, они, не имея такого же кредита доверия, пытаются сразу заработать на клиентах. Гораздо больше шансов на успех у тех, кто ведёт полную разработку в open-source, поощряет self-hosting и не пытается сходу монетизировать свой проект, взимая деньги только за использование в облаке. Пример такого подхода — Appwrite, и благодаря ему они всего за два года обзавелись большим комьюнити и поддержкой, не успев полностью выпустить продукт и не начав зарабатывать на нём.
Читать дальше →

Протекающие абстракции и код, оставшийся со времён Windows 98

Reading time6 min
Views31K

В конце 1990-х команды разработчиков Windows Shell и Internet Explorer внедрили множество потрясающих и сложных структур, позволяющих использовать расширение оболочки и браузера для обработки сценариев, создаваемых третьими сторонами. Например, Internet Explorer поддерживал концепцию подключаемых протоколов ("Что если какой-то протокол, допустим, FTPS станет таким же важным, как и HTTP?"), а Windows Shell обеспечивала чрезвычайно гибкое множество абстрактного использования пространств имён, что позволяло третьим сторонам создавать просматриваемые «папки», в основе которых не лежит файловая система — от WebDAV ("ваш HTTP-сервер — это папка") до папок CAB ("ваш архив CAB — это папка"). Работая в 2004 году проект-менеджером в команде по созданию клипарта, я создал приложение .NET для просмотра клипарта прямо из веб-сервисов Office, и набросал черновик расширения Windows Shell, благодаря которому бы казалось, что огромный веб-архив клипарта Microsoft был установлен в локальной папке системы пользователя.

Вероятно, самым популярным (или печально известным) примером расширения пространства имён оболочки является расширение Compressed Folders, обрабатывающее просмотр файлов ZIP. Compressed Folders, впервые появившиеся в составе Windows 98 Plus Pack, а позже и в Windows Me+, позволяли миллиардам пользователей Windows взаимодействовать с файлами ZIP без скачивания стороннего ПО. Вероятно, это может вас удивить, но эта функция была куплена у третьих лиц — Microsoft приобрела интеграцию для Explorer, представлявшую собой побочный проект Дэйва Пламмера, а лежащий в её основе движок DynaZIP разработала компания InnerMedia.

К сожалению, этот код уже давно не обновляли. Очень давно.
Читать дальше →

Почему каждому разработчику сначала стоит изучить теории Computer Science

Reading time4 min
Views24K
image

Любой может научиться кодить. Теории computer science научат вас, как программировать.

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

Разработчики обычно изучают теории computer science в своих университетах. Основы computer science состоят из таких тем, как структуры данных, алгоритмы, принципы работы сетей, дискретная математика, искусственный интеллект, компьютерная графика, шаблоны проектирования и человеко-машинное взаимодействие. Как говорилось выше, не каждый разработчик проходит через университет, и такие люди сразу переходят к программированию, не затрагивая основ computer science. Иногда такие разработчики изучают основы computer science на своей первой работе.
Читать дальше →

27 лет жизни серии Elder Scrolls

Reading time11 min
Views24K

Прошёл почти десяток лет и сменилось два поколения консолей со времени выхода в 2011 году игры Skyrim. С тех пор Bethesda занималась другими франшизами: мы увидели две новые игры Fallout, а сейчас студия работает над совершенно новым научно-фантастическим проектом Starfield.

Что касается серии The Elder Scrolls, то пока у нас есть только трейлер, состоящий из слов «The Elder Scrolls VI» и аккомпанемента музыкальной темы игры. Тодд Говард чётко дал понять, что следующая Elder Scrolls выйдет нескоро, уже после Starfield. Однако недавняя покупка студии компанией Microsoft вызвала вопросы относительно планов Bethesda. Превратятся ли франшизы Bethesda в эксклюзивы для Xbox и PC? Планирует ли Microsoft выпустить Elder Scrolls VI раньше?

Пока у нас нет ответов. Но поскольку франшизе исполнилось 27 лет, настал подходящий момент узнать, с чего всё начиналось. Нет, «Skyrim 2», вероятно, в ближайшее время не планируется. Но за четвертьвековую историю Elder Scrolls у неё было много интересных и любимых фанатами моментов. Давайте узнаем о них!

Information

Rating
Does not participate
Location
Meppel, Drenthe, Нидерланды
Registered
Activity