Habrahabr лучшее

Лучшие публикации за последние 24 часа
Подписка на Лента Habrahabr лучшее Habrahabr лучшее

Наконец-то у меня дошли руки до изучения ПЛИС. А то как-то неправильно получается: драйвера на железо под Linux пишу, микроконтроллеры программирую, схемы читаю (и немного проектирую), надо расти дальше.

Так как мигать светодиодами мне показалось не интересно, то решил сделать простенькую вещь. А именно написать модули приемника и передатчика для UART, объединить их внутри FPGA (заодно понять как использовать IP Core), ну и протестировать это все на реальном железе.
Читать дальше →
69-я версия Chrome была большииииим обновлением, т.к. показала новый интерфейс для десктопной и мобильной версий. Chrome 70 не столь радикален, но его новые фичи весьма важны. Мы сделали адаптированный перевод и добавили материал про самое, на наш взгляд, важное в новой версии – поддержку кодека AV1, который задает новую планку производительности. Пока что кодек будет использоваться только при воспроизведении видео, но мы надеемся, что он доберется и до WebRTC – это даст нам возможность использовать передовое кодирование в видеозвонках и конференциях (например, используя наш Web SDK).


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

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

Что же мешает блокчейну у нас в стране (и в мире), и нужен ли он вообще?
Читать дальше →
Практически все компании сейчас оказывают давление на сотрудников, побуждая их работать больше часов, чем указано в договоре. Это давление маскируется разными эвфемизмами: красивыми словами про миссию, личный вклад, марш-бросок. Те, кто изъявляет готовность перерабатывать, часто получают поощрительные знаки внимания от руководства: «Джо выложился на сто пятьдесят процентов, чтобы помочь нам достигнуть поставленных целей: работал допоздна, выходил на выходных. Он жертвовал своим временем ради нашей миссии».



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

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


На дворе 2018 год. Всё чаще встречаются слова RxJava и LiveData. Но если вдруг так случилось, что в вашем приложении до сих пор балом правят старомодные решения вроде библиотеки android-priority-jobqueue или AsyncTask (да, бывает и так), то эта статья специально для вас. Я разделяю эти подходы, исходя из заложенной в них философии. Первый предполагает некоторую зависимость выполнения работы от отображения, второй — выполнение задачи, при котором View слушает её и она не прерывается в зависимости от событий жизненного цикла (например, при повороте экрана). Под катом я предлагаю рассмотреть миграцию на связку RxJava и LiveData для обоих подходов.
Читать дальше →
Проверить один сервер — не проблема. Берешь чек-лист и по порядку проверяешь: процессор, память, диски. Но с сотней серверов такой способ вряд ли хорошо сработает. Чтобы исключить человеческий фактор, сделать проверки более надежными и быстрыми, надо автоматизировать процесс. Кому знать, как это лучше сделать, как не хостинг-провайдеру. Артём Артемьев на HighLoad++ Siberia рассказал, какие методы можно использовать, что лучше запускать руками, а что отлично получается автоматизировать. Далее текстовая версия доклада с советами, которые сможет повторить каждый, кто работает с железом и нуждается в регулярной проверке его работоспособности.



О спикере: Артём Артемьев (artemirk) технический директор в большом хостинг-провайдере FirstVDS, сам работает с железом.
Читать дальше →


Сбербанк ведёт переговоры о покупке акций «Яндекса», рассказал «Ведомостям» источник, знакомый с одним из топ-менеджеров банка. По его словам, рассматривается как минимум два варианта сделки:

  • получение госбанком фактического контроля над компанией (с помощью голосующих акций);
  • покупка минимум 20% акций.

В перспективе перехода «Яндекса» под госуправление акции компании со вчерашнего дня упали на 8%. За неполные сутки компания потеряла примерно $1,5 млрд капитализации.
Читать дальше →
Что можно сделать с помощью CSS-свойства border-radius? Автор материала, перевод которого мы публикуем, говорит, что больше, чем кажется на первый взгляд. В частности, речь идёт о том, что углы элементов, скруглённые с помощью этого свойства, могут иметь весьма интересную форму.


Предлагаем поговорить о тонкостях использования border-radius.
Читать дальше →


Мозг человека очень часто называют самым сложным биологическим компьютером в мире. Ученые со всего мира продолжают изучать этот невероятно загадочный орган, открывая все новые и новые его свойства, функции, возможности и прочее. Как мы знаем, многие науки, а следовательно и их исследования, связаны друг с другом. Посему изучение мозга человека позволяет совершенствовать и технологии не связанные с его анатомией. Сегодня мы рассмотрим новое исследование мозга, в котором ученые испытывают новые способы его обмана. Мы воспринимаем окружающий нас мир за счет информации, обрабатываемой мозгом. Все, что мы видим, слышим, обоняем, пробуем на вкус и осязаем состоит из определенного набора сигналов, которые наши органы чувств воспринимают, а мозг обрабатывает. Но что если эти сигналы будут ложными, а точнее их не будет вообще, а мозг будет уверен в том, что они есть? Именно об этом и пойдет речь в сегодняшнем исследовании. Поехали. Читать дальше →
Структурированный личный опыт небольшой IT-компании: где искать, чем загружать, каким образом отбирать, как относиться и как не обзавестись стажером-дементором. Для тех, кому многобукав – в конце есть краткие выводы.



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


LibreOffice — мощный офисный пакет, который бесплатен для частного, образовательного и коммерческого использования. Его разработчики делают замечательный продукт, который во многих сферах используется в качестве альтернативы Microsoft Office. Команде PVS-Studio всегда интересно взглянуть на код таких известных проектов и попробовать найти в них ошибки. В этот раз сделать это было легко. Проект содержит много ошибок, которые могут привести к серьёзным проблемам. В статье будут рассмотрены некоторые интересные дефекты, найденные в коде.

Введение
LibreOffice — очень крупный C++ проект. Поддерживать проект такого объёма — сложная задача для команды разработчиков. И, к сожалению, складывается впечатление, что качеству кода LibreOffice не удаётся уделять достаточного внимания.

С одной стороны, проект просто огромный, не каждый инструмент статического или динамического анализа осилит анализ 13к файлов исходного кода. Столько файлов участвует в сборке офисного пакета вместе со сторонними библиотеками. В основном репозитории LibreOffice хранится около 8к файлов исходного кода. Такой объём кода создаёт проблемы не только разработчикам:

Читать дальше →
— Приветствую, коллеги! – Евгений Викторович широко улыбался, стоя перед собравшейся аудиторией. – Сегодня у нас – знаменательный день. Во-первых, это первая стратегическая сессия с нашим новым директором, Николаем Ивановичем. Во-вторых, мы вносим значительные изменения в формат самой сессии, и период стратегического планирования теперь будет составлять не год, а сразу три. Ну, не буду забегать вперед – Николай Иванович, вам слово!

— Да, здравствуйте, коллеги. – поднялся со стула директор и встал рядом с собственником. – Формат, действительно, будет отличаться. Как говорится, каждая новая метла… Разрешите представить модератора нашей встречи – Ольга Разумова, очень толковый специалист по организации сессий! Мне ее лично рекомендовали на MBA! Ольга, велкам!

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

— Да, господа, приветствую! – послышался вульгарный, непривычный московский акцент. – Я буду модератором сегодняшней встречи, и позвольте мне приступить к своим обязанностям. Во-первых – все ли собрались?

Сидевшие топ-менеджеры начали озираться по сторонам.

— А где Сергей? – спросил собственник.

— Бутерброды жрет. – ответила Марина. Читать дальше →


На AppsConf 2018, которая прошла 8-9 октября, я выступил с докладом про создание андроид-приложений целиком в одном Activity. Хотя тема известная, существует много предубеждений относительно такого выбора — переполненный зал и количество вопросов после выступления тому подтверждение. Чтобы не ждать видеозаписи, я решил сделать статью с расшифровкой выступления.


О чем я расскажу


  1. Почему и зачем надо переходить на Single-Activity
  2. Универсальный подход для решения задач, которые вы привыкли решать на нескольких Activity
  3. Примеры стандартных бизнес задач
  4. Узкие места, где обычно подпирают код, а не делают все честно
Читать дальше →

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

Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.




Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Читать дальше →
Добрый день, уважаемые читатели. Меня зовут Виктор Буров, я разработчик в ISPsystem. В прошлом посте я рассказывал об инструменте для создания автотестов, сегодня поделюсь опытом автоматизации тестирования безопасности.



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


Пару недель назад прошла главная конференция в С++ мире — CPPCON.
Пять дней подряд с 8 утра и до 10 вечера шли доклады. Программисты всех конфессий обсуждали будущее С++, травили байки и думали как сделать С++ проще.


Удивительно много докладов были посвящены обработке ошибок. Устоявшиеся подходы не позволяют достичь максимальной производительности или могут порождать простыни кода.
Какие же нововведения ожидают нас в С++2a?

Читать дальше →
Автор статьи — Мэдс Торгерсен, ведущий архитектор C# в Microsoft

Проект Roslyn

Roslyn — это кодовое название, которое закрепилось за open-source компилятором для C# и Visual Basic.NET. Проект начинался в самой глубокой тьме последнего десятилетия корпоративной жизни Microsoft — и завершился как проект с открытым исходным кодом, кросс-платформенный, публичный универсальный движок для C# (и VB, что я приму как данность в остальной части статьи).

Первые разговоры о проекте, который впоследствии станет известен как Roslyn, уже шли, когда я пришёл на работу в Microsoft в 2005 году — незадолго до выпуска .NET 2.0. Шёл разговор о переписывании C# на C#. Это нормальная практика для языков программирования — доказательство зрелости языка. Но была и более практичная и важная мотивация: мы, создатели C#, сами не программировали на C#, мы программировали на C++! Если же ежедневно программировать на C#, то вы меняете своё мнение: великая сила работы на том инструменте, какой разрабатываете (dogfooding).
Читать дальше →
Данная статья является переводом статьи Кевина Голдберга «An Introduction to Python WSGI Servers: Part 1» blog.appdynamics.com/engineering/an-introduction-to-python-wsgi-servers-part-1 с небольшими дополнениями от переводчика



Краткая история серверов WSGI Python
WSGI-серверы появились потому, что веб-серверы в то время не умели взаимодействовать с приложениями, написанными на языке Python. WSGI (произносится как «whiz-gee» с твердым «g») был разработан Филиппом Дж. Эби (вместе с Ян Бикинг и др.) В начале 2000-х годов. Модуль Apache, известный как mod_python, разработанный Григорием Трубецким в конце 90-х годов, на тот момент обрабатывал большую часть Python-приложений. Однако mod_python не был официальной спецификацией. Он был просто создан, чтобы разработчики могли запускать код Python на сервере. К сожалению, такой подход был небезопасным и разработчики начали искать новое решение.

WSGI(Web-Server Gateway Interface) является потомком CGI(Common Gateway Interface). Когда веб начал развиваться, CGI разрастался из-за поддержки огромного количества языков и из-за отсутствия других решений. Однако, такое решение было медленным и ограниченным. WSGI был разработан как интерфейс для маршрутизации запросов от веб-серверов(Apache, Nginx и т.д.) на веб-приложения.
Читать дальше →
Сейчас речь пойдет об установке в различных вариантах такого небезызвестного дистрибутива линукса — Arch Linux. На момент написания статьи он занимает на distrowatch почётное 12-е место по количеству поисковых запросов за 6 месяцев с почётной средней оценкой самого дистрибутива 9.3/10. Многие считают его настоящим линуксом, для настоящих программистов, но знаменит он в первую очередь не этим, а своим нетривиальным процессом установки. Запуская загрузочный носитель пользователь в первую очередь видит отнюдь не привычный интерфейс в стиле «нажмите сюда, чтобы установить X», а большое черное окно в мир линукса.

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


Я ещё в начале 2000-х годов экспериментировал и использовал BeOS R5 Pro, когда компания, которая его создала, пошла ко дну. Я с интересом слежу за развитием Haiku на протяжении всех этих лет. Хотя можно утверждать, что и старая BeOS и новая Haiku, не имеют некоторых важных функций, которые присуще современным ОС, факт состоит в том, что легковесная операционная система всегда может быть, например, отличным способом привнести новую жизнь в старую или новую, но не слишком мощную железку.
Читать дальше →

Страницы

Последние публикации

Новые комментарии