Как стать автором
Обновить
38
0
Александр Белокрылов @alexbel

Пользователь

Отправить сообщение

Обзор наиболее интересных материалов по анализу данных и машинному обучению №3 (обзор онлайн курсов)

Время на прочтение7 мин
Количество просмотров27K

Данный выпуск обзора наиболее интересных материалов по анализу данных и машинному обучению полностью посвящен онлайн-курсам по тематике Data Science. В прошлом выпуске был представлен список онлайн-курсов, стартующих в ближайшее время. В данном выпуске я постарался собрать наиболее интересные онлайн-курсы по теме анализа данных. Стоит отметить, что некоторые курсы уже закончились, но у большинства таких курсов можно посмотреть архив всех учебных материалов.
Начинается обзор с набора курсов от Johns Hopkins University на Coursera, которые объединены в одной специализации «Data Science Specialization», поэтому имеет смысл рассмотреть их отдельно от остальных курсов. Это 9 официальных курсов специализации и два дополнительных Mathematical Biostatistics Boot Camp 1 и 2, которые официально не входят в специализацию. Важно отметить, что весь набор данных курсов регулярно начинается заново и в общем-то можно достаточно гибко построить свой график продвижения по специализации. Большинство курсов длятся 4 недели. Язык R является основным языком программирования в данном наборе курсов. Далее идет список курсов из специализации Data Science от Johns Hopkins University:
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии5

Нейроинтерфейсы для людей (2003-2016). Купить или разработать самому?

Время на прочтение5 мин
Количество просмотров86K


Было время, когда я за один присест выливал на голову стакан жидкости для линз, чтобы поэкспериментировать с Emotiv`ом. Затем был тюбик геля из шприца в лаборатории МГУ. Сейчас я обладатель «сухого» одноэлектродного нейроинтерфейса NeuroSky MindWave. (Кстати, это отличная игрушка для летнего лагеря, я сделал на инженерной олимпиаде задание по поиску мозговых слизней имплантов, для этого надо было поставить рекорд по «удержанию шарика в воздухе мыслью» — базовая бесплатная игруха к NeuroSky)

Как показывает опрос, нейроинтерфейсы неизбежны.



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

Под катом обзор устройств, которые были доступны в потребительском сегменте и open-source проекты для самостоятельного изготовления и создания софта.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии25

Запускаем Java Runtime на 256KB оперативной памяти

Время на прочтение3 мин
Количество просмотров27K
image
Действительно, с выходом Java ME Embedded 8.1, полноценный Java-рантайм теперь доступен на плате Freescale K64F, которая несет на борту 256KB RAM и оснащена процессором на базе архитектуры ARM Cortex M4. Еще одной важной особенностью нового выпуска Java ME SDK стала поддержка Eclipse IDE. Страница нового релиза Java ME Embedded 8.1 здесь: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html

Платформа Java ME Embedded 8.1 специально создана для того, чтобы перенести все полезные функциональные возможности Java на устройства с ограниченными аппаратными возможностями и даже, микроконтроллеры. Появление платформы Java ME Embedded, во многом, обусловлено развитием нового направления в информационных технологиях, Интернета Вещей (Internet of Things, IOT). Развитие IoT связано как с новыми возможностями, так и с новыми проблемами. Часть задач, таких как безопасность, работа с сетевыми подключениями, общение с внешними интерфейсами UART, I2C, SPI, GPIO успешно решает Java ME Embedded 8.1. Использование Java вместо нативных инструментов сокращает время выпуска продукта и открывает доступ к значительным трудовым ресурсам. Кстати, а вы знаете, что команда разработки Java ME Embedded почти полностью находится в Санкт-Петербурге? Что еще интересного приготовили наши разработчики вы узнаете дальше…
Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии58

Трансформации AST — Первый шаг к тяжёлым веществам

Время на прочтение7 мин
Количество просмотров19K
А давайте сделаем magic с вашим Java кодом. Вот такой:


Берем это:
import groovy.transform.Canonical
import groovy.transform.TupleConstructor

@Canonical
@TupleConstructor
class Person {
    int id
    String firstName
    String lastName
    Date birthdate
}

Компилируем, и в байткоде получаем аналог вот этого:
Адский бойлерплейт на Джаве на 100 с лишним строк
import java.util.Date;
import java.util.Map;

public class Person {
    private int id;
    private String firstName;
    private String lastName;
    private Date birthdate;

    //Эта штука добавлена @TupleConstructor-ом
    public Person(Map parameters){
        this.id = (int) parameters.get("id");
        this.firstName = (String) parameters.get("firstName");
        this.lastName = (String) parameters.get("lastName");
        this.birthdate = (Date) parameters.get("birthdate");
    }

    public Person(int id, String firstName, String lastName, Date birthdate) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.birthdate =birthdate;
    }

    public Person(int id, String firstName, String lastName) {
        this(id, firstName, lastName, null);
    }

    public Person(int id, String firstName) {
        this(id, firstName, null, null);
    }

    public Person(int id) {
        this(id, null, null, null);
    }

    public Person() {
        this(0, null, null, null);
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Person person = (Person) o;

        if (id != person.id) return false;
        if (birthdate != null ? !birthdate.equals(person.birthdate) : person.birthdate != null) return false;
        if (firstName != null ? !firstName.equals(person.firstName) : person.firstName != null) return false;
        if (lastName != null ? !lastName.equals(person.lastName) : person.lastName != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = id;
        result = 31 * result + (firstName != null ? firstName.hashCode() : 0);
        result = 31 * result + (lastName != null ? lastName.hashCode() : 0);
        result = 31 * result + (birthdate != null ? birthdate.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", firstName='" + firstName + '\'' +
                ", lastName='" + lastName + '\'' +
                ", birthdate=" + birthdate +
                '}';
    }

    public int getId() {
        return this.id;
    }

    public void setId(int paramInt) {
        this.id = paramInt;
    }

    public String getFirstName() {
        return this.firstName;
    }

    public void setFirstName(String paramString) {
        this.firstName = paramString;
    }

    public String getLastName() {
        return this.lastName;
    }

    public void setLastName(String paramString) {
        this.lastName = paramString;
    }

    public Date getBirthdate() {
        return this.birthdate;
    }

    public void setBirthdate(Date paramDate) {
        this.birthdate = paramDate;
    }
}



Ну, как-бы да, приятно. Но ничего уникального, вот-же есть Lombok, не говоря уже о способности любого хорошего IDE сначала генерить, а потом прятать всесь этот бойлерплейт.

Так зачем именно Groovy, почему AST transformations?
В этой статье я попробую вкраце обосновать, зачем пользоваться Groovy AST transformations в Java проектах, и (опять-же вкраце) рассказать какие AST transfromations есть в Groovy сегодня. Если вы уже знаете зачем, и хотите только «как и что», смело листайте к «Введение в AST transformations».
Читать почему и как AST transformations
Всего голосов 41: ↑31 и ↓10+21
Комментарии35

Mobius: конференция про мобильный хардкор

Время на прочтение5 мин
Количество просмотров5.2K
Привет, хабровчане!

В пятницу, 14 марта в Санкт-Петербурге мы проведём конференцию для разработчиков мобильного ПО.

Что нас ждёт на конференции


  • полтора десятка мощнейших докладов от экспертов по мобильной разработке;
  • мастер-классы по самым актуальным технологиям разработки мобильного ПО;
  • возможность закосить рабочий день пообщаться с коллегами и друзьями в неформальной обстановке;
  • ну и расчленённый червяк :)




На конференции не будет


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



Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии6

Raspberry PI и JAVA: пристальный взгляд

Время на прочтение4 мин
Количество просмотров68K
Недавно на хабрахабре вышла статья о java на raspberry pi, увидев название которой было много ожиданий, а под катом оказался банальный Hello World!

Дело в том, что ко мне как раз ехала моя малинка и хотелось получить ответы на следующие вопросы:

1. Сравнима ли скорость работы java на малинке и настольном компьютере?
2. Насколько удобно работать с java на raspberry?
3. Есть ли адекватные библиотеки для работы с GPIO?

Вот на эти вопросы я и попробую дать ответы в этой статье.

Кому интересно: добро пожаловать под кат (графики и фотографий обнаженной малинки там не будет)
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии62

Разрешение конфликтов в транзитивных зависимостях — Хороший, Плохой, Злой

Время на прочтение6 мин
Количество просмотров44K

Вместо предисловия


В ближайшую субботу мы с EvgenyBorisov будем выступать в Питере на JUG.ru. Будет много веселого трэша и интересной инфы (иногда не разберешь, где проходит граница), и одно из моих выступлений будет посвящено WTF-нутости модульной разработки программ. Я расскажу несколько ужастиков, один из которых будет о том, как все пытаются быстро, гибко и корректно описать зависимости в проекте, и что из этого обычно получается. Интересно? Тогда добро пожаловать в ад!


Скорее, конечно, «Хороший, Удобный и WTF-ный».
Погрузиться в конфликт...
Всего голосов 52: ↑46 и ↓6+40
Комментарии83

Разработка сервера браузерной игры… как учебная дисциплина

Время на прочтение13 мин
Количество просмотров92K
В середине прошлого лета на программерскую рассылку отдела клиентских игр Mail.Ru Group пришло письмо – «Объявлен конкурс на позицию преподавателя курса Java в нашем совместном проекте с МГТУ им. Н. Э. Баумана». Как программист и сотрудник отдела я это письмо тоже получил. Как выпускник физтеха, а в прошлом преподаватель и научный работник, решил откликнуться.
Так для меня началась история работы преподавателем в Технопарке. Собственно об этом (о работе, о Технопарке, о своем курсе и о студентах) я и хочу вам рассказать.

Читать дальше →
Всего голосов 103: ↑81 и ↓22+59
Комментарии43

Чек-лист эффективного вебинара

Время на прочтение4 мин
Количество просмотров12K
Этот список поможет не упустить мелочи, из которых складывается впечатление о вашем вебинаре.

Начинать подготовку к мероприятию (особенно в первый раз) лучше минимум за месяц. Со второго-третьего раза вы уложитесь в две недели, но с каждым новым спикером (моя компания организовывает вебинары внутри услуги «iБрендинг») мы закладываем на подготовку месяц. Это лучше, чем переносить вебинар из-за того, что мало слушателей. Речь, конечно, не о бесплатных мероприятиях, с ними все проще.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии1

Приглашение на конференцию Java Day SPB 2012

Время на прочтение2 мин
Количество просмотров763
image

Дорогие друзья,
10-го февраля 2012 года в Санкт-Петербурге состоится конференция для Java разработчиков Java Day SPB 2012. Конференция состоит из трех потоков: Java EE, Java SE и JavaFX, Java ME и Java для встроенных систем. Мы учли ваши пожелания после прошлогоднего мероприятия и расширили залы для Java SE и ME потоков. Будет еще один новый и очень интересный интерактивный поток, но о нем напишут его создатели и докладчики.

Участие в конференции бесплатное. Требуется предварительная регистрация
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии23

Структуры данных в картинках. HashMap

Время на прочтение6 мин
Количество просмотров1.2M
Приветствую вас, хабрачитатели!

Продолжаю попытки визуализировать структуры данных в Java. В предыдущих сериях мы уже ознакомились с ArrayList и LinkedList, сегодня же рассмотрим HashMap.



HashMap — основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Разрешение коллизий осуществляется с помощью метода цепочек.

А почему бы и нет?
Всего голосов 81: ↑75 и ↓6+69
Комментарии42

Типичные случаи утечки памяти в Java

Время на прочтение4 мин
Количество просмотров74K
Большинству разработчиков известно, что сборщик мусора в Java не является универсальным механизмом, позволяющим программисту полностью забыть о правилах использования памяти и о том, в каких случаях осуществляется его работа. Ниже описаны типичные случаи утечки памяти в java-приложениях, встречающиеся повсеместно.
Итак, о чём должен помнить каждый java-программист.
Читать дальше →
Всего голосов 113: ↑104 и ↓9+95
Комментарии80

Олимпиада по программированию на Java для студентов

Время на прочтение1 мин
Количество просмотров1.2K
image
Компания Oracle совместно с организацией It-планета приглашает студентов ВУЗов и колледжей принять участие в международной олимпиаде по программированию на Java — Oracle Java Olympic. Соревнования проходят в Украине, России, Беларуси и Казахстане и состоят из трех этапов. Для участия желательна регистрация ВУЗа или колледжа в системе, но возможно и персональное участие. Регистрация для участия в олимпиаде проходит до 30 ноября 2011 года на сайте http://world-it-planet.org/. Для регистрации на первой странице выберите «Oracle Java Olympic» и ваш регион проживания.

Первый этап — отборочный. Проводится удаленно. После регистрации участники получают ссылку для прохождения теста и в течении 45 минут отвечают на 40 вопросов по Java технологиям. Тест можно проходить в любое время с 1 по 15 декабря включительно. Для прохождения теста у каждого участника есть только одна попытка.

Второй этап
Победители отборочных этапов в своем ВУЗе приглашаются для участия в очном региональном туре, в ходе которого участники получают 7 задач, 4 часа времени и компьютер с операционной системой, JDK7, NetBeans 7.0.1 и документацией по Java API. Участие в соревнованиях личное.

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

Подробности и детальное описание конкурса смотрите на веб-сайте олимпиады.
http://world-it-planet.org/

Присоединяйтесь уже сегодня!
Всего голосов 10: ↑8 и ↓2+6
Комментарии13

Делаем релизы с помощью Maven в Java

Время на прочтение8 мин
Количество просмотров51K

О чем эта статья?


Эта статья о том:
  1. Что такое релиз?
  2. Как нумеруются релизы?
  3. Зачем при релизе нужен бранч?
  4. Почему релиз это больше, чем просто jar (war, ear, zip, etc)?
  5. Что такое maven-release-plugin?
  6. Делаем бранч c помощью release:branch.
  7. Подготовка к релизу с помощью release:prepare.
  8. Выпускаем релиз с помощью release:perform.

Для чтения и понимания этой статьи я рекомендую освежить свои знания по Maven. Многие термины могут быть непонятны без понимания этой технологии.
Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии24

Java сертификация. Подготовка к SCJP

Время на прочтение5 мин
Количество просмотров70K
В этом месяце я сдавал экзамен SCJP. В этом топике я расскажу о подготовке и экзамене.
В основном для тех, кто собирается сдавать и кому нужно больше информации об этом.

Уточнение


Так как Sun'a больше нет, то и экзамена SCJP тоже нет. Теперь он значится так:
1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam.
прочитать об экзамене и посмотреть задачи
Всего голосов 89: ↑84 и ↓5+79
Комментарии43

Конференция JavaOne Oracle Develop Россия

Время на прочтение1 мин
Количество просмотров623
Конференция JavaOne (ex. TechDays) пройдет в этом году в Москве, 12-13 Апреля, в здании Российской Академии Наук. В конференции три потока: JavaEE, JavaSE, JavaME и мастер-классы. Возможно небольшое отклонение от заданной темы в тех или иных докладах.
С программой конференции можно ознакомиться здесь: www.oracle.com/ru/javaonedevelop/javaone-agenda-ru-302317-ru.html

На конференцию, поделиться знаниями и опытом, приедут специалисты из США, Европы, Азии и конечно из Санкт-Петербургского Центра Высоких Технологий Oracle. Пленарный доклад конференции будет состоять из двух частей: Стив Харрис (главный человек в Oracle по JavaEE) расскажет по перспективах технологии JavaEE7, а Хенрик Шталь о том, как Oracle видит развитие JavaSE. Джером Доше (архитектор Glassfish) расскажет, как наиболее эффективно пользоваться своим детищем.

Также желающим набраться практического опыта небезынтересными будут 5 полуторачасовых мастер-классов.

Во второй день конференции в дополнение к стандартным трекам, откроется небольшой зал Lightning talk где вы сможете послушать 20 минутные выступления от российского Java сообщества

Регистрация на конференцию по ссылке: www.oracle.com/ru/javaonedevelop/index.html

Если есть какие-то вопросы или пожелания, задавайте на все отвечу
Всего голосов 23: ↑19 и ↓4+15
Комментарии14

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность