[Archived] Джун уронил прод
340 subscribers
1 video
70 links
Канал в архиве. Весь актуальный контент выходит здесь @from_junior_to_senior



Площадка для авторских статей о программировании, технологиях, инструментах разработки программного обеспечения

Блог @from_junior_to_senior
Навигация - @djuupbot
Обсуждения
Download Telegram
Forwarded from From Junior to CTO (Ivan Osipov)
Хорошие новости!
6-7 апреля состоится конференция JPoint 2018 в Москве. Я там буду выступать с докладом Kotlin DSL: Теория и Практика. Больше подробностей по ссылке в конце. Учитывая количество статей на эту тему от меня, вы, вероятно, уже знакомы с основами, а доклад - это отличная возможность закрепить знания и, конечно, приходите просто познакомиться!

Ссылка на доклад: https://goo.gl/pSZigZ
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
Forwarded from From Junior to CTO (Ivan Osipov)
Система типов в Kotlin

Сейчас пишу статью по 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
Сейчас прохожу очередные онлайн курсы, вспоминаю мат. анализ и линейную алгебру, даже жаль, что в моем институте её подавали не так круто, как это делают современные преподаватели, особенно те, кто успел поработать в реальных проектах и применить знания на практике. У онлайн курсов есть один весомый недостаток - отсутствие погружения. Вы можете начинать курсы как угодно часто и бросать их так же часто, более менее реальный вариант - оплатить обучение, но какие есть альтернативы? Вы, наверное, слышали о городе Иннопо́лис с одноименным университетом? Так вот, оказалось, что учиться там можно абсолютно бесплатно. Это то самое реальное погружение в комьюнити и процесс обучения, чего не даст ни один онлайн курс, погружение, которое поможет по настоящему пробить карьерный потолок. Однако, уверен, вам, как и мне, кажется, что "бесплатно" это подозрительно. Оказывается, туда действительно серьёзный отбор, нужны знания Intermediate знания английского, хорошо, что записаться не сложно. Есть 4 направления: Управление разработкой ПО, Разработка безопасных систем и сетей, Управление большими данными, Робототехника. Нашел статью на хабре https://habrahabr.ru/article/329364/ Очень интересно было почитать истории действующих разработчиков, которые уехали учиться. Для тех, кто захотел получить образовательный грант, есть ссылка на описание конкурса в 2018: https://apply.innopolis.ru/~weW4O Был прямо удивлен, когда среди историй прочитал о том, как ребятам довелось пообщаться с Кентом Беком.
В прошлом посте об Инополисе писал про курсы с мат. анализом и линейной алгеброй. Оказалось, что кому-то интересно и про сами онлайн курсы. В своем блоге дал обзор на них и рассказал как пройти их бесплатно. Почитать можно по ссылке: https://tttttt.me/from_junior_to_senior/94
Сегодня в 19.30 (МСК) трансляция митапа. Доклады:
Андрей Бреслав - Kotlin: практика разработки современного языка программирования
Александр Федоров - Как киту съесть Java-приложение и не поперхнуться (про запаковывание Java в докер контейнеры)
Ссылка:
https://www.youtube.com/watch?v=YbRGHWcl6ZE
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: Теория и Практика
Пост о курсе
Forwarded from From Junior to CTO (Ivan Osipov)
Закон Стиглера об эпонимии

Минутка истории. Пока проходил курсы, услышал про интересное эмпирическое наблюдение, которое описал Стивен Стиглер в своей статье "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
Forwarded from From Junior to CTO (Ivan Osipov)
Мягкое введение в машинное обучение

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

Ссылка:
https://miguelgfierro.com/blog/2016/a-gentle-introduction-to-the-basics-of-machine-learning
Решил разузнать поподробнее о жизни людей в Иннополисе.
Студенты живут в современных номерах кампуса, которые уже обставлены новой мебелью. По всей территории раскидан бесплатный Wi-Fi, а сама территория кампуса охраняется. На территории расположился спорт. комплекс университета с тренажерным залом, бассейном и другими ништяками. Естественно, для студентов это всё сделали бесплатно. Никогда не видел, чтобы институт так вкладывался в своих студентов. Судя по фотографиям из их лекционных залов, становится очевидно, что исписанная мелом доска плавно уходит в прошлое, приятно помахать ей в след.

На всякий случай напомню, что в Иннополисе ведется набор на четыре направления магистратуры:
Управление разработкой ПО
Разработка безопасных систем и сетей
Управление большими данными
Робототехника
Раньше писал о Russian AI Cup и даже статьи были об опыте участия в этом чемпионате по разработке ИИ. Russian AI Cup это ежегодный контест и как вы понимаете, ждать целый год до следующего соревнования жуть как долго. По этому, от тех же авторов есть "Мини AI Cup". Это тоже соревнования по ИИ, но менее масштабные. Вот сайт соревнований http://aicups.ru В оффициальной группе в телеграмме вывесили расписание проведения чемпионата. Ссылка на пост: https://tttttt.me/aicups/48246
Сейчас песочница открыта в тестовом режиме. Почитать о мире для которого пишется ИИ можно вот здесь: http://aicups.ru/round/1/
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
На хабре вышла статья обозревающая программу конференции JPoint 2018. По текущему расписанию мой доклад поставили на 6 апреля, приходите, подходите, познакомимся вживую.

Статья на хабре: https://habr.ru/p/351776/
Kotlin Updates Report 1.2.20 & 1.2.30 ✏️

Разберемся в последних изменениях языка Kotlin и его инфраструктуры.

Читать Kotlin Updates Report 1.2.20 & 1.2.30