Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга

В опенсорсе меньше уязвимостей? Похоже, что да

Блог компании GlobalSign Информационная безопасность *Open source *Смартфоны Софт


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

Чем меньше секретов в коде программы — тем безопаснее.

Насколько справедливо это парадоксальное утверждение? Посмотрим на статистику.
Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 2.1K
Комментарии 3

Новости

Кое-что о переменных MS Small Basic. И не только…

.NET *Small Basic *
Из песочницы

MS Small Basic в настоящее время является лучшим учебным текстовым языком программирования. Не самым популярным, а именно лучшим. А с появлением современной среды программирования SB-Prime, библиотеки LitDev и ряда других библиотек он получил великолепные возможности, позволяющие писать на нём сложные, полезные и интересные программы, которые можно использовать не только в учебных проектах, но и для решения вполне серьёзных повседневных задач, однако, ему присущ ряд недостатков, делающих его непригодным для создания действительно серьёзных, а главное - ответственных проектов, что довольно обидно.

Переменные в MS Small Basic не требуют объявления. Здорово? На первый взгляд — очень! Ничего не нужно заранее продумывать, даже следить, чтобы переменная получила значение до её использования — всё равно получит что-то типа нуля. При этом переменные как бы сами «решают», какого они типа — в зависимости от того, что в них записано. Это кажется очень удобным, особенно — для учебного языка программирования. Но если копнуть чуть глубже, мы увидим, что далеко не всё так здорово, как кажется на первый взгляд.

Как можно реализовать такие простые и умные переменные? Реализовать их можно либо созданием специального класса, который сам определяет тип передаваемых данных, хранит их в одной из подходящих внутренних переменных, выполняет проверки на корректность и преобразования данных в случае необходимости, либо… Либо так, как придумали в Microsoft.

Разработчики MS Small Basic решили проблему создания неких «универсальных» переменных, подходящих для хранения любых типов данных очень специфическим (зато простым и быстрым) способом. Начать с того, что переменные в MS Small Basic все(!) — действительно одного единственного типа: и числовые, и символьные, и текстовые, и даже массивы(!). Фантастика? Нет. Решение, найденное разработчиками, конечно в принципе имеет право на существование, но оно довольно примитивно и несёт с собой кучу неудобств при работе. Я бы даже сказал, разработчики поленились сильно напрягаться — они просто придумали хранить любые переменные как… (барабанная дробь!) …текстовые строки! Настоящие программисты, я думаю, в шоке, как от простоты идеи, так и от потенциального количества проблем, которые она за собой тащит. Ну и от ленивости разработчиков, я полагаю, тоже… :)

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 637
Комментарии 4

Культовая драм-машина 80-х — с ней можно познакомиться прямо в браузере

Блог компании Аудиомания Облачные сервисы Звук

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.3K
Комментарии 0

Как устроена MemQ — система PubSub в Pinterest

Блог компании SkillFactory Высокая производительность *Программирование *Amazon Web Services *Big Data *
Перевод

MemQ — это дополнение к Kafka, отделяющее аппаратную часть чтения и записи от слоя хранения данных. Разработчики Pinterest постепенно заменяют Kafka на MemQ: балансировка с ним не только проще благодаря унификации данных, но и дешевле в 10 раз. К старту флагманского курса по Data Science приглашаем под кат за подробностями.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 559
Комментарии 0

Обзор — ConvNet для 2020

Блог компании OTUS
Перевод

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

Среди наиболее известных архитектур трансформеров можно назвать Google ViT или Microsoft Swin Transformer, которые доминируют в обнаружении объектов и сегментации естественных изображений. Эти две архитектуры являются лишь одним из примеров многих работ, которые были сделаны для того, чтобы адаптировать трансформеры к обработке естественных изображений.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 209
Комментарии 0

Flutter: Ускоряем работу с помощью VS Code Tasks

Dart *Flutter *

Всем привет, читатели Habr! В этой статье я расскажу как ускорить работу и облегчить нам жизнь с помощью VS Code Tasks. Погнали!

Мы пишем не только код

Это правда, разработчики пишут  не только код. Иногда нам приходиться писать команды, чтобы выполнить определенные действия. Например, я уверен, что большинство из вас писали команду для сборки apk файла или для получения зависимостей (flutter pub get). Либо если у вас есть генерация кода, то вы выполняли команду для запуска генерации.

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

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 899
Комментарии 4

Графовые базы данных на примере простых запросов

Блог компании Neoflex Хранение данных *
Tutorial

Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как общаться с данными в базе.

Информации по теории графов достаточно много, поэтому в материале будут сугубо прикладные знания, которые существенно облегчат закрепление материала практикой. В данном примере рассматривается работа с локальным экземпляром БД Neo4j. Считаю, что СУБД именно этого вендора позволяет осваивать тему графовых баз данных с достаточно низким порогом входа – нам понадобится только понимание SQL. Иными словами, статья представляет собой краткую сводку/инструкцию о том, какие шаги нужно пройти и что освоить, чтобы начать "играться" с Neo4j на вашем личном ПК или сервере в инфраструктуре вашей компании. Поскольку в этот тип БД заходят специалисты, ранее работавшие с реляционными БД, для облегчения понимания принципов в статье сделан упор на сопоставление языка общения с графовыми базами данных и классическим SQL. Чтобы сделать пример прикладным, в материале приводится  решение типовой бизнес-задачи для графовых БД на простом примере из финансовой предметной области.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 928
Комментарии 0

Работающие способы выехать за рубеж, или Спасение утопающих — дело рук самих утопающих

Блог компании Get me IT IT-эмиграция Карьера в IT-индустрии Читальный зал Лайфхаки для гиков
Привет, хабровчане! Надеемся, в эти сложные времена вы стараетесь держаться, хотя это и непросто. Впрочем, рефлексировать можно бесконечно долго, толку от этого не будет, сейчас нужно действовать. Как именно — решать только вам самим. Мы лишь можем рассказать об одном из вариантов. А именно о релокации. В этом посте мы решили собрать вакансии из нашего бота в других странах, а также снабдить их информацией, как туда попасть. Подробную информацию по вакансиям (стек и требования) можно найти в самом боте Get Me It, для этого нужно пройти начальную анкету бота и выбрать Европу или СНГ.

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


Приятного чтения!
Всего голосов 50: ↑34 и ↓16 +18
Просмотры 18K
Комментарии 97

Tile server на коленке: навигация по старинным картам

Python *Django *Nginx *OpenStreetMap *ReactJS *

Я являюсь full stack разработчиком на культурно-историческом IT портале Königsland, который успешно начал свою работу примерно месяц назад. Этот ресурс посвящается культуре и истории Восточной Пруссии и является своеобразной летописью времен, которая больше всего напоминает вирутальный музей, где можно получить довольно полную информацию об истории этого великого края, а эта информация пополняется по мере возникновения у меня свободного времени.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.2K
Комментарии 9

Работа с цифровым пассивным инфракрасным детектором движения PYD 1588

Программирование микроконтроллеров *

В данной статье приведена работа с цифровым пассивным инфракрасным детектором движения PYD 1588.

Цифровой инфракрасный детектор движения PYD 1588 (далее детектор) фирмы Excelitas Technologies представляет собой малопотребляющий (3,0 мкА при напряжении питания 1,8 В согласно документации) пассивный компонент с расположенными внутри двумя чувствительными элементами, измеряющих поток инфракрасного излучения.

Сигнал с чувствительного элемента преобразуется в цифровые данные посредством встроенного сигма-дельта аналого-цифрового преобразователя и цифрового сигнального процессора (digital signal processor, DSP). Внутри детектора реализован конфигурируемый модуль обнаружения движения, который при регистрации движения может генерировать прерывание ведущего микроконтроллера (МК), а также способствует значительному повышению энергоэффективности устройства благодаря исключению необходимости периодического запроса на получение сырых цифровых данных детектора и их последующего анализа.

По заявленным техническим показателям с имеющимся в корпусе световым фильтром и без применения внешних дополнительных линз Френеля детектор способен регистрировать движение нагретого тела при угле обзора до 115 градусов. Следует отметить, что цифровой детектор PYD 1598 является полным аналогом рассматриваемого детектора PYD 1588 за исключением угла обзора: детектор PYD 1598 конструктивно имеет более широкое окно, что соответствует углу обзора 130 градусов

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.2K
Комментарии 1

Запись Extended Events в таблицу

Microsoft SQL Server *
Перевод

Опубликовано 23 февраля 2022 года
Автор статьи Gianluca Sartori

В этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии расширенных событиях. В документации рекомендуется использовать два возможных метода для извлечения информации из сеанса:

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 208
Комментарии 1

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

Анализ и проектирование систем *

Включение в проект – важный и сложный процесс, его ключевой этап — согласование пакета документации на организацию и производство работ.

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

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 347
Комментарии 0

Pachyderm от Poorman: Нужны ли нам корпоративные ML- платформы?

Блог компании OTUS Машинное обучение *
Перевод

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 146
Комментарии 1

6 причин использовать Kubernetes на сервере bare metal

Блог компании Nixys DevOps *Kubernetes *
Перевод

Развертывание Kubernetes на физических серверах  рекомендуется организациям, которые находятся в поисках новых возможностей в сфере управления инфраструктурой. Рассмотрим 6 причин попробовать K8s на выделенных серверах. 

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

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

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

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 1K
Комментарии 0

Автоматизация модульного тестирования в Unity с помощью Codemagic

Блог компании OTUS Unity *
Перевод

Итак, из этой статьи вы узнаете:

— Почему автоматизированные модульные тесты необходимы для эффективной гибкой разработки.

— С какими проблемами можно столкнуться при автоматизации модульного тестирования в Unity.

— Как создать простую игру (понг), которую мы будем использовать в качестве примера проекта.

— Как настроить модульные тесты для нашей игры.

— Как настроить Codemagic для автоматизации модульного тестирования и сборки проектов Unity.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 185
Комментарии 0

ТРИЗ (Теория решения изобретательских задач): применение технологии в бизнесе, кейсы, инструменты

Научно-популярное
Из песочницы

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

Читать далее
Всего голосов 13: ↑8 и ↓5 +3
Просмотры 2K
Комментарии 9

О чём говорили на митап по Keycloak от X5 Tech

Блог компании X5 Group Программирование *IT-инфраструктура *Администрирование баз данных *DevOps *

Привет! Недавно X5 провела об опенсорсном проекте Keyckloack. По традиции публикуем запись мероприятия и презентации спикеров.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 581
Комментарии 1

TypeScript: не выходите за рамки

TypeScript *

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

Использование прошлых успехов, в переводе на исходный код, обычно сопровождается доступом к хранилищу по индексу. А вы знаете особенности идекс-оператора TypeScript?

Читать далее
Рейтинг 0
Просмотры 1.1K
Комментарии 2

Использование потоков для создания высокопроизводительных Node.js приложений

Блог компании OTUS JavaScript *VueJS *
Перевод

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 921
Комментарии 0

Пока, ФИАС! Рассказываем, как устроен адресный справочник ГАР

Блог компании HFLabs Анализ и проектирование систем *Data Mining *Открытые данные *Хранение данных *

1 сентября 2021 года ФНС перестала обновлять свой адресный справочник в формате ФИАС. Относительно новый ГАР внезапно стал единственным государственным адресный реестром, доступным общественности. Рассказываем, что из себя представляет новый справочник и чем он отличается от ФИАС.

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 2.7K
Комментарии 6