Как стать автором
Обновить
14.5
Карма
0.1
Рейтинг

Пользователь

  • Подписчики 8
  • Подписки 2
  • Публикации
  • Комментарии

Кросс-компиляция с Clang – это просто

Программирование *C++ *Системы сборки *DevOps *
Tutorial

Разберемся с кросс-компиляцией при помощи Clang на пальцах, попутно посмотрим на CMake, не оставим без внимания Conan, соберем самый настоящий .deb пакет и конечно же - максимально контейнеризируем и автоматизируем весь процесс. Посмотрим зачем нам тут Clang, и почему иногда не обойтись без него.

Кросс-компилировать
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 4.7K
Комментарии 19

Создаем библиотеку на php и публикуем на packagist

Блог компании Reksoft PHP *Google API *
Tutorial

Прежде чем приступать к написанию кода, нам нужно решить, что именно такого полезного мы можем создать, какие функции будет выполнять библиотека. Довольно популярным является написание библиотек, упрощающих работу с тем или иным API. Зачастую API представляют из себя большой список различных методов, работающих не только через GET method http-протокола.

И это доставляет сложность при работе с ним у программистов: нужно постоянно учитывать все нюансы обращения к методу, его ответа, а еще может присутствовать аутентификация при работе и тд.

У меня есть некоторый опыт в создании пакетов для composer (пример) и я хочу поделиться знаниями с теми кто этого еще не делал. Подробности под катом...

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Просмотры 2.7K
Комментарии 3

MAKEFILES, лучшие практики. Часть 1

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

Makefile’ы широко используются для создания билдов огромного множества проектов на самых разных языках, но проекты на C/C++ составляют большинство из них. Если вы разрабатываете или тестируете программное обеспечение, вероятность того, что вы их встретите, очень высока.

В этой статье мы рассмотрим некоторые распространенные ошибки при работе с Makefile’ами, а также расскажем о лучших практиках и поддержке кросс-компиляции.

Что вам понадобится: хорошее понимание, что из себя представляет Makefile, иерархия каталогов UNIX и процесс компиляции.

Читать далее
Всего голосов 16: ↑5 и ↓11 -6
Просмотры 5.1K
Комментарии 13

Работа с СОМ-портом на Си в linux

Блог компании RUVDS.com Программирование *Системное программирование *Разработка под Linux *Производство и разработка электроники *
Tutorial
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

Для разработчиков чаще всего появляется задача сопрячь какой-то датчик, либо удалённое устройство с одноплатником. Да что греха таить, сейчас в 2021 году UART, наверное, самый распространённый интерфейс для обмена данными, несмотря на всю его архаичность. Далеко за примером ходить не надо, внутри смартфона, лежащего у вас в кармане, будет с десяток UART интерфейсов, самый известный из которых — это подключение SIM-карты.

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А непонимание того, что там происходит и приводит к различным трудноуловимым багам.
Читать дальше →
Всего голосов 75: ↑72 и ↓3 +69
Просмотры 15K
Комментарии 24

Вас тоже задолбала цифровая трансформация?

Блог компании RegionSoft IT-инфраструктура *ERP-системы *CRM-системы *Терминология IT

Если я вижу в заголовке статьи на Хабре, названии доклада на конференции или в статье в СМИ слова «цифровая трансформация», я всегда знаю — будет пресно, скучно и много лжи. Из этого словосочетания делают волшебную палочку: цифровая трансформация как способ освоения бюджетов, цифровая трансформация как повод уволить сотрудников, цифровая трансформация как повод объяснить провалы сервиса, цифровая трансформация как способ поднять репутацию на модном тренде. При этом для многих за этими словами скрывается что угодно, кроме первоначального, идейного смысла. На фоне этого проваливаются более 70% проектов трансформации по всему миру. И так будет, пока в эти два красивых слова будут вкладывать всё что угодно, кроме принятия цифровых технологий внутри всех процессов управления. И это касается и гигантов рынка, и самых небольших компаний. Так почему мы все трансформируемся, трансформируемся, да так и не вытрансформируемся?

Читать далее
Всего голосов 43: ↑39 и ↓4 +35
Просмотры 17K
Комментарии 51

Гуглояз – как Google ограничивает мысли о борьбе с монополиями

Поисковые технологии *Бизнес-модели Финансы в IT
Перевод
— Разве ты не понимаешь, что весь смысл новояза в том, чтобы сузить диапазон мышления? В итоге мыслепреступление станет попросту невозможным, поскольку не будет слов, которыми его можно было бы выразить.
— «1984», Джордж Оруэлл

Не так давно люди, активно интересующиеся вопросами SEO, могли заметить, что я вступил в перебранку в твиттере с парочкой сотрудников Google. Страсти там реально накалились.

Иногда работать представителем Google за деньги бывает трудновато.

Всё началось с того, что я поставил под сомнение этичность и направленность против конкуренции таких действий Google, как поднятие в рейтинге собственных материалов, касающихся таких слов, как “SEO” и “robots.txt” (из моих областей интереса), а также Google Flights, YouTube, окошек «People Also Ask» и других особенностей поисковика, которые появляются среди самых первых результатов.

Нечестная конкуренция Google связанная с поднятием собственных сервисов в результатах поиска – проблема давно известная. Правительства разных стран проводят расследования таких действий и работают над новыми законами, касающимися этих и других проблем, связанных с монополизацией.
Читать дальше →
Всего голосов 78: ↑73 и ↓5 +68
Просмотры 32K
Комментарии 178

Находим и устраняем уязвимости бинарных файлов в Linux — с утилитой checksec и компилятором gcc

Блог компании Маклауд Настройка Linux *C++ *C *
Перевод

Изображение: Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0

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

Некоторые из них компилятор включает или отключает по умолчанию. Так в бинарных файлах могут возникать уязвимости, о которых мы не знаем.

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

  • как использовать утилиту checksec для поиска уязвимостей;
  • как использовать компилятор gcc для устранения найденных уязвимостей.

Установка checksec


Для Fedora OS и других систем на базе RPM:

$ sudo dnf install checksec

Для систем на базе Debian используйте apt.

Быстрый старт с checksec


Утилита сhecksec состоит из единственного скриптового файла, который, впрочем, довольно большой. Благодаря такой прозрачности вы можете узнать, какие системные команды для поиска уязвимостей в бинарных файлах выполняются под капотом:
Читать дальше →
Всего голосов 34: ↑28 и ↓6 +22
Просмотры 5K
Комментарии 5

Скрытые мобильные подписки на хостинге Мегафона

Сотовая связь

Привет, Хабр!

Хочу поделиться.

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

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

Переговоры с поддержкой какие-то смутные подозрения навеяли. Вот тут вот полная версия (длинный файл). А вот то, что заставило идти копать дальше.

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

Как удалить «неудаляемые» приложения со смартфона

Блог компании VDSina.ru Разработка под Android *Смартфоны Софт


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 190: ↑179 и ↓11 +168
Просмотры 152K
Комментарии 202

Активное внедрение стандарта Интернета RPKI — полезно ли?

Информационная безопасность *IT-инфраструктура *Сетевые технологии *Исследования и прогнозы в IT Статистика в IT

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

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 5.3K
Комментарии 15

Самые распространенные ошибки, которые допускают пользователи при эксплуатации SSD

Блог компании Kingston Technology Компьютерное железо Старое железо Накопители Настольные компьютеры


Привет, Хабр! Мы уже не раз писали о том, как правильно эксплуатировать SSD-накопители Kingston, чтобы добиться от них максимальной производительности при долгой наработке на отказ. Однако, мы по-прежнему замечаем комментарии, в которых пользователи высказывают мнение о ненадежности SSD-накопителей в целом, а также пишут нам о неудачных опытах их использования.

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

Самое частое описание проблемы, как правило звучит так «поставил в компьютер SSD-накопитель, а через год эксплуатации (а то и раньше) он начал тормозить», или же «скорости чтения/записи оказались заметно ниже заявленных производителем». В чем же кроется причина таких ситуаций?
Читать дальше →
Всего голосов 58: ↑46 и ↓12 +34
Просмотры 116K
Комментарии 156

Написание графического приложения на Electron JS (начало: Создание окна)

JavaScript *HTML *Node.JS *
Из песочницы

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


image

Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 7.6K
Комментарии 33

Как 4-я промышленная революция повлияет на товарно-денежные отношения

Робототехника Научно-популярное Энергия и элементы питания Искусственный интеллект
Из песочницы


Аннотация


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

Почему 4-я промышленная революция изменит товарно-денежные отношения


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

Однако, с увеличением доли автономных производств мировая экономика столкнется со следующими проблемами:

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

Получается противоречие: с одной стороны, произойдёт замена работников роботами, сокращение числа рабочих мест, а с другой — остается потребность в росте количества потребителей, которые будут платить за товары.

Таким образом, обесценивание человеческого труда при производстве товаров массового потребления создаёт угрозу стабильности экономики, в том виде, в котором мы привыкли её воспринимать.
Читать дальше →
Всего голосов 26: ↑21 и ↓5 +16
Просмотры 12K
Комментарии 301

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик

Блог компании Badoo Настройка Linux *Программирование *Go *Разработка под Linux *
🔥 Технотекст 2020


У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него.

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

В этой статье не будет уникальных открытий. Я просто постараюсь показать, что такое BPF, на что он способен и как может помочь лично вам. Также мы рассмотрим особенности, связанные с Go.

Я бы очень хотел, чтобы после прочтения моей статьи у вас зажглись глаза так, как зажигаются глаза у ребёнка, впервые прочитавшего книгу о Гарри Поттере, чтобы вы пришли домой или на работу и попробовали новую «игрушку» в деле.
Читать дальше →
Всего голосов 82: ↑79 и ↓3 +76
Просмотры 28K
Комментарии 18

Объявляем о новом наборе в программу по выводу российских стартапов на глобальный рынок Global Pilots

Блог компании Microsoft Хакатоны Развитие стартапа IT-компании
В этот раз фокус программы будет сделан на технологические стартапы из индустрии финансов и ритейла, а также на разработчиков кросс-функциональных решений. Организаторы помогут проектам выйти на глобальный рынок, а также окажут содействие в поиске международных заказчиков. Участие для компаний бесплатное. 

Microsoft, EY и Startupbootcamp при поддержке инвестиционного холдинга Altergate объявили о наборе участников в новый поток программы Global Pilots, направленной на поддержку российских стартапов в выходе на глобальный рынок и подготовке к пилотным проектам с международными клиентами.

Участниками второго набора программы могут стать зрелые B2B-стартапы направлений ритейл и финтех. Также будет организован дополнительный трек для стартапов из сферы поддержки бизнеса – организаторы будут рассматривать сильные проекты без индустриального профиля. У компаний должен быть готовый продукт и продажи на локальном рынке. Всего эксперты выберут 20 стартапов для участия в программе.

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

Почему так важна иммутабельность

Блог компании Издательский дом «Питер» Высокая производительность *Программирование *Проектирование и рефакторинг *
Перевод
Привет, Хабр!

Сегодня мы хотим затронуть тему иммутабельности и примериться, заслуживает ли эта проблема более серьезного рассмотрения.
Читать дальше →
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 4.7K
Комментарии 4

Война за TikTok

Блог компании Boodet.online Исследования и прогнозы в IT Бизнес-модели Социальные сети и сообщества IT-компании
Перевод

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

Аналоговый мир

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

Хороший пример - печатные издания, которые монетизировались за счет рекламы рядом с новостными блоками. Аналогично пытались монетизировать и первые веб-сайты. Это работало, но не слишком эффективно. Печатные издания по-прежнему приносили наибольшую прибыль, в то время как их электронные аналоги – несколько долларов, а мобильные – лишь копейки. Разумеется, интернет привлекал много внимания, но монетизировался не слишком хорошо.

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

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

Если предположить, что прибыль от рекламы напрямую зависит от количества внимания, уделяемого читателями, то можно сделать вывод, что людям больше нравятся изображения, чем текст, особенно анимированные изображения. Вот почему веб-страницы стали показывать динамический контент. Когда Facebook запустил свою ленту, представители компании поняли, что людям больше нравится просматривать фотографии. Из этого следовало, что Instagram, быстро развивающаяся социальная сеть, где делятся фотоснимками, представляла серьезную угрозу для Facebook (а после ее покупки дала широкие возможности).

Читать далее
Всего голосов 19: ↑14 и ↓5 +9
Просмотры 7.6K
Комментарии 22

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Блог компании VDSina.ru Управление разработкой *Управление продуктом *Управление персоналом *


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Всего голосов 262: ↑220 и ↓42 +178
Просмотры 125K
Комментарии 257

Не стоит пользоваться OFFSET и LIMIT в запросах с разбиением на страницы

Блог компании RUVDS.com Разработка веб-сайтов *Администрирование баз данных *
Перевод
Прошли те дни, когда не надо было беспокоиться об оптимизации производительности баз данных. Время не стоит на месте. Каждый новый бизнесмен из сферы высоких технологий хочет создать очередной Facebook, стремясь при этом собирать все данные, до которых может дотянуться. Эти данные нужны бизнесу для более качественного обучения моделей, которые помогают зарабатывать. В таких условиях программистам необходимо создавать такие API, которые позволяют быстро и надёжно работать с огромными объёмами информации.


Читать дальше →
Всего голосов 59: ↑41 и ↓18 +23
Просмотры 22K
Комментарии 69

Как найти скрытую камеру в съемной квартире или номере отеля

Блог компании Selectel Информационная безопасность *Гаджеты Компьютерное железо Лайфхаки для гиков

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

Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.
Всего голосов 129: ↑112 и ↓17 +95
Просмотры 153K
Комментарии 164

Информация

В рейтинге
2,353-й
Зарегистрирован
Активность