Любому программисту знакомо понятие "ссылка". Под этим термином обычно понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, физически расположенному в другом месте. Из-за этого ссылки удобно использовать, они легко копируются, и с их помощью очень просто получить доступ к объекту, на который эта ссылка ссылается и можно получить доступ к одним и тем же данным из разных мест программы.
К сожалению ссылки, точнее ручное управление памятью, является наиболее частой причиной возникновения различных ошибок и уязвимостей в программном обеспечении. А все попытки автоматического управления памятью с помощью различных менеджеров упираются в необходимость контролировать создание и удаление объектов, а так же периодически запускать сборщик мусора, что отнюдь не положительно сказывается на производительности приложений.
Тем не менее, ссылки в той или иной форме поддерживаются во всех языках программирования, хотя под этим термином часто подразумеваются не полностью эквивалентные термины. Например, под словом "ссылка" можно понимать ссылку как адрес в памяти (как в С++) и ссылку, как указатель на объект (как в Python или Java).
Хотя встречаются языки программирования, которые пытаются решать данные проблемы за счет концепции "владения" (Rust, Аргентум или NewLang). О возможном решении этих, и других имеющихся проблем со ссылками далее и пойдет речь.
Читать дальше →Казалось бы, в посгресе и так есть неплохой полнотекстовый поиск (tsvector/tsquery), и вы из коробки можете проиндексировать ваши тексты, а потом поискать по ним. Но на самом деле это не совсем то, что нужно — такой поиск работает лишь по чётким совпадениям слов. Т.е. postgres не догадается, что "кошка гонится за мышью" — это довольно близко к "котёнок охотится на грызуна". Как же победить такую проблему?
TLDR:
И вернуть себе самоуважение.
Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере Crackme из проекта OWASP MASTG.
Читать далееДвадцать шестого мая в рамках Positive Hack Days Fest 2 состоится Python Day, который мы проведем совместно с сообществом MoscowPython. Программный комитет конференции отобрал восемь докладов, анонсами которых мы хотели бы поделиться с читателями нашего блога. В этой статье мы расскажем о четырех докладах из запланированных восьми — продолжение последует позднее. Каждый анонс сопровождается комментарием участника программного комитета.
Итак, начнемПривет, Хабр!
Меня зовут Кристина Спирина, я руководитель проектов в IT.
Сегодня мы пройдем по жизненному циклу проекта, на каждом этапе поговорим о важных моментах, о факапах, с которыми мы с командой сталкивались на практике, и о том, как мы их исправляли.
В своей работе я опираюсь в основном на стандарт PMBOOK, но есть и другие альтернативные подходы к проектному управлению. В конце статьи я о них расскажу, а также дам информацию о том, с чего же начать свой путь в проектном управлении.
Читать далееHola, Amigos! Меня зовут Сергей Климович, я Mobile TeamLead агентства заказной разработки Amiga и соавтор телеграм-канала Flutter. Много. На канале мы уже рассказывали про Home Widget для Android, теперь пришло время поговорить про iOS. Я нашел отличную статью по этой теме и решил поделиться с вами переводом.
Читать далееВсем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.
В статье опишу, почему для реализации проекта мы выбрали именно Apache Druid, с какими особенностями реализации столкнулись, как сравнивали методы реализации датасорсов.
Читать далееВсем привет! Делюсь очередным выпуском нашей рубрики «Открытый микрофон», тема этого выпуска — «Как написать свою первую спецификацию на REST API».
Спикером стала Мария Яковлева. Маша — ведущий аналитик Платформы Сфера, НОТА (Т1 Консалтинг). В интернете много описаний особенностей архитектурного стиля REST, но мало информации о том, как аналитику начать создавать качественные спецификации на REST-методы. Маша поделилась своим опытом и, что особенно ценно, ошибками, допущенными в работе. А ещё Маша систематизировала их, чтобы уберечь вас от них)
Ниже предлагаю расшифровку трансляции, ссылку на сам выпуск оставлю в конце статьи.
Читать далееВ предыдущих статьях мы изучили подходы к разведке и анализу целей, а также ключевые аспекты этапа сканирования. Теперь пришло время разобраться в анализе парольных политик, ACL и DNS, найти способы бокового перемещения и провести обзор основных актуальных техник повышения привилегий.
Этот этап анализа безопасности — ключевой для оценки того, насколько эффективно корпоративная сеть защищена от различных угроз. Расскажу, из каких действий он складывается и какие инструменты нужны для их реализации.
В этой статье вас ждет база — те вещи, которые должен знать каждый начинающий пентестер, занимающийся аудитами внутренней инфраструктуры.
Читать далееЛояльность сотрудников — не просто маркер удовлетворённости работы, это фундаментальный показатель, который напрямую влияет на стабильность и успех компании. Понимание того, насколько сотрудники преданы своему делу и компании, помогает руководству формировать более эффективные стратегии в управлении персоналом, повышать продуктивность и снижать текучку кадров. Измерение лояльности позволяет выявить потенциальные проблемы в корпоративной культуре и оперативно реагировать на них, улучшая тем самым рабочую атмосферу и укрепляя корпоративный дух.
Эта статья будет особенно полезна HR-менеджерам, которые стремятся оптимизировать процессы внутри компании, руководителям отделов, желающим повысить вовлечённость и эффективность своих команд, а также бизнес-аналитикам, которые анализируют различные аспекты деятельности компании и стремятся оптимизировать её рабочие процессы. Мы рассмотрим, как правильно формировать вопросы и опросы для измерения лояльности, какие инструменты и подходы могут быть использованы для этой цели, и как правильно интерпретировать полученные данные для принятия стратегических решений.
Читать далееПрограммирование — это не только написание кода, но и способ мышления. Учиться ему лучше как можно раньше. Первые шаги в айти-сфере стоит начинать уже в младшей школе. Но это не значит, что в первом классе ребенок будет писать настоящий код. Для обучения можно использовать платформы с визуальным программированием. Здесь важнее понимание логики и закономерностей.
Читать далееВ предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникальное (возрастающее) значение каждой строке без учета связей в значениях ORDER BY, а функции RANK и DENSE_RANK присваивают одно и то же значение строкам, имеющим одинаковое значение ORDER BY. Разница между функциями RANK и DENSE_RANK заключается в том, как значения присваиваются строкам. Проще всего проиллюстрировать разницу между всеми этими функциями на простом примере:
Читать далееБез зубодробительной нудности и с пониманием мотива разберём давний вопрос, а не так, как это делает Ваша HR-служба на стадии адаптации сотрудника. Расскажу, почему это необходимо для крупного бизнеса, как их наличие помогает компаниям, а также, что нужно знать при их формировании на этапах планирования и разработки. Готовьте чай, впереди — лонгрид.
Читать далееВсем привет! Публикуем подборку лучших бесплатных OSINT-инструментов по версии T.Hunter в 2024-м году. В ней и уже знакомые сервисы и софт, сохранившие свои позиции с прошлых лет, и новые инструменты, которые будут полезны любому специалисту по OSINT.
Кроме того, в статье нашлось место и альтернативам софту, доступ к которому россиянам теперь закрыт. От старого-доброго Архивариус 3000 до Arkham Intelligence, перспективных отечественных разработок и наших собственных решений. За подробностями добро пожаловать под кат!
Читать далееНАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН И (ИЛИ) РАСПРОСТРАНЕН ИНОСТРАННЫМ АГЕНТОМ «РОСКОМСВОБОДА» ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА «РОСКОМСВОБОДА». 18+
Рассказываем вам о проектах, которые участвовали в мероприятии в этот раз.
В конце марта состоялся хакатон DemHack 8. Главная тема прошедшего хакатона — изучение цензуры. Актуальность проблемы в начале 2024 года стала особенно явной. С марта этого года в России запрещено рассказывать о способах преодоления цензуры и рекомендовать их людям. При этом блокировки самих VPN-сервисов — «о которых теперь нельзя говорить» — стали уже рядовым и довольно массовым явлением. Этот серьёзный цензурный прецедент может быть взят на вооружение властями других стран в Центральной Азии, на Кавказе, на Ближнем Востоке и даже в Европе.
Информации, которую власти скрыли от людей, становится всё больше. Это сайты СМИ, общественных, организаций, а также блоги, сообщества по интересам и отдельные страницы пользователей. По данным «Роскомсвободы», только по мотивам военной цензуры за 2022 и 2023 год в России заблокировано более 15 тысяч ресурсов, а счёт общего количества блокировок идёт на сотни тысяч.
Традиционно хакатон состоял из трёх треков: приватность, свобода интернета и исследования интернета. Некоторые задачи для участников были предложены партнёрами мероприятия, некоторые — составлены оргкомитетом.
Рассказываем вам о проектах, которые участвовали в мероприятии в этот раз, и о том, что у них получилось.
Читать далееРубрика «Кем работать в IT» — это интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажёрам она поможет больше узнать о том, что их ожидает на карьерном пути, а профессионалам — посмотреть на свою специальность через чужой опыт и, может быть, открыть для себя что-то новое.
Для этой статьи о своём опыте работы нам рассказал Андрей Носков, ведущий разработчик 1С в «Петрович-Тех».
Читать далееОдним из эффективных способов осуществления строительного надзора является использование результатов лазерного сканирования с построением 3D-моделей, что дает наиболее полную информацию о строительных объектах с привязкой к пространственным, инфраструктурным и центральным инженерным коммуникациям. Институт «Сибгипробум», активно работающий над совершенствованием мониторинга и созданием цифровых двойников, использует комбинацию технологий «Платформа nanoCAD + ReClouds» как бесшовную инженерную среду для проектирования и для работы с облаками точек. Комплексную поддержку при внедрении программных решений предоставила компания «Бюро САПР» – премьер- и фокус-партнер компании «Нанософт» по направлениям «Конструкции», «Инженерия» и «Землеустройство».
Читать далее