• ShadowCloud — универсальный облачный клиент

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


    Как-то так он выглядит:


    image


    Что умеет


    • Прямая загрузка (без использования локального диска) в Google Drive, Яндекс Диск (WebDAV), Облако Mail.Ru, Dropbox
    • Полное шифрование по умолчанию, большой выбор алгоритмов и настроек
    • Защищённая паролем база данных
    • Чексуммы и дедупликация
    • Убирает ограничение на размер файла
    • Репликация или разбиение файлов по разным хранилищам
    • Стриминг медиа без ограничений
    • Создаёт превью и извлекает метаданные и текст документов
    • Версионирование файлов и всей структуры директорий
    • Markdown заметки, подсветка кода
    • Быстрое сохранение веб-страниц со встроенными ресурсами
    • Кэширование файлов в памяти
    • Использование в виде локального диска с помощью FUSE (требуется winfsp)
    • Открытый исходный код, почти каждый аспект настраивается через shadowcloud.conf
    Читать дальше →
  • Apache Ignite + Apache Spark Data Frames: вместе веселее

      Привет, Хабр! Меня зовут Николай Ижиков, я работаю в компании «Сбербанк Технологии» в команде развития Open Source решений. За плечами 15 лет коммерческой разработки на Java. Я коммитер Apache Ignite и контрибьютор Apache Kafka.

      Под катом вас ожидает видео и текстовая версия моего доклада на Apache Ignite Meetup о том, как использовать Apache Ignite вместе с Apache Spark и какие возможности мы для этого реализовали.


      Читать дальше →
      • +19
      • 2,6k
      • 3
    • Cassandra Sink для Spark Structured Streaming

      Пару месяцев назад я начала изучать Spark, и в какой-то момент столкнулась с проблемой сохранения вычислений Structured Streaming в базе данных Cassandra.

      В данном посте я привожу простой пример создания и использования Cassandra Sink для Spark Structured Streaming. Я надеюсь, что пост будет полезен тем, кто недавно начал работать со Spark Structured Streaming и задается вопросом, как выгружать результаты вычислений в базу данных.

      Идея приложения очень проста — получить и распарсить сообщения из кафки, выполнить простые трансформации в спарке и сохранить результаты в кассандре.
      Читать дальше →
    • Зачем человеку Scala?

      • Перевод
      Здравствуйте, коллеги.

      Не так давно мы допечатали книгу Одерски, Спуна и Веннерса о Scala 2.12. Ведь до Scala 3 еще далеко.


      Автор сегодняшней статьи — Адам Уорски, сооснователь компании «SoftwareMill» и опытный Scala-разработчик. У него получилось интересное резюме сильных сторон современного языка Scala, которое мы и предлагаем вашему вниманию.
      Читать дальше →
    • Akka антипаттерны: слишком много акторов

      image

      По akka мало материалов на Хабре. Решил перевести некоторые антипаттерны, описанные Мануэлем в своем блоге. Они действительно могут быть неочевидны людям впервые столкнувшимся с фреймворком.
      Читать дальше →
      • +11
      • 3,5k
      • 4
    • Chisel — (не совсем) новый подход к разработке цифровой логики


      С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального программирования к разработке rtl, что является достаточно долгожданным шагом, который может наполнить свежим воздухом легкие разработчиков ASIC и FPGA.


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

      Читать дальше →
    • Заметки дилетанта, или Сказ о том, как Scala-разработчик ПЛИС конфигурировал

      • Tutorial

      Долгое время я мечтал научиться работать с FPGA, присматривался. Потом купил отладочную плату, написал пару hello world-ов и положил плату в ящик, поскольку было непонятно, что с ней делать. Потом пришла идея: а давайте напишем генератор композитного видеосигнала для древнего ЭЛТ-телевизора. Идея, конечно, забавная, но я же Verilog толком не знаю, а так его ещё и вспоминать придётся, да и не настолько этот генератор мне нужен… И вот недавно захотелось посмотреть в сторону RISC-V софт-процессоров. Нужно с чего-то начать, а код Rocket Chip (это одна из реализаций) написан на Chisel — это такой DSL для Scala. Тут я внезапно вспомнил, что два года профессионально разрабатываю на Scala и понял: время пришло...


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

      Читать дальше →
    • Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения

        Часть 2: Решение


        И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы, которые возникают при организации взаимодействия между кластером, на котором хранятся и обрабатываются исходные данные, и внешним сервисом классификации. Во второй части мы рассмотрим один из вариантов решения данной задачи с использованием подхода Reactive Streams и его реализации с использованием библиотеки akka-streams.

        Читать дальше →
      • Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения

          Часть 1: Постановка задачи


          Привет, Хабр! Я архитектор решений в компании CleverDATA. Сегодня я расскажу про то, как мы классифицируем большие объемы данных с использованием моделей, построенных с применением практически любой доступной библиотеки машинного обучения. В этой серии из двух статей мы рассмотрим следующие вопросы.

          • Как представить модель машинного обучения в виде сервиса (Model as a Service)?
          • Как физически выполняются задачи распределенной обработки больших объемов данных при помощи Apache Spark?
          • Какие проблемы возникают при взаимодействии Apache Spark с внешними сервисами?
          • Как при помощи библиотек akka-streams и akka-http, а также подхода Reactive Streams можно организовать эффективное взаимодействие Apache Spark с внешними сервисами?

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

          Читать дальше →
          • +53
          • 9,1k
          • 9
        • GraalVM: смешались в кучу C и Scala

          • Tutorial

          Не знаю, как на вас, а на меня в последнее время производят сильное впечатление статьи про новые Java-технологии — Graal, Truffle и все-все-все. Выглядит так, как будто раньше ты придумал язык, написал интерпретатор, порадовался какой язык хороший и погрустил, какой медленный, написал к нему нативный компилятор и/или JIT, а ведь нужен ещё отладчик… LLVM есть, и на том спасибо. После прочтения этой статьи сложилось (несколько гротескное) впечатление, что после написания интерпретатора специального вида работу можно, в принципе, и завершать. Ощущение, что теперь кнопка "Сделать зашибись" стала доступна и программистам-компиляторщикам. Нет, конечно, JIT-языки медленно стартуют, им нужно время на прогрев. Но, в конце концов, время и квалификация программиста тоже не бесплатные — в каком бы мире информационных технологий мы бы жили, если бы до сих пор писали всё на ассемблере? Нет, может, всё бы, конечно, и летало (это если программист грамотно инструкции разложил), но вот насчёт суммарной сложности активно используемых программ у меня есть некоторые сомнения...


          В общем, я прекрасно понимаю, что в дилемме «затраченное программистом время vs идеальность полученного продукта ("ручная работа")» границу можно двигать до скончания веков, поэтому давайте сегодня просто попробуем воспользоваться традиционной библиотекой SQLite без подгрузки нативного кода в чистом виде. Будем использовать уже готовую truffle-реализацию языка для LLVM IR, зовущуюся Sulong.

          Читать дальше →
          • +17
          • 4,9k
          • 3

        Самое читаемое