» Материалы за Январь 2018 года » Страница 5

 

Финал второго МЕГА Accelerator: итоги пилотных запусков

Автор: admin от 30-01-2018, 17:45, посмотрело: 66

Летом МЕГА провела отборочный этап второго акселератора: из 275 команд выбрали девять финалистов. Осенью их ожидал запуск пилотов на площадках с арендаторами МЕГИ и затем самое интересное — оценка этих запусков. Здесь мы расскажем о том, как прошли дебютные проекты, по итогам которых определился победитель МЕГА Accelerator.



Финал второго МЕГА Accelerator: итоги пилотных запусков

Категория: Программирование

 

Тринадцатая конференция «Свободное программное обеспечение в высшей школе»

Автор: admin от 30-01-2018, 17:45, посмотрело: 78

Тринадцатая конференция «Свободное программное обеспечение в высшей школе»


Побывал я тут в славном городе Переславле-Залесском на 13-й конференции “Открытое программное обеспечение в высшей школе”, организованной Базальт СПО и ИПС РАН. И показалось мне, что на данной конференции поднимались вопросы, которые могут быть интересны читателям Хабра.

Категория: Программирование

 

Спецпроекты в Сбербанк-Технологиях: как в банках готовят Hadoop, Spark, Kafka и прочую Big Data

Автор: admin от 30-01-2018, 17:45, посмотрело: 91

Все мы любим посмеяться над дремучим legacy на Java, которое якобы живёт в банках. После прочтения этой статьи у вас появится понимание другой грани этой истории. Оказывается, конкретно в Сбербанк-Технологиях есть целые большие отделы, занимающиеся прорывными технологиями и направлениями, включая Big Data и Machine Learning. Более того, скоро мы можем оказаться в мире, где Machine Learning встроен чуть ли не в каждую кофеварку. К добру или к худу, но Internet of Things, следящий за нами тысячью глаз из каждого банкомата, — куда более актуальное прочтение этой старой шутки.



Как вы, наверное, заметили, я пишу на Хабре про виртуальные машины, внутренности OpenJDK, JVM и другую системную разработку. Почему эта статья — о банковском софте? Потому что это актуально как никогда. Вот представьте, вы такой весь в белом, дважды Data Scientist и четырежды важный гуру JIT-компиляции. Что дальше? Кому всё это может быть нужно прямо здесь и сейчас? Часто слышу рассуждения на тему: «Вот сейчас ты ковыряешься в своей любимой Java, а завтра никто тебя на работу не возьмёт». Это очень забавное и опасное заблуждение. Благодаря таким товарищам, о которых пойдёт речь в этой статье, работа у нас будет всегда.



Спецпроекты в Сбербанк-Технологиях: как в банках готовят Hadoop, Spark, Kafka и прочую Big Data Конечно, на слово мне никто верить не должен, поэтому специально для Хабра я сорвался на самолёт в Москву, чтобы пообщаться с начальником отдела разработки спецпроектов в Сбербанк-Технологиях. Вадим Сурпин потратил на меня чуть больше часа, а в этом интервью будут только самые важные мысли из нашего разговора. Кроме того, удалось уговорить Вадима подать заявку на участие в нашей конференции JBreak. Более того, Вадим — первый человек, который показался мне достойным инвайта на Хабр: vadsu (инвайт был честно заработан статьей про хакинг ChromeDriver).


Категория: Программирование

 

Объект в футляре или Optional в Java 8 и Java 9. Часть 4: «Футляр с двойным дном»

Автор: admin от 30-01-2018, 17:45, посмотрело: 66

Объект в футляре или Optional в Java 8 и Java 9. Часть 4: «Футляр с двойным дном»




Это четвёртая статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В первой статье было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. Вторая статья посвящена описанию методов класса Optional в том виде, как он появился в Java 8. Третья — методам, добавленным в класс в Java 9.



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



Если сервис возвращает Optional, о причине мы ничего не узнаем. Значит надо использовать что-то похожее на Optional, но содержащее информацию об ошибке в случае неуспеха.

Категория: Программирование

 

Все о переопределении в Java

Автор: admin от 30-01-2018, 17:20, посмотрело: 68

Всем доброго!



У нас на этой недели практически юбилей — стартует пятая группа "Разработчик Java", а это значит, что мы снова делимся всякими полезностями :)



Поехали.



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



Дочерний класс может переопределить методы экземпляра своего родительского класса. Это называется переопределением метода. Сигнатура (тип возврата, тип параметров, количество параметров и порядок параметров) должна быть такой же, какой была определена в родительском классе. Переопределение метода выполняется для достижения полиморфизма во время выполнения программы.



Все о переопределении в Java

Категория: Программирование

 

Абсурдно быстрое кодирование и декодирование base64

Автор: admin от 30-01-2018, 17:20, посмотрело: 65

Об авторе: Дэниель Лемер — профессор компьютерных наук в Университете Квебека (Канада). Его исследования затрагивают производительность программного обеспечения и инженерию данных



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



Однако мы часто используем текстовые форматы; например, веб-страницы и электронные письма должны быть в текстовом формате. Как же мы отправляем изображения по электронной почте? Как внедряем картинки на веб-страницы? Один из вариантов — поставить ссылку на реальный бинарный файл. Другой типичный подход — встроить бинарный файл непосредственно в тело письма или веб-страницы с помощью base64. Base64 — это просто стандартный текстовый формат, который можно использовать для кодирования любых бинарных данных. Если быть точным, то код base64 — всегда валидный текст ASCII (и поэтому также валидный UTF-8). Каждый байт кода base64 содержит 6 бит данных. То есть мы «теряем» примерно 2 бита на байт. Поэтому эквивалент base64 бинарного файла будет примерно на 33% больше. На практике такое увеличение размера редко становится проблемой. Насколько я знаю, приложения к электронным письмам почти всегда кодируются в base64.



При написании HTML я нашёл удобным внедрять изображения напрямую в HTML-код с помощью схемы data URI. Например, в недавней статье я таким образом закодировал файл PNG. Крупнейшие веб-сайты вроде Google постоянно используют эту схему. Небольшим недостатком становится то, что веб-страницы чуть увеличиваются в размере (что очевидно) и нельзя воспользоваться преимуществами кэширования изображений. Но зато браузер экономит один сетевой запрос.

Категория: Программирование » Веб-разработка

 

Майнер на сайте — зло (но может стать и добром)

Автор: admin от 30-01-2018, 17:20, посмотрело: 146

Часто на Хабре можно встретить комменты в духе «Майнер — хороша замена/дополнение к рекламе на сайте» или «Я лучше отдам 10-40% CPU». Данная статья приведёт аргументы, почему такие утверждения в корне неверны. Также статья выдвинет предположение, как можно решить приведённые проблемы, позволив майнерам стать дополнительным источником монетизации, что может положительно сказаться на вебе.



Справка: майнер — это программа для майнинга криптовалюты. Может встраиваться в сайты, принося автору сайта прибыль. Майнинг может использовать как мощности процессора, так и видеокарты (javascript может запускать шейдеры с помощью WebGL).

Категория: Программирование » Веб-разработка

 

Как мы управляем качеством данных

Автор: admin от 30-01-2018, 17:20, посмотрело: 57

Управление качеством данных – новая дисциплина. Постепенно направление набирает обороты в нефтяной отрасли, банковском деле и ритейле. Каждый идет своим путем, практически наощупь.

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



Как мы управляем качеством данных

Визуализация качества данных на экране в офисе. Уровень блоков пропорционален количеству ошибок.

Категория: Программирование » Веб-разработка

 

Numphp — работа с числовыми векторными массивами и матрицами

Автор: admin от 30-01-2018, 17:20, посмотрело: 49

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



Без лишних вступлений сразу пример того, как можно создать матрицу 3 на 4, используя возможности numphp.



code_0

Категория: Программирование, Веб-разработка

 

Пришло время для открытых и свободных процессоров?

Автор: admin от 30-01-2018, 13:05, посмотрело: 99

Пришло время для открытых и свободных процессоров?Раскрытие уязвимостей Meltdown и Spectre снова привлекло внимание к багам на аппаратном уровне. Многое сделано для улучшения (всё ещё слабой) безопасности нашего программного обеспечения, но всё напрасно, если оборудование даёт сбой. Процессоры в наших системах по-прежнему, в основном, проприетарные и уже преподнесли ряд неприятных сюрпризов (например, в движке Intel Management Engine). Поэтому встаёт естественный вопрос о переходе на железо open-source, как мы сделали с нашим программным обеспечением. Такой переход вполне возможен и даёт ряд преимуществ, хотя и не является панацеей.



Учитывая сложность современных процессоров и свирепый рынок, где они продаются, их разработка по принципам open-source может показаться необычной идеей. Но в этой области уже есть серьёзные инициативы; так что идея свободного дизайна CPU — не просто фантазия. Небольшое исследование темы выявляет несколько проектов; хотя дальнейший список явно не полон.

Категория: Железо