Рубрика «Программирование» - 702

Уже второй год я занимаюсь государственными открытыми данными РФ и работой с госорганами и пора бы начинать рассказывать интересные истории о том, как появляются данные. Однако сегодня речь пойдет о более привычной для разработчика области — парсинге данных для проекта «Декларатор» и о том, какую неожиданную пользу могут при этом принести открытые данные.

Как мы парсили декларации о доходах при помощи открытых данных - 1

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

Интересный факт: существуют единые правила для госсайтов по размещению деклараций о доходах (в частности, они всегда находятся в разделе «Противодействие коррупции») и отвечает за всю эту тему Министерство труда и социальной защиты РФ. Массовое размещение деклараций происходит в мае. Далее у Минтруда есть всего месяц на то, чтобы провести мониторинг по всем без исключения сайтам, обязанным размещать информацию. Мониторинг проводится вручную.
Читать полностью »

image

В этом выпуске

— Новики в Java: иммутабельные коллекции в JDK9, новые опции для обработки out-of-memory в JDK8
— Как зареордерить чтения на x86?
— Опен-сорс наступает: гиганты IT индустрии выкладывают новые фреймворки
— «Слухи о моей смерти сильно преувеличены»: Twitter на защите Scala
— Терабайты RAM в облаке: новое предложение от Amazon
— Как HR-ы Google приглашают на собеседование?
… и многое другое
Читать полностью »

В Маунтин-Вью завершилась ежегодная конференция Google I/O. Её посетил Дэн Ким (Dan Kim), разработчик из компании Basecamp, известной не только созданием инструмента для управления проектами, но и книгами «Rework. Бизнес без предрассудков» и «Remote. Офис не обязателен». Киму не понравился максимализм фразы, которую популяризировали на конференции, и он высказал своё мнение и рассказал о своих коллегах. Давайте в комментариях обсудим эту тему. Хватает ли вам времени на жизнь вне рабочего процесса?

Я еду домой с Google I/O 2016. Это была потрясающая конференция — я встретил великих людей и узнал много нового.

Но пока я был там, я увидел нечто ужасное, от чего до сих пор не могу отделаться…

image
«Ешь. Спи. Пиши код. Повтори». Бред сивой кобылы!
Читать полностью »

Модуль универсального контроллера для интернета вещей. Основы программирования - 1

Открытый проект модуля IoT K66BLEZv1 продолжает развиваться.
Здесь рассмотрим следующие вопросы важные на первом этапе освоения:
— технология быстрого создания приложений для модуля в среде IAR Embedded Workbench без сложных SDK
— время активизации программы от момента подачи питания
— максимальная скорость программного переключения состояния пинов
— пример управления светодиодом по прерываниям на основе автомата состояний

Читать полностью »

Эффективное внедрение зависимостей при масштабировании Ruby-приложений - 1

В нашем блоге на Хабре мы не только рассказываем о развитии своего продукта — биллинга для операторов связи «Гидра», но и публикуем материалы о работе с инфраструктурой и использовании технологий из опыта других компаний. Программист и один из руководителей австралийской студии разработки Icelab Тим Райли написал в корпоративном блоге статью о внедрении зависимостей Ruby — мы представляем вашему вниманию адаптированную версию этого материала.Читать полностью »

Google-oriented programming - 1

Google заменил начинающим программистам книги и справочники: в самом деле, почти любой вопрос кто-то уже решил до вас, остается только найти решение. Интересно другое: пользуются ли опытные программисты только своим опытом или предпочитают гуглить наравне с начинающими? Читать полностью »

Камера Intel RealSense SR300 — последняя модель камеры переднего обзора в нашей линейке продуктов. В камерах SR300 реализован целый ряд новых и улучшенных возможностей по сравнению с камерами первого поколения Intel RealSense F200. В модели SR300 дальность действия камеры увеличена до 1,5 м и поддерживается запись динамичного движения, повышена точность данных глубины, снижен расход электроэнергии, повышено качество и стабильность программного обеспечения. В камерах SR300 улучшена поддержка Skype*. Разрешение составляет 1080p FullHD при скорости 30 кадров в секунду или 720p при скорости 60 кадров в секунду. SR300 поддерживает приложения, разработанные для камеры Intel RealSense F200, и работу с цветным изображением. В Intel RealSense SDK добавлен новый трехмерный режим Cursor, улучшена сегментация фона и функция трехмерного сканирования объектов для камеры SR300.

Представляем новую камеру Intel RealSense SR300 - 1

Читать полностью »

Всем доброй пятницы!

У нас наконец-то дошли руки до книги о Netty, которую нам рекомендовали в том числе благодарные читатели нашего хаброблога.

Симфония асинхронии: задачи JavaFX и сокеты Netty - 1

Признаться, у нас давно не выходило ничего узкотематического по Java. Но тема Netty вызывает на Хабре самый живой интерес, поэтому мы решили разместить обзорный материал по ней (автор почерпнул идею поста из этой книги) и устроить самый ориентировочный опрос. Заходите, высказывайтесь!
Читать полностью »

Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

Предыстория

Однажды, путешествуя в поезде, я захотел посчитать, каково расстояние между столбами электропередач. Вооружившись обычными часами и оценивая среднюю скорость поезда 80-100км/ч (25 м/с), я засекал время между 2-мя столбами. Как ни странно, этот наивный метод давал очень удручающие результат, вплоть до 1.5-2 кратной разницы. Естественно метод несложно было исправить, что я и сделал, достаточно было засечь 1 минуту и посчитать количество столбов. И не важно, что мгновенная скорость на протяжении минуты может варьироваться и даже не важно посчитаем мы последний столб или минута истечет посередине, потому как измерений вполне достаточно для требуемого результата.
Смысл теста в том, чтобы получить убедительные для себя и для других измерения.

Тесты «на коленке»

Эта история мне напоминает то, что происходит с тестированием производительности в Software Engineering. Достаточно частое явление — запуск 1-2 тестов, построение графиков и получение выводов о scalability система. Даже, если есть возможность применить МНК или узнать стандартную ошибку, это не делается за «ненадобностью.» Особенно интересная ситуация, когда после этих 2 измерений, люди обсуждают насколько быстрая система, как она масштабируется и сравнивают её с другими системами по личным ощущениям.
Конечно, оценить, насколько быстро выполняется команда, не сложно. С другой стороны, быстрее не значит лучше. Системы ПО имеют свыше 10 различных параметров, от hardware на котором они работают до input, которые вводит пользователь в разные моменты времени. И зачастую 2 эквивалентных алгоритма могут давать совершенно разные параметры масштабируемости в разных условиях, что делает выбор совсем не очевидным.

Недоверие к тестам

С другой стороны результаты измерений всегда остаются источником спекуляций и недоверий.
— Вчера мы меряли было X, а сегодня 1.1*X. Кто-то что-то менял? — 10% — это нормально, у нас теперь больше записей в БД.
— При проведении теста был отключен антивирус, скайп, анимация заставки?
— Не-не, для нормальных тестов нам надо закупить кластер серверов, установить микросекундную синхронизацию времени между ними… удалить ОС, запускать в защищенном режиме…
— Сколько пользователей мы поддерживаем? У нас 5000 зарегистрированных пользователей, вдруг 20% из них залогинится, надо запускать тесты с 1000 параллельными агентами.

Читать полностью »

Программирование — занятие не для каждого - 1

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

Если вы периодически уделяете внимание культурологическим аферам Кремниевой Долины, то несомненно слышали о движении «Учись программировать» (“Learn to Code”). Политики, некоммерческие организации вроде Code.org, и даже бывший мэр Нью-Йорка Майкл Блумберг занимаются пропагандированием того, что они рассматривают в качестве навыка, который скоро будет необходим всему трудоспособному населению.

Возможно, отчасти это и так.

Но реальная картина получается несколько сложнее.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js