Forwarded from From Junior to CTO (Ivan Osipov)
Хорошие новости!
6-7 апреля состоится конференция JPoint 2018 в Москве. Я там буду выступать с докладом Kotlin DSL: Теория и Практика. Больше подробностей по ссылке в конце. Учитывая количество статей на эту тему от меня, вы, вероятно, уже знакомы с основами, а доклад - это отличная возможность закрепить знания и, конечно, приходите просто познакомиться!
Ссылка на доклад: https://goo.gl/pSZigZ
6-7 апреля состоится конференция JPoint 2018 в Москве. Я там буду выступать с докладом Kotlin DSL: Теория и Практика. Больше подробностей по ссылке в конце. Учитывая количество статей на эту тему от меня, вы, вероятно, уже знакомы с основами, а доклад - это отличная возможность закрепить знания и, конечно, приходите просто познакомиться!
Ссылка на доклад: https://goo.gl/pSZigZ
jpoint.ru
Kotlin DSL: теория и практика
Разберем все основные инструменты из арсенала разработчика и то, как их можно комбинировать для решения задач тестирования. Проделаем путь от проектирования Идеального Теста до запуска максимально приближенного, чистого и понятного теста для системы планирования…
Forwarded from From Junior to CTO (Ivan Osipov)
Protocol Buffers
Когда передача данных в виде JSON и XML объектов кажется слишком тяжеловесной, на помощь, в качестве альтернативы, приходит Protocol Buffers. Сегодня мы с вами разберемся с этим набирающим популярность протоколом сериализации и напишем небольшой демонстрационный пример на Java.
Статья:
https://tttttt.me/iv?url=https%3A%2F%2Fi-osipov.ru%2Fpost%2Fprotocol-buffers%2F&rhash=cc209de8fde944
Когда передача данных в виде JSON и XML объектов кажется слишком тяжеловесной, на помощь, в качестве альтернативы, приходит Protocol Buffers. Сегодня мы с вами разберемся с этим набирающим популярность протоколом сериализации и напишем небольшой демонстрационный пример на Java.
Статья:
https://tttttt.me/iv?url=https%3A%2F%2Fi-osipov.ru%2Fpost%2Fprotocol-buffers%2F&rhash=cc209de8fde944
t.me
Protocol Buffers
Протокол сериализации для гетерогенных систем
Forwarded from From Junior to CTO (Ivan Osipov)
Система типов в Kotlin
Сейчас пишу статью по Kotlin Generics и тем временем решил освежить знания об иерархии типов. Нашёл отличную статью, которая на пальцах в картинках разбирает иерархию типов, включая Any, Nullable Types, Unit и Nothing. Для новичков в Kotlin - cтатья полезная, для опытных разработчиков, только если закрыть какие-то пробелы.
Ссылка на статью:
http://natpryce.com/articles/000818.html
Сейчас пишу статью по Kotlin Generics и тем временем решил освежить знания об иерархии типов. Нашёл отличную статью, которая на пальцах в картинках разбирает иерархию типов, включая Any, Nullable Types, Unit и Nothing. Для новичков в Kotlin - cтатья полезная, для опытных разработчиков, только если закрыть какие-то пробелы.
Ссылка на статью:
http://natpryce.com/articles/000818.html
Forwarded from From Junior to CTO (Ivan Osipov)
Kotlin Generics
Время чтения: 25 мин.
Первый релиз языка Kotlin включает в себя Kotlin Generics. Обобщенные типы, благодаря которым мы с вами можем писать более гибкие приложения с меньшим дублированием кода и большей типобезопасностью. Одно из важных преимуществ, которое дает вашему приложению использование Generics - проверка типов на этапе компиляции. Дизайнеры языка Kotlin ввели новые ключевые слова для работы с дженериками, что по началу может ввести в ступор даже опытного Java разработчика. Сегодня мы с вами обсудим что такое “дженерики”, удалим страх перед словами типа “контравариантность”, а заодно познакомимся с reified generics и star-projection.
Читать статью:
https://tttttt.me/iv?url=https%3A%2F%2Fi-osipov.ru%2Fpost%2Fkotlin-generics%2F&rhash=cc209de8fde944
Время чтения: 25 мин.
Первый релиз языка Kotlin включает в себя Kotlin Generics. Обобщенные типы, благодаря которым мы с вами можем писать более гибкие приложения с меньшим дублированием кода и большей типобезопасностью. Одно из важных преимуществ, которое дает вашему приложению использование Generics - проверка типов на этапе компиляции. Дизайнеры языка Kotlin ввели новые ключевые слова для работы с дженериками, что по началу может ввести в ступор даже опытного Java разработчика. Сегодня мы с вами обсудим что такое “дженерики”, удалим страх перед словами типа “контравариантность”, а заодно познакомимся с reified generics и star-projection.
Читать статью:
https://tttttt.me/iv?url=https%3A%2F%2Fi-osipov.ru%2Fpost%2Fkotlin-generics%2F&rhash=cc209de8fde944
t.me
Kotlin Generics
Инвариантность, Ковариантность, Контравариантность, Reified Generics, Star-Projection и другая дичь
Сейчас прохожу очередные онлайн курсы, вспоминаю мат. анализ и линейную алгебру, даже жаль, что в моем институте её подавали не так круто, как это делают современные преподаватели, особенно те, кто успел поработать в реальных проектах и применить знания на практике. У онлайн курсов есть один весомый недостаток - отсутствие погружения. Вы можете начинать курсы как угодно часто и бросать их так же часто, более менее реальный вариант - оплатить обучение, но какие есть альтернативы? Вы, наверное, слышали о городе Иннопо́лис с одноименным университетом? Так вот, оказалось, что учиться там можно абсолютно бесплатно. Это то самое реальное погружение в комьюнити и процесс обучения, чего не даст ни один онлайн курс, погружение, которое поможет по настоящему пробить карьерный потолок. Однако, уверен, вам, как и мне, кажется, что "бесплатно" это подозрительно. Оказывается, туда действительно серьёзный отбор, нужны знания Intermediate знания английского, хорошо, что записаться не сложно. Есть 4 направления: Управление разработкой ПО, Разработка безопасных систем и сетей, Управление большими данными, Робототехника. Нашел статью на хабре https://habrahabr.ru/article/329364/ Очень интересно было почитать истории действующих разработчиков, которые уехали учиться. Для тех, кто захотел получить образовательный грант, есть ссылка на описание конкурса в 2018: https://apply.innopolis.ru/~weW4O Был прямо удивлен, когда среди историй прочитал о том, как ребятам довелось пообщаться с Кентом Беком.
Хабр
Жизнь: перезагрузка. Репортаж с отборов в Университет Иннополис
Инновационный город под Казанью появился лишь пять лет назад, но уже успел обрасти сплетнями и противоречиями. Свободная экономическая зона, крутое IT-образование по западным программам, доступная инфраструктура и большие возможности для IT-развития и бизнеса.…
В прошлом посте об Инополисе писал про курсы с мат. анализом и линейной алгеброй. Оказалось, что кому-то интересно и про сами онлайн курсы. В своем блоге дал обзор на них и рассказал как пройти их бесплатно. Почитать можно по ссылке: https://tttttt.me/from_junior_to_senior/94
Telegram
From Junior to Senior
Последюю неделю было мало активности. Заметили? Во всем виноваты МФТИ и Яндекс. Так сложилось, рано утром в прошлую пятницу всемирная паутина заманила меня на курсеру. Иногда случается, что я заглядываю туда в поисках чего-то интересного и иногда нахожу.…
Сегодня в 19.30 (МСК) трансляция митапа. Доклады:
Андрей Бреслав - Kotlin: практика разработки современного языка программирования
Александр Федоров - Как киту съесть Java-приложение и не поперхнуться (про запаковывание Java в докер контейнеры)
Ссылка:
https://www.youtube.com/watch?v=YbRGHWcl6ZE
Андрей Бреслав - Kotlin: практика разработки современного языка программирования
Александр Федоров - Как киту съесть Java-приложение и не поперхнуться (про запаковывание Java в докер контейнеры)
Ссылка:
https://www.youtube.com/watch?v=YbRGHWcl6ZE
YouTube
PS JAVA MEETUP#9
15 февраля - 19:30
Forwarded from From Junior to CTO (Podcast)
Спустя 5 месяцев затишья к вам в радио приемники снова прилетел From Junior To Senior Podcast.
В пятом выпуске подкаста мы обсудим микросервисы, я расскажу о процессе подачи доклада на JPoint и немного поговорим о курсах DataScience.
Sound Cloud
Ищите в iTunes 🎧
Слушайте прямо внутри Telegram
——
Контент о котором я говорю:
Книга: Sam Newman. Создание микросервисов
Point 2018. Kotlin DSL: Теория и Практика
Пост о курсе
В пятом выпуске подкаста мы обсудим микросервисы, я расскажу о процессе подачи доклада на JPoint и немного поговорим о курсах DataScience.
Sound Cloud
Ищите в iTunes 🎧
Слушайте прямо внутри Telegram
——
Контент о котором я говорю:
Книга: Sam Newman. Создание микросервисов
Point 2018. Kotlin DSL: Теория и Практика
Пост о курсе
SoundCloud
#5 Микросервисы. JPoint 2018. Курсы DataScience
В этом выпуске мы обсудим микросервисы, я расскажу о процессе подачи доклада на JPoint и немного поговорим о курсах DataScience.
Книга: Sam Newman. Создание микросервисов
JPoint 2018. Kotlin DSL: Теор
Книга: Sam Newman. Создание микросервисов
JPoint 2018. Kotlin DSL: Теор
Forwarded from From Junior to CTO (Ivan Osipov)
Закон Стиглера об эпонимии
Минутка истории. Пока проходил курсы, услышал про интересное эмпирическое наблюдение, которое описал Стивен Стиглер в своей статье "Stigler's law of eponymy" в 1980 году. Звучит оно следующим образом: "Никакое научное открытие не было названо в чесь первооткрывателя". Эпоним — лицо от имени которого образовано имя нарицательное или имя собственное чего-либо. В России закон Стиглера носит название "принцип Арнольда", который В.И. Арнольд сформулировал в 1998 году.
Для того, чтобы вы представляли масштаб, вот вам несколько примеров:
• Арабские цифры были изобретены в Индии.
• Числа Фибоначчи существовали в индийской математике за 200 лет до н.э.
• Распределение Гауса, тот самый колокольчик, нормальное распределение, ввел Муавр в 1733.
• Болезнь Альцгеймера была описана несколькими людьми до Алоиза Альцгеймера.
Интересно, что, по мнению самого Стиглера, первооткрывателем закона был Роберт Мертон, т.е. закон применим сам к себе.
Вот ссылка с другими примерами:
https://goo.gl/fmVk4A
Минутка истории. Пока проходил курсы, услышал про интересное эмпирическое наблюдение, которое описал Стивен Стиглер в своей статье "Stigler's law of eponymy" в 1980 году. Звучит оно следующим образом: "Никакое научное открытие не было названо в чесь первооткрывателя". Эпоним — лицо от имени которого образовано имя нарицательное или имя собственное чего-либо. В России закон Стиглера носит название "принцип Арнольда", который В.И. Арнольд сформулировал в 1998 году.
Для того, чтобы вы представляли масштаб, вот вам несколько примеров:
• Арабские цифры были изобретены в Индии.
• Числа Фибоначчи существовали в индийской математике за 200 лет до н.э.
• Распределение Гауса, тот самый колокольчик, нормальное распределение, ввел Муавр в 1733.
• Болезнь Альцгеймера была описана несколькими людьми до Алоиза Альцгеймера.
Интересно, что, по мнению самого Стиглера, первооткрывателем закона был Роберт Мертон, т.е. закон применим сам к себе.
Вот ссылка с другими примерами:
https://goo.gl/fmVk4A
Forwarded from From Junior to CTO (Ivan Osipov)
Анализируя данные, часто нам приходится строить графики и если вы учились в техническом вузе, то для вас должно быть очевидно, что далеко не каждый построенный график будет принят. Одни будут отклонены из-за неподписанных осей, другие из-за отсутствия размерностей, третьи смешались и неразличимы на одной диаграмме. Рисовать графики это своего рода искусство. Сегодня я принёс статью, которая рассказывает о популярных ошибках при построении диаграмм. В ней, например, вы узнаете, что pie chart'ы в технической отрасли можно встретить не часто, вместо них используются гистограммы. В статье вы найдете примеры из разных сфер, примеры о корреляции курения и рака лёгких, примеры из химии. Для тех, кто не хочет терять времени на всю статью, я приведу краткий перечень популярных ошибок, которые упоминаются:
- неподписанные оси
- отсутствие размерностей
- излишнее связывание точек рассеивания
- неуместное инвертирование осей
- вводящий в заблуждение масштаб
- недостаточная детализация в экстремумах
- игнорирование существования логарифмического масштаба
Скорее всего, вы получили информацию из этой статьи эмпирическим путем после пятой попытки пересдать лабораторную работу в прошлом, однако это интересная и полезная информация для тех, кому хотябы иногда приходится рисовать графики.
Статья:
http://www.ruf.rice.edu/~bioslabs/tools/data_analysis/graphic_examples.html
- неподписанные оси
- отсутствие размерностей
- излишнее связывание точек рассеивания
- неуместное инвертирование осей
- вводящий в заблуждение масштаб
- недостаточная детализация в экстремумах
- игнорирование существования логарифмического масштаба
Скорее всего, вы получили информацию из этой статьи эмпирическим путем после пятой попытки пересдать лабораторную работу в прошлом, однако это интересная и полезная информация для тех, кому хотябы иногда приходится рисовать графики.
Статья:
http://www.ruf.rice.edu/~bioslabs/tools/data_analysis/graphic_examples.html
Forwarded from From Junior to CTO (Ivan Osipov)
Мягкое введение в машинное обучение
Хочу поделиться прекрасной статьёй, которая дает представление о том, что такое машинное обучение и в чем различие между аналитическими и обучающимися моделями. В качестве важной особенности статьи хочу отметить, что она написана очень просто, на простом английском, и читатель (сужу по себе) получает удовольствие не только от закрепления знаний (или даже от их получения), но и от чтения, практики языка.
Ссылка:
https://miguelgfierro.com/blog/2016/a-gentle-introduction-to-the-basics-of-machine-learning
Хочу поделиться прекрасной статьёй, которая дает представление о том, что такое машинное обучение и в чем различие между аналитическими и обучающимися моделями. В качестве важной особенности статьи хочу отметить, что она написана очень просто, на простом английском, и читатель (сужу по себе) получает удовольствие не только от закрепления знаний (или даже от их получения), но и от чтения, практики языка.
Ссылка:
https://miguelgfierro.com/blog/2016/a-gentle-introduction-to-the-basics-of-machine-learning
Miguelgfierro
A Gentle Introduction to the Basics of Machine Learning
Machine Learning is one of the most important technologies nowadays. It is the key element that allows a computer to learn. It is in fact a subfield of Artificial Intelligence (AI). Right now AI is affecting all industries, from finance to medicine, from…
Решил разузнать поподробнее о жизни людей в Иннополисе.
Студенты живут в современных номерах кампуса, которые уже обставлены новой мебелью. По всей территории раскидан бесплатный Wi-Fi, а сама территория кампуса охраняется. На территории расположился спорт. комплекс университета с тренажерным залом, бассейном и другими ништяками. Естественно, для студентов это всё сделали бесплатно. Никогда не видел, чтобы институт так вкладывался в своих студентов. Судя по фотографиям из их лекционных залов, становится очевидно, что исписанная мелом доска плавно уходит в прошлое, приятно помахать ей в след.
На всякий случай напомню, что в Иннополисе ведется набор на четыре направления магистратуры:
Управление разработкой ПО
Разработка безопасных систем и сетей
Управление большими данными
Робототехника
Студенты живут в современных номерах кампуса, которые уже обставлены новой мебелью. По всей территории раскидан бесплатный Wi-Fi, а сама территория кампуса охраняется. На территории расположился спорт. комплекс университета с тренажерным залом, бассейном и другими ништяками. Естественно, для студентов это всё сделали бесплатно. Никогда не видел, чтобы институт так вкладывался в своих студентов. Судя по фотографиям из их лекционных залов, становится очевидно, что исписанная мелом доска плавно уходит в прошлое, приятно помахать ей в след.
На всякий случай напомню, что в Иннополисе ведется набор на четыре направления магистратуры:
Управление разработкой ПО
Разработка безопасных систем и сетей
Управление большими данными
Робототехника
Раньше писал о Russian AI Cup и даже статьи были об опыте участия в этом чемпионате по разработке ИИ. Russian AI Cup это ежегодный контест и как вы понимаете, ждать целый год до следующего соревнования жуть как долго. По этому, от тех же авторов есть "Мини AI Cup". Это тоже соревнования по ИИ, но менее масштабные. Вот сайт соревнований http://aicups.ru В оффициальной группе в телеграмме вывесили расписание проведения чемпионата. Ссылка на пост: https://tttttt.me/aicups/48246
Сейчас песочница открыта в тестовом режиме. Почитать о мире для которого пишется ИИ можно вот здесь: http://aicups.ru/round/1/
Сейчас песочница открыта в тестовом режиме. Почитать о мире для которого пишется ИИ можно вот здесь: http://aicups.ru/round/1/
Telegram
Илья Стыценко in AI Cups Official
Итак, друзья, наконец-то мы согласовали расписание miniaicups2
▶️ 28 марта — открытие контеста, старт нерейтинговых игр по 7500 тиков (4 игрока в игре)
▶️ 2 апреля — старт рейтинговых игр по 7500 тиков
▶️ 19 апреля — проход лучших из песочницы в финал…
▶️ 28 марта — открытие контеста, старт нерейтинговых игр по 7500 тиков (4 игрока в игре)
▶️ 2 апреля — старт рейтинговых игр по 7500 тиков
▶️ 19 апреля — проход лучших из песочницы в финал…
Forwarded from From Junior to CTO (Ivan Osipov)
Регрессия к среднему
Выше мы с вами уже говорили о линейной регрессии, сегодня мы поговорим о регрессии к среднему.
В далёком 1885 году Френсис Гальтон в своей работе "Регрессия к середине в наследственности роста" показал, что отклонение от среднего роста детей равняется 2/3 отклонения от среднего роста их родителей. Еще один результат работы Гальтона - Машина Гальтона ( https://img1.liveinternet.ru/images/attach/b/2/24/203/24203870_img06.gif ). В конце будет видео. На видео и на картинке как раз показана машина Гальтона. Кратко, возьмём некоторое пространство и разделим его на n ячеек. Сверху поставим множество штырьков и вертикально будем сбрасывать шарики. Каждый шарик отбивается от штырька и равновероятно уходит либо вправо, либо влево. В результате оказывается, что шарики ссыпались в ячейки так, что сформировали гауссиану. Здесь мы наблюдаем плотность вероятности нормального распределения (нормальное распределение описывает вероятность события, которое является следствием большого колличества слабо взаимозависимых случайных событий). Интересно, что если у такой машины убрать дно, а снизу поставить еще одну такую машину Гальтона, то окажется что после прохождения шариками через новые штырьки снова сформируется аналогичная гистограмма.
Попытаемся теперь понять эффект регрессии к среднему. Зафиксируем один шарик, который в нижней машине находится в ячейке ближе к краю, окажется, что наиболее вероятно, что этот шарик пришел не из ячейки вертикально расположенной над ним, а от ячейки, которая ближе к среднему. Это происходит из-за того, что в середине шариков больше. Тоже самое можно провернуть со студентами. Например, допустим студентам дали очень сложный тест. Теперь возьмём 10% тех, кто получил наивысший бал, проведем тест еще раз и окажется, что скорее всего средний бал в этой группе упадет. Это происходит, потому что люди которые были удачливы в первый раз, не будут так удачливы во второй. Это и есть эффект регрессии к середине.
Ссылка на видео с машиной Гальтона: https://www.youtube.com/watch?v=1DTRzPRfu6s
Выше мы с вами уже говорили о линейной регрессии, сегодня мы поговорим о регрессии к среднему.
В далёком 1885 году Френсис Гальтон в своей работе "Регрессия к середине в наследственности роста" показал, что отклонение от среднего роста детей равняется 2/3 отклонения от среднего роста их родителей. Еще один результат работы Гальтона - Машина Гальтона ( https://img1.liveinternet.ru/images/attach/b/2/24/203/24203870_img06.gif ). В конце будет видео. На видео и на картинке как раз показана машина Гальтона. Кратко, возьмём некоторое пространство и разделим его на n ячеек. Сверху поставим множество штырьков и вертикально будем сбрасывать шарики. Каждый шарик отбивается от штырька и равновероятно уходит либо вправо, либо влево. В результате оказывается, что шарики ссыпались в ячейки так, что сформировали гауссиану. Здесь мы наблюдаем плотность вероятности нормального распределения (нормальное распределение описывает вероятность события, которое является следствием большого колличества слабо взаимозависимых случайных событий). Интересно, что если у такой машины убрать дно, а снизу поставить еще одну такую машину Гальтона, то окажется что после прохождения шариками через новые штырьки снова сформируется аналогичная гистограмма.
Попытаемся теперь понять эффект регрессии к среднему. Зафиксируем один шарик, который в нижней машине находится в ячейке ближе к краю, окажется, что наиболее вероятно, что этот шарик пришел не из ячейки вертикально расположенной над ним, а от ячейки, которая ближе к среднему. Это происходит из-за того, что в середине шариков больше. Тоже самое можно провернуть со студентами. Например, допустим студентам дали очень сложный тест. Теперь возьмём 10% тех, кто получил наивысший бал, проведем тест еще раз и окажется, что скорее всего средний бал в этой группе упадет. Это происходит, потому что люди которые были удачливы в первый раз, не будут так удачливы во второй. Это и есть эффект регрессии к середине.
Ссылка на видео с машиной Гальтона: https://www.youtube.com/watch?v=1DTRzPRfu6s
На хабре вышла статья обозревающая программу конференции JPoint 2018. По текущему расписанию мой доклад поставили на 6 апреля, приходите, подходите, познакомимся вживую.
Статья на хабре: https://habr.ru/p/351776/
Статья на хабре: https://habr.ru/p/351776/
Большое интервью с Андреем Бреславом о Kotlin. Местами интересные вопросы. Хорошее чтение на вечер:
https://jug.ru/2018/03/breslav-interview/
https://jug.ru/2018/03/breslav-interview/
JUG.ru
«Kotlin — язык для всех платформ»: интервью с Андреем Бреславом
За последний год вокруг Kotlin произошло много заметного: официальная поддержка со стороны Google и гигантский рост популярности на Android, выход версии 1.2 с поддержкой мультиплатформенных проектов и аншлаговая конференция KotlinConf в Сан-Франциско. А…
По стопам выхода Java 10 опрос. Какая у вас Java?
https://tttttt.me/from_junior_to_senior/114
https://tttttt.me/from_junior_to_senior/114
Telegram
From Junior to Senior
Вышла Java 10
20 марта 2018 года вышла JDK 10.
Выше я упоминал фичи из релиза вот здесь https://tttttt.me/from_junior_to_senior/96
Не знаю как вы, а вот у нас всё до сих пор на Java 8. Нужно понимать, что мир Java привык к долгим периодам между релизами и к чему…
20 марта 2018 года вышла JDK 10.
Выше я упоминал фичи из релиза вот здесь https://tttttt.me/from_junior_to_senior/96
Не знаю как вы, а вот у нас всё до сих пор на Java 8. Нужно понимать, что мир Java привык к долгим периодам между релизами и к чему…
Kotlin Updates Report 1.2.20 & 1.2.30 ✏️
Разберемся в последних изменениях языка Kotlin и его инфраструктуры.
Читать Kotlin Updates Report 1.2.20 & 1.2.30
Разберемся в последних изменениях языка Kotlin и его инфраструктуры.
Читать Kotlin Updates Report 1.2.20 & 1.2.30
t.me
Kotlin Updates Report 1.2.20-1.2.30
Обозреваем изменения в Kotlin в версиях 1.2.20 и 1.2.30