Search
Write a publication
Pull to refresh
170
4

java / open source

Send message

Обфускация как метод защиты программного обеспечения

Reading time4 min
Views57K

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

Читать далее

Пишем простой Path Tracer на старом добром GLSL

Reading time18 min
Views19K

На волне ажиотажа вокруг новых карточек от Nvidia с поддержкой RTX, я, сканируя хабр в поисках интересных статей, с удивлением обнаружил, что такая тема, как трассировка путей, здесь практически не освящена. "Так дело не пойдет" - сказал я и решил, что неплохо бы запилить что-нибудь небольшое из этой темы, да и так, чтобы другим полезно было. Тут как кстати API собственного движка нужно было протестировать, поэтому решил - запилю-ка я свой простенький path-tracer прямо во фрагментном шейдере. Что из этого вышло, думаю вы уже догадались по превью к этой статье

Читать далее

Почему у CockroachDB меняют Open Source-лицензию

Reading time6 min
Views10K
Прим. перев.: Гибкость и свободы, предлагаемые Open Source-лицензиями, позволили современным поставщикам крупных SaaS-решений поставить под большой вопрос успешность бизнеса у небольших компаний, стоящих за разработкой востребованных Open Source-проектов. В этой заметке от авторов CockroachDB — распределённой и отказоустойчивой РСУБД — в полной мере раскрывается суть проблемы и возможный путь её решения.



CockroachDB задумывалась как программное обеспечение с открытым кодом. В те годы, что прошли с момента появления проекта на GitHub (впервые код был опубликован в феврале 2014 года — прим. перев.), мы придерживались относительно типичного пути развития, балансируя между философией открытого исходного кода и созданием жизнеспособного бизнеса. Основной код выходил под лицензией Apache License 2 (APL), был запущен управляемый сервис, часть дополнений для компаний выпускалась под enterprise-лицензией.

Но наши прошлые представления о верной бизнес-модели основывались на ключевой норме OSS-мира: можно строить бизнес вокруг мощного Open Source-продукта, не предполагая, что придет более крупная технологическая компания, предлагающая тот же продукт как услугу. Эта норма больше не действует.
Читать дальше →

Проблема: возраст, опыт и трудоустройство

Reading time1 min
Views19K
image
В.Е. Маковский Старички (Чаепитие)
Когда-то рекомендовал своего 47-летнего друга программиста другому более молодому знакомому, работавшему мелким начальником в одной успешной фирме.
Читать дальше →

Советы руководителю на удаленке

Reading time3 min
Views4.4K
Мы и весь мир работаем на удаленке. Кто-то до сих пор лишь пытается это делать, веря, что совсем скоро мы все вернемся в офисы. Другие освоили нужные техники и извлекают выгоду из удаленной работы. В этой статье я собрал несколько советов для руководителей, которые управляют работой разработчиков, тестировщиков и других специалистов, связанных с IT. Коротко и по делу.

#1 Доверяйте своим сотрудникам


Многие руководители привыкли к офисному формату, когда они в любой момент могут дойти до сотрудника ногами и выяснить, «чем это он там занимается». У некоторых даже развиваются мысли, что если не приглядывать за сотрудниками, то они сразу перестают работать, целый день сидят в интернете или играют в игры. Менеджеры, вы серьезно?
Если кто-то хочет играть или сидеть в интернете, он вполне может делать это и на своем рабочем месте в офисе.

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

elasticsearch-extractor — утилита для извлечения индексов из снапшотов Elasticsearch

Reading time3 min
Views4.4K
Рады представить наш новый Open Source-проект — elasticsearch-extractor. Это простой веб-интерфейс, решающий единственную задачу: извлечение заданного индекса из снапшота Elasticsearch. Почему такой проект вообще появился?

Зачем


Представьте, что у вас есть большое количество однотипных инсталляций Elasticsearch в Kubernetes, где хранятся и анализируются многочисленные логи от приложений и инфраструктуры. Схема довольно обычная:
Читать дальше →

PostgreSQL 14: Часть 3 или «ноябрьское затишье» (Коммитфест 2020-11)

Reading time11 min
Views4.5K
В ноябре завершился последний в этом году коммитфест изменений PostgreSQL 14. О двух предыдущих, июльском и сентябрьском уже говорилось.

Громкими киллер-фичами нас не побаловали, надеемся разработчики припрятали их на последние два коммитфеста в январе и марте следующего года. Тем не менее, рассказать есть о чем. Например разберемся с такими вопросами:

  • Не пора ли увеличивать wal_buffers?
  • Можно ли перегружать хранимые подпрограммы по OUT-параметрам?
  • По умолчанию pg_stat_statements собирает данные о 5000 запросов. Как понять много это или мало?
  • Что будет, если в операционной системе обновится библиотека libc?

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

Коллектор логов на старом железе или встречайте Vector 32bit

Reading time5 min
Views5.9K
В любой большой компании, и X5 не исключение, имеется «старое железо» которое успешно работает и работает хорошо, но приходит время и с него тоже необходимо начать забирать логи и метрики. В нашем случае это машины c x86_32 Debian 9.5 и 512Мб оперативной памяти.
Читать дальше →

А не фигню ли я опять делаю? Как и зачем внедрять метрики качества

Reading time7 min
Views13K
Привет, Хабр! Когда-то мы использовали метрику «Вроде бы стало лучше» для оценки качества наших релизов. Но потом мы решили довериться чему-то более надёжному. В этой статье я расскажу о том, как искал гайд по метрикам, не нашёл и создал свой.


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

«Особенность» Instagram

Reading time3 min
Views31K

В 2020 году даже если злоумышленник попал в ваш аккаунт социальной сети, это неприятно, но не критично. Ведь у нас есть двухфакторная аутентификация на многие важные действия, а доступа к почте/телефону у злоумышленника нет и аккаунт ему не угнать. Так ведь? Нет.

В Instagram - социальной сети, которую использует 1 миллиард пользователей (⅛ населения планеты) все совсем не так. И исправлять они это отказались. В этой статье я расскажу вам о логической уязвимости, которая может позволить захватить аккаунт человека, пока он не обратится в тех. поддержку.

Интересно? Добро пожаловать под кат!

Читать далее

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Reading time5 min
Views31K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!

Docker is deprecated — и как теперь быть?

Reading time5 min
Views77K

Kubernetes объявил Docker устаревшим и планирует прекратить его использование примерно через год, в версии 1.22 или 1.23. Эта новость вызвала много вопросов и непонимания. В блоге Kubernetes появилось целых две статьи, разъясняющих смысл записи в Changelog (раз и два). Если все обобщить, то для разработчиков (те, которые Dev) ничего не меняется — они все так же могут продолжать использовать docker build для сборки своих контейнеров, а вот для инженеров, ответственных за эксплуатацию кластера (Ops), пришла пора разобраться и освоить несколько новых инструментов.

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

Анатомия GNU/Linux

Reading time13 min
Views124K

Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей любимой системе, чем ломать копии в комментариях.

У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.

Читать далее

Практические методы оптимизации запросов в Apache Spark

Reading time13 min
Views12K
После вводной статьи про Spark Shell мне хотелось бы рассмотреть некоторые приемы оптимизации запросов в Spark и Hive, и сравнить их с теми, что обычно применяются в классических СУБД типа Oracle или MS SQL.

Базовая модель данных


Рассмотрим разные техники на базе известной всем модели библиотеки. И так, у нас есть книги, они разложены по полкам в шкафах. Шкафы пронумерованы, если библиотека большая — то к шкафу еще прилагается и номер комнаты. Книги разложены в определенном порядке, это «физический» порядок, его можно поменять — но это сложно и долго. Даже если у нас «всего лишь» такая библиотека, как у российских императоров:


А тем более если такая, как в Тринити колледже в Дублине:


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

3D-печать за деньги: покупатели, будьте осторожнее в мире небесплатных 3D-моделей

Reading time6 min
Views20K


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

Конкретные проблемы и пути их решения зависят от того, каким образом эти модели продаются, однако ясно одно: плохо проработанные 3D-модели – это плохо как для потребителей, так и для будущего рынка с оплатой за скачивание.
Читать дальше →

Китай инвестирует $1,4 трлн долларов и переманивает ключевых инженеров TSMC, стремясь обогнать США в производстве чипов

Reading time4 min
Views22K

Современная IT-отрасль в значительной степени зависит от производителей электронных компонентов. У кого развиты технологии — тот если и не владеет миром, то хотя бы управляет развитием всей отрасли. Сейчас лидерство у США, и страна фактически ведет «‎электронные войны»‎ с главным конкурентом — Китаем, стремясь закрыть компаниям из Поднебесной доступ к ключевым технологиям.

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

Дорогой Google Cloud, отказ от обратной совместимости тебя убивает

Reading time20 min
Views19K
Чёрт возьми, Google, я не хотел снова писать в блог. У меня так много дел. Ведение блога требует времени, энергии и креатива, которые я мог бы использовать с пользой: мои книги, музыка, моя игра и так далее. Но ты меня достаточно разозлил, и придётся это написать.

Так что давай покончим с этим.

Начну с небольшой, но поучительной истории из тех времён, когда я только начал работать в Google. Знаю, что в последнее время я наговорил много плохого о Google, но меня расстраивает, когда родная компания регулярно принимает некомпетентные бизнес-решения. При этом нужно отдать должное: внутренняя инфраструктура Google действительно экстраординарная, можно смело утверждать, что сегодня нет ничего лучше. Основатели Google были гораздо лучшими инженерами, чем я когда-либо стану, и эта история только подтверждает данный факт.
Читать дальше →

TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов

Reading time4 min
Views9.2K

Привет! Меня зовут Костя Мамаев, я занимаюсь фронтенд-разработкой в поиске Яндекса. Некоторое время назад мы вместе с другими ребятами из команды помогали образовательным проектам компании. Среди прочего пришлось решить, казалось бы, простую задачку: отображать на экране и распечатывать на бумаге формулы, закодированные в популярном формате TeX. Звучит, как дело пяти минут, но в результате трёх подходов к снаряду появился полноценный микросервис для серверного рендеринга формул в svg и png. В статье расскажу, зачем мы пошли этим путём и почему ни один из существующих проектов не подошёл «из коробки».

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

Подробнее про три подхода к снаряду

Расследование: как обезличенные данные становятся персональными и продаются на сторону

Reading time14 min
Views39K
Неделю назад мне в очередной раз позвонили и предложили купить какой-то новый автомобиль в салоне, где я точно никогда не бывал. На простой вопрос о том, откуда звонивший взял мой номер телефона и мои имя и отчество, последовал прямой ответ — мы выбрали ваш номер случайным образом из номерной емкости. В это объяснение я не поверил, и решил поинтересоваться тем, как устроен рынок данных и понять, кто может сливать информацию о пользователях и как легко и виртуозно интернет-монополисты обходят стороной закон «О персональных данных» (№152-ФЗ).

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

Моделирование отказоустойчивых кластеров на базе PostgreSQL и Pacemaker

Reading time12 min
Views13K

Введение


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


К этому решению возник резонный вопрос: насколько отказоустойчивым будет отказоустойчивый кластер? Чтобы это исследовать, я разработал тестовый стенд, который имитирует различные отказы на узлах кластера, ожидает восстановления работоспособности, восстанавливает отказавший узел и продолжает тестирование в цикле. Изначально этот проект назывался hapgsql, но со временем мне наскучило название, в котором только одна гласная. Поэтому отказоустойчивые базы данных (и float IP, на них указывающие) я стал именовать krogan (персонаж из компьютерной игры, у которого все важные органы дублированы), а узлы, кластеры и сам проект — tuchanka (планета, где живут кроганы).


Сейчас руководство разрешило открыть проект для open source-сообщества под лицензией MIT. README в скором времени будет переведен на английский язык (потому что ожидается, что основными потребителями будут разработчики Pacemaker и PostgreSQL), а старый русский вариант README я решил оформить (частично) в виде этой статьи.


Krogan on Tuchanka

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

Information

Rating
485-th
Location
Россия
Registered
Activity