User
Подделка серверных запросов, эксплуатация Blind SSRF
Допустим, ты заходишь на сайт, заполняешь профиль и доходишь до пункта “загрузить аватарку”. А у тебя выбор — загрузить файл или указать ссылку.
Как рассказать об основных компонентах Android за 15 минут
Введение
В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение какой-то базовой теории, которую каждый может прочитать сам и вернуться уже с уточняющими вопросами.
Когда я попробовал сделать это первый раз, был неприятно удивлен собой. Мое "простое и понятное" объяснение превратилось в занудство, в рамках которого четко прослеживалась отчаянная попытка объять необъятное и рассказать в двух словах обо всем понемногу. Нужно ли говорить, что такой рассказ скорее не заинтересует, а напугает Вашего собеседника, попутно уменьшив желание сделать что-то свое, даже если раньше в планах был небольшой калькулятор.
Не секрет, что в Интернете размещено огромное количество статей на эту тему, но в моем случае повествование будет немного отличаться: здесь будет только наглядная практика, без определений и прочих деталей. То есть смотрим — видим — комментируем происходящее. Смотрится, на мой взгляд, все достаточно просто и наглядно, куски кода получились тоже небольшие и очень простые, готовые к быстрому использованию в собственном проекте. Мне кажется, такой подход дает достаточно широкую обзорную картину классических инструментов Android, и при написании первого приложения вместо вопросов "что мне использовать" будут более конкретные вопросы "как именно мне использовать компонент Х". А уже все подробности об этом человек сможет узнать сам — если захочет.
Безопасный способ обмена JWT в ASP.NET Core + SPA
Вступление
Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Настоящее суммирование интернет-каналов — OpenMPTCPRouter
Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.
Существуют дорогие коммерческие решения для видеотрансляций, но такие устройства стоят много килобаксов. В статье описывается настройка бесплатного, открытого пакета OpenMPTCPRouter, разбираются популярные мифы о суммировании каналов.
Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире
Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.
Про установку и использование LineageOS 16, F-Droid
Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Сенолитики – проблема или решение?
Когда сенолитики вызывают гибель сенесцентных клеток, иные (более юные) клетки обязаны реплицироваться и занимать место убитых клеток. Эта репликация клеток вызывает укорочение теломер, что может привести к образованию новых сенесцентных клеток. Как получается, что процесс уничтожения сенесцентных клеток не является саморазрушающим, если создаются новые сенесцентные клетки?
Есть несколько способов ответить на этот вопрос. Во-первых, просто взгляните на восхитительные эффекты сенолитических препаратов или генной терапии у старых мышей и мышиных моделей возрастных заболеваний. В этих экспериментах сенолитические препараты восстановили физическую активность и способность формировать новые прогениторные кровяные и иммунные клетки на уровне юных мышей, при этом предотвращая возрастную гипофункцию лёгких, жировые инфильтрации в печень, ослабление или остановку сердца, остеопороз и облысение. Также они предотвратили или вылечили мышиные модели заболеваний старения, таких как остеоартрит, фиброзных заболеваний лёгких, неалкогольной жировой болезни печени (НАЖБП), атеросклероза, рака и побочных эффектов обычной химиотерапии, а также нейродегенеративные заболевания, такие как болезни Паркинсона и Альцгеймера и многие иные! Таким образом, какой бы побочный ущерб ни происходил при убийстве сенесцентных клеток, совершенно ясно, что сенолитическое лечение приносит намного больше пользы.
Клинические исследования. Как попасть в экспериментальную группу, получить бесплатное лечение от рака и помочь науке
Россия далеко не на первом месте в мире, но первая по количеству исследований в своем макрорегионе
Любое лекарство сегодня, прежде чем попасть к пациенту, проходит длинный ряд клинических испытаний. Нужно доказать, что оно способно решать определенную проблему со здоровьем, причем делать это эффективнее и, желательно, безопаснее предшественников.
Как собеседовать работодателя?
Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жизнь и проекты?
Я хотел бы зайти в этой статье с другого конца и обсудить, во-первых, не техническую часть, а, во-вторых, вопросы, которые сам кандидат должен задать интервьюверу.
Система резервного копирования
Эта статья — часть цикла о построении NAS, и написана под конкретный вид системы.
Резервное копирование — вторая основная задача, которую я хотел решить, используя NAS, после системы управления репозиториями.
Решение её затянулось...
Про данную тему уже написана масса статей и даже несколько книг, а в спорах об этом сломано много копий.
Ниже — попытка разобраться в этой куче материала, уложить его в голове и построить небольшую систему относительно грамотно.
Инструментарий для анализа и отладки .NET приложений
Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в комментариях.
Во-первых, я должен упомянуть, что хороший отладчик уже присутствует в Visual Studio и VSCode. Также существует множество хороших (коммерческих) профилировщиков .NET и инструментов мониторинга приложений, на которые стоит взглянуть. Например, недавно я попробовал поработать с Codetrack и был впечатлён его возможностями.
Однако оставшийся пост посвящён инструментам для выполнения отдельных задач, которые позволят лучше понять, что происходит. Все инструменты имеют открытый исходный код.
Мониторинг .NET приложений
.NET – управляемая среда выполнения. Это означает, что в ней представлены высокоуровневые функции, которые управляют вашей программой за вас (из Introduction to the Common Language Runtime (CLR), 2007 г.):
Среда выполнения предусматривает множество функций, поэтому их удобно разделить по следующим категориям:
- Основные функции, которые влияют на устройство других. К ним относятся:
- сборка мусора;
- обеспечение безопасности доступа к памяти и безопасности системы типов;
- высокоуровневая поддержка языков программирования.
- Дополнительные функции– работают на базе основных. Многие полезные программы обходятся без них. К таким функциям относятся:
- изолирование приложений с помощью AppDomains;
- защита приложений и изолирование в песочнице.
- Другие функции – нужны всем средам выполнения, но при этом они не используют основные функции CLR. Такие функции отражают стремление создать полноценную среду программирования. К ним относятся:
- управление версиями;
- отладка/профилирование;
- обеспечение взаимодействия.
Видно, что хотя отладка и профилирование не являются основными или дополнительными функциями, они находятся в списке из-за ‘стремления создать полноценную среду программирования’.
X.Spectator – мониторинг состояния в .NET
На сегодняшний день, большинство информационных систем представляют из себя комплексные решения с достаточно сложной архитектурой и большим количеством взаимных зависимостей. При работе подобных систем, в момент пиковых нагрузок часть модулей может отказать, или работать некорректно. В этом случае система перестает быть стабильной и может перестать корректно обрабатывать все входящие запросы. Для обеспечения стабильной работы системы, могут быть реализованы различные стратегии.
О столе для работы стоя, здоровье позвоночника и личной эффективности
С недавних пор я снова перешёл на 100% работу из дома и стал использовать стол для работы стоя. Хочу поделиться дампом своего опыта на тему здоровья, призвать закончить прокрастинировать и начать работать стоя.
Сначала, о том, почему стол для работы стоя — не панацея...
Конечно, дали власть и очередь из пулемета. Рак и прочее…опыт с медициной
Увы, мы все смертны, даже программисты. Когда ставят диагноз — не знаешь куда бежать. Попробую описать свой опыт… Мне поставили страшненький диагноз в том году. Что дальше делать никто не сказал…
Создаю глобальную базу знаний по элементам питания
На данный момент протестированы более 230 аккумуляторов и батареек. Сделано более 1000 тестов. Израсходовано 4 ящика батареек и несколько месяцев жизни.
Результатом проделанной работы стала база знаний по аккумуляторам и батарейкам. Под катом рассказываю почему я решил создать базу знаний и как это было сделано.
Лучшие дистрибутивы Linux для старых компьютеров
Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.
Вкратце: пока не бросайте свой старый компьютер — используйте легкий дистрибутив Linux, чтобы возродить его!
Что вы делаете со своим старым компьютером? Тот, который когда-то имел хорошую аппаратную конфигурацию, но теперь считается устаревшим. Почему бы не восстановить его вместе с Linux? Я собираюсь перечислить лучшие легкие дистрибутивы Linux, которые вы можете использовать на своем старом ПК.
Лучшие легкие дистрибутивы Linux для старых ноутбуков и десктопов
Я постараюсь упорядочить список в порядке убывания требований к оборудованию. Это означает, что легкому дистрибутиву Linux, занимающему первое место, потребуется минимальное аппаратное обеспечение.
10. Peppermint
Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной работы.
Шпаргалки по безопасности: REST
REST — чрезвычайно популярная архитектура веб-приложений. Для вызова функций на сервере используются обычные HTTP-запросы с задаваемыми параметрами (для структуризации параметров обычно используют JSON или XML), при этом, строгого стандарта для REST-архитектуры не существует, что добавляет ей гибкости (и, конечно, немного хаоса).
Взаимодействие сайта в браузере и локально запущенной программы
Иногда возникает необходимость передать данные между работающим в браузере приложением и программой, выполняющейся на той же системе, на которой запущен браузер. Это может понадобиться, например, если нам нужно поработать с оборудованием, подключенным локально. Считывателем смарт-карт, аппаратным ключом шифрования и так далее.
Картинка отсюда
Первыми приходят в голову три способа решить эту задачу:
- Обойтись средствами браузеров, или написать плагины к ним
- Организовать обмен данными через backend, выступающий в роли посредника
- Добавить в программу HTTP-сервис, и обращаться к ней напрямую из браузера
Третий пункт выглядит хорошо, позволяет убрать авторизацию в программе, не требует вообще никакого пользовательского интерфейса. Попробуем его реализовать, написав программу на C# под .NET Framework 4. Так как речь пойдет о .NET, решение будет только для Windows (XP и новее). Веб-приложение сделаем на angular.
Information
- Rating
- Does not participate
- Registered
- Activity