Habrahabr лучшее

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

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


Команда сборки Docker 18.09 включает множество обновлений. Основная особенность — в том, что появился абсолютно новый вариант реализации серверной части, он предлагается в рамках проекта Moby BuildKit. Серверное приложение BuildKit обзавелось новыми функциями, среди которых — поддержка секретов сборки Dockerfile.

Читать дальше →
Любая интернет-компания обязана тайно изменить программный код по требованию властей
6 декабря 2018 года парламент Австралии принял Assistance and Access Bill 2018 — поправки к Telecommunications Act 1997 о правилах оказания услуг электросвязи.

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

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

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

Для себя я нашел ответ на стыке агротехнологий, переработки мусора, полезного питания и Ардуино.



С удовольствием делюсь этим уникальным опытом со всеми балконными фермерами. Но все по порядку.
Читать дальше →
Вместо предисловия
Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →

Начиная с версии 6.27 статический анализатор кода PVS-Studio может классифицировать свои предупреждения согласно стандартам MISRA C и MISRA C++. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
Читать дальше →
Интернет вещей врывается в нашу жизнь. Где-то совсем незаметно, где-то распихивая существующие порядки с изяществом паровоза. Всё больше устройств подключаются к сети, и всё больше становится разных приложений, веб-панелей, систем управления, которые привязаны к конкретному производителю, или, что еще хуже — к конкретному устройству.

Но что делать тем, кто не хочет мириться с таким состоянием, и хочет одно кольцо один интерфейс, чтобы править всеми? Конечно же, написать его самим!



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

Что такое Tarantool? Это связка «сервер приложений — база данных». Можно использовать её как базу данных с хранимыми процедурами, а можно как сервер приложений со встроенной базой данных. Вся внутренняя логика, будь она пользовательской или в виде хранимых процедур, пишется на Lua. Благодаря использованию LuaJIT, а не обычного интерпретатора, в скорости она не сильно уступает нативному коду.

Еще один важный фактор — Tarantool это noSQL база данных. Это означает, что вместо традиционных запросов вроде «SELECT… WHERE» вы управляете данными напрямую: пишете процедуру, которая переберет все данные (или их часть) и выдаст вам их. В версии 2.x поддержку SQL-запросов добавили, но панацеей они не являются — для высокой производительности часто важно понимать, как именно исполняется тот или иной запрос, а не отдавать это на откуп разработчикам.

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

Поехали!
Читать дальше →

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.31.0, а также "Rust 2018". Rust — это язык программирования, который дает возможность каждому создавать надежное и эффективное программное обеспечение.


Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.31.0 вам достаточно выполнить:


$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.31.0 можно ознакомиться на GitHub.


Что вошло в стабильную версию 1.31.0

Rust 1.31, возможно, самый значительный выпуск со времен Rust 1.0! В данный выпуск включена первая итерация «Rust 2018», но это не единственное нововведение! Обзор улучшений будет длинный, поэтому вот оглавление:


  • Rust 2018
    • Нелексические времена жизни
    • Изменения системы модулей
  • Дополнительные правила вывода времен жизни
  • const fn
  • Новые инструменты
  • Инструментальные проверки качества кода
  • Документация
  • Предметные рабочие группы
  • Новый веб-сайт
  • Стабилизация стандартной библиотеки
  • Улучшения в Cargo
  • Разработчики выпуска
Читать дальше →
Всем знакома пословица «Один переезд равен двум пожарам». Смысл этой народной мудрости в том, что процесс переезда сопряжен со стрессами, суетой, переживаниями и, конечно, беготней, которые бывают и при пожаре, а подчас и с утратами ценного имущества. К тому же, когда собираешься в спешке, пакуешь вещи для перевозки бессистемно, то велика вероятность что-то потерять, разбить, забыть.

Читать дальше →
Ленни – это телефонный чат-бот десятилетней давности, созданный для троллинга торговцев по телефону, у которого в онлайне появился целый культ. Он удивительно убедителен, но эффективен ли он на самом деле?


Если вам кажется, что количество рекламных звонков за последние несколько лет возросло – вам это не кажется. Согласно газете New York Times, количество автоматических и мошеннических звонков [в США] только за последний год увеличилось на треть и составило 3,4 млрд звонков в месяц. Всплеск телемаркетинга даже заставил Федеральную комиссию по связи США (FCC) выпустить новые правила, которые позволяют телекомам блокировать некоторые автоматические звонки. На заседаниях конгресса законодатели США несколько раз обсуждали эту проблему и представили 12 различных законопроектов, призванных обуздать злоупотребление телемаркетингом.
Читать дальше →
Сенсорные дисплеи и тачпады — вещи, с которыми мы взаимодействуем на протяжении всего нашего дня. Однако первые ЭВМ обходились без них: инструменты ввода прошли впечатляющий эволюционный путь.



Михаил Федосов, арт-директор «Наносемантики» и спикер курса Product Design Weekend, собрал для нас краткую историю развития человеко-машинные интерфейсов, рассказал об альтернативных способах ввода данных и о системах, которые могут стать популярны в ближайшем  будущем. Под катом много текста и фотографий, вызывающих ностальгию.
Читать дальше →
Сложно поверить, но прошло уже 25 лет с момента выхода этой, без преувеличения, эпохальной игры. Четверть века назад мир изменился.

До были платформеры и простенькие каркасные 3D игры с мультяшной графикой. После появились все более и более реалистичные FPS.

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

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

До были тихие игры с приятной музыкой. После появились игры, полные рева монстров и тяжелой, агрессивной музыки.

До не было DOOM, а после…
Читать дальше →
После небольшого перерыва с лекциями мы начинаем предновогодний спринт. Как и год назад, он будет целиком состоять из материалов с большой конференции FrontTalks, которую Яндекс провёл в Екатеринбурге. Начнём с выступления Антона Кастрицкого — разработчика из Яндекс.Маркета. Антон показал на примерах, как и из чего собираются интерфейсы, а также рассказал про тексты, их оформление, доступность и производительность в контексте современных веб-приложений.


— Меня зовут Антон, я работаю разработчиком интерфейсов в команде партнерских интерфейсов Яндекс.Маркета. Cегодня я хочу поговорить про типографику в вебе.

Читать дальше →
Билл Гейтс регулярно делится в своем блоге впечатлениями о прочитанных книгах и советует те, что ему понравились. В начале декабре появилась новая запись:

Если вы любите на праздники дарить или получать книги, то вы похожи на меня. Хорошее чтиво – лучший подарок: вдумчивый и в упаковке (батарейки или сборка не требуются). Обычно я не забочусь о том, подходят ли в качестве подарка книги из списка, который я составляю к концу года, но в этом году подборка вполне подарочная.
Читать дальше →
Мы запустили проект по бесплатному обучению школьников основам современной веб-разработки в стеке Node.js / React. Пока проект работает в пилотном режиме в нескольких школах Кировской области, но мы принимаем заявки на подключение из других регионов – https://coderfactory.ru.


Читать дальше →
В нулевых годах в Азии началась вторая «лунная гонка». В отличие от первой, когда в 1960-х соревновались СССР и США, стран-участников оказалось больше, а вот бюджеты меньше, и общие сроки дольше. На старте было три участника — Индия, Китай, Япония. Сейчас же определился четкий лидер. Китай вырвался вперед еще в 2013, первым совершив мягкую посадку и высадив луноход. Летящая сейчас к Луне автоматическая межпланетная станция «Чанъэ-4» совершит первую посадку на обратной стороне Луны (что потребовало отдельной миссии для обеспечения связи) и является одним из шагов большой программы.


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

SELECT hour(datetime), somename, count(*), sum(somemetric) from table where datetime > :monthAgo group by 1, 2 order by 1 desc, 2
Время от времени самые разнообразные подобные запросы начинают появляться, и если один раз стерпишь и поможешь — увы, обращения будут поступать и в будущем.

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

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

Так вот — это умеет делать расширение PipelineDB

Демо с их сайта, как это работает

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

На мой взгляд самыми неожиданно сложными, пусть и кажущимися устаревшими вещами являются кварцевые часы и пленочные фотоаппараты. Доступными их сделали сотни лет развития мирового индустриального производства и многие миллиарды потраченные на R&D.

Кварцевыми часами в этот раз мы и займемся. В качестве пациента — наручные часы Луч Белорусского производства, которые мне подарили в незапамятные времена. Читать дальше →

Это tutorial по библиотеке TensorFlow. Рассмотрим её немного глубже, чем в статьях про распознавание рукописных цифр. Это tutorial по методам оптимизации. Совсем без математики здесь не обойтись. Ничего страшного, если вы её совершенно забыли. Вспомним. Не будет никаких формальных доказательств и сложных выводов, только необходимый минимум для интуитивного понимания. Для начала небольшая предыстория о том, чем этот алгоритм может быть полезен при оптимизации нейронной сети.




Полгода назад друг попросил показать, как на Python сделать нейросеть. Его компания выпускает приборы для геофизических измерений. Несколько различных зондов в процессе бурения измеряют набор сигналов, связаных с параметрами окружающей скважину среды. В некоторых сложных случаях точно вычислить параметры среды по сигналам долго даже на мощном компьютере, а необходимо интерпретировать результаты измерений в полевых условиях. Возникла идея посчитать на кластере несколько сот тысяч случаев, и на них натренировать нейронную сеть. Так как нейросеть работает очень быстро, её можно использовать для определения параметров, согласующихся с измеренными сигналами, прямо в процессе бурения. Детали есть в статье:


Kushnir, D., Velker, N., Bondarenko, A., Dyatlov, G., & Dashevsky, Y. (2018, October 29). Real-Time Simulation of Deep Azimuthal Resistivity Tool in 2D Fault Model Using Neural Networks (Russian). Society of Petroleum Engineers. doi:10.2118/192573-RU


Одним вечером я показал, как keras реализовать простую нейронную сеть, и друг на работе запустил обучение на насчитанных данных. Через пару дней обсудили результат. С моей точки зрения он выглядел перспективно, но друг сказал, что нужны вычисления с точностью прибора. И если средняя квадратичная ошибка (mean squared error) получилась в районе 1, то нужна была 1е-3. На 3 порядка меньше. В тысячу раз.

Читать дальше →
TL;DR: IPFS позволяет хостить статические сайты распределённо, доступ к которым можно осуществлять через публичные кеширующие гейты (прозрачные реверс-прокси) в интернете, без необходимости устанавливать программу посетителю. Такие сайты можно раздавать без маршрутизируемого («белого») статического IP-адреса (будет работать за NAT), они остаются работоспособными при кратковременном (несколько часов) отсутствии раздающих, за счет кеша на гейтах. К гейтам по желанию можно привязать свой домен, причём добавить DNS-записи можно на несколько гейтов одновременно, для повышения надёжности и балансировки нагрузки. Сайт могут скачать другие пользователи IPFS и помочь с раздачей.
IPFS отлично подходит для статических блогов, простых сайтов, файловых архивов (в качестве замены Bittorrent), а также просто для единовременной передачи больших файлов без предварительной загрузки их на какой-либо сервис.

Что такое IPFS?IPFS — децентрализованная пиринговая система передачи файлов, по принципу работы похожая на BitTorrent, но с возможностью доступа через HTTP, для Web. Все скачиваемые пользователем файлы временно кешируются IPFS-демоном и раздаются другим пользователям, запрашивающим их. Важные файлы можно «прикрепить» (pin) к IPFS-демону, тогда они не исчезнут из кеша. Читать дальше →


Впервые биоинженерные межпозвонковые диски были успешно имплантированы и обеспечивали долговременную функцию в самой большой модели животных, когда-либо использовавшейся в этом направлении. Новое исследование Penn Medicine, опубликованное в Science Translational Medicine, показывает убедительные свидетельства, что клетки пациентов, страдающих от боли в шее и спине, могут быть использованы в инженерии нового межпозвонкового диска в лаборатории, чтобы заменить повреждённый. Исследование, которое было выполнено с использованием коз, проводилось междисциплинарной группой Медицинского факультета, Школы инженерии и прикладных наук и Школы ветеринарной медицины при Университете Пенсильвании.
Читать дальше →

Страницы

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

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