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



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

Блог @from_junior_to_senior
Навигация - @djuupbot
Обсуждения
Download Telegram
Опрос
Цель: сделать канал и контент еще лучше
Выберите формат, который вам хотелось бы видеть
👍 Частые, обзорные статьи (1 раз в 1-2 дня)
👍🏼 Статьи средней глубины (1 раз в 3-4 дня)
👍🏿 Глубокие, проработанные статьи (1 раз в неделю)
Опрос

Немного о будущем
В ближайшее время на канале выйдут следующие статьи
Kotlin. Часть 3. Мигрируем из Java
Kotlin. Часть 4. Неловкие моменты
Kotlin. Часть 5. Пишем свой DSL

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

🚛 - Путь в Maven Cental - Как опубликовать свою библиотеку?
🙈 - Kotlin. Разбор Generics
💻 - Cloudflare - обзор возможностей
👥 - Пишем соглашение об обработке персональных данных
🤷‍♂️ - Kotlin Native - разбираемся вместе
📱- Kotlin в Android - Введение
Статья

Kotlin. Часть 3. Мигрируем из Java 🐦

Автор: @ivan_osipov

Время чтения 🕔: 20 минут

Описание:
В третьей части цикла статей о Kotlin мы поговорим о том на сколько просто мигрировать свой проект на Kotlin из Java, как они работают вместе, какие проблемы возникают, заглянем в байт-код и разберем пару примеров миграции лямбд и Stream Api

Читать: Kotlin. Часть 3. Мигрируем из Java

Теги: #kotlin #java #programming #article
Статья

Kotlin. Часть 4. Неловкие моменты 🙈

Автор: @ivan_osipov

Время чтения 🕔: 20 минут

Описание:
В четвертой статье цикла я расскажу вам о неловких моментах, с которыми может столкнуться Kotlin разработчик. Какое странное поведение можно встретить при использовании языка и чем это объясняется. Мы детально обсудим inline функции, посмотрим на реализацию лямбд байт-коде.

Читать: Kotlin. Часть 4. Неловкие моменты

Теги: #kotlin #java #programming #article
Цикл статей Kotlin:
- Часть 1. Введение
- Часть 2. Незнакомые конструкции
- Часть 3. Мигрируем из Java
- Часть 4. Неловкие моменты

Топ популярных статей на канале:
- Russian AI Cup - сражение алгоритмов. Часть 1, Часть 2
- Программист? Сделай свой блог. Часть 1, Часть 2
- Telegram API. Как написать бота? Ссылка
Статья

Kotlin. Часть 5. Пишем DSL ✍️

Автор: @ivan_osipov

Время чтения 🕔: 28 минут

Описание:
В пятой, заключительной, части базового цикла статей о Kotlin мы обсудим DSL (domain-specific language), как он способствует упрощению поддержки системы, я расскажу о собственном опыте, проблемах, которые возникают и, конечно, в деталях, разберу на основе чего и как можно построить собственный предметно-ориентированный язык.

Читать: Kotlin. Часть 5. Пишем DSL

Теги: #kotlin #java #programming #article
Channel Release 1.0

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

Что за релиз?
Релизом назовем набор фич, которые связаны с каналом. Ниже фичи релиза 1.0:

1. Кнопка Поддержать автора - по желанию автора статьи под его творчеством может быть размещена ссылка на его Яндекс.Деньги или другой аналог. Любой из читателей может поддержать автора кликнув на соответствующую кнопку.

2. Канал приобрел собственное рисованное лицо, благодаря одному талантливому, но анонимному художнику.

3. У нас появился свой бот, в котором можно полистать статьи, рассортированные по категориям и времени, сохранить себе в личной истории, а затем, например, почитать, когда пропадёт интернет, через Instant View. Все ссылки будут в конце.

4. У нас появился свой чат в котором вы можете обсудить новые статьи или кинуть помидорами в автора материала.

5. Джун в соц сетях. Группа в ВК — это анонсы и оповещения людей, которые только приходят в телеграм. Твиттер — для ваших друзей, которые принципиально не ставят телеграм, но это лишь дубль канала с задержкой в публикации.

6. Что такое goo.gl? goo.gl - это сервис от Google для сокращения ссылок и сбора статистики, это валидные ссылки, которые помогают делать канал лучше, анализируя активность

Ниже вы найдете ссылки на бота, чат, соцсети.
Поздравляю с релизом!
До встречи!

Опубликовать статью
Бот для навигации по статьям
Чат для обсуждений
ВК
Твиттер

#release
Всем привет!
Спустя выходные, 3 рабочих дня ожидания и переписки с Sonatype могу смело утверждать, что моя библиотека добралась до Maven Central, а это значит, что я завершил путь в центральный репозиторий и статья практически готова. На канале она появится уже завтра. Как вы понимаете, формат этого канала - статьи и они выходят по мере готовности, однако, есть канал на котором я пишу о текущем состоянии дел, гляжу на новости и высказываю собственное мнение. Формат проще, пишу чаще и местами жестче, если я вас заинтересовал, то приходите, буду рад

@from_junior_to_senior
Статья

Путь в Maven Cental - Как опубликовать свою библиотеку? 🚛

Автор: @ivan_osipov

Время чтения 🕔: 29 минут

Описание:
Пожалуй, одна из самых сложных дорог ведет в Maven Central Repository. Публикация туда - это самый настоящий горный серпантин со множеством нюансов и требований. Зачем нужа лицензия? Как правильно подписать файлы с помощью GPG? Детальный, пошаговый разбор того, как имея в арсенале Gradle опубликовать собственную библиотеку.

Читать: Путь в Maven Cental - Как опубликовать свою библиотеку?

Теги: #gradle #maven #publication #article
В своей последней статье я рассказывал о том как Gradle выручает в автоматизации публикации релизов. Специально для моих подписчиков на канале @itlibrary наша коллега выложила книгу "Учебник по Gradle" на русском языке! Вот ссылка https://news.1rj.ru/str/itlibrary/195. Книга отличная, читая отдельные главы получил нереальное удовольствие от прочтения. Кроме того, там вы найдете и другие книжки для программистов. Все книги здесь: @itlibrary
Анонс

Kotlin в Android — Введение 📱

В мае 2017 года Google объявили о том, что в мире больше
2 000 000 000 активных андроид устройств. В тот же день они рассказали, что Kotlin для android получит первоклассную поддержку наравне с Java. Самое время заглянуть в мир мобильных устройств и сделать небольшое приложение на Kotlin.

А пока автор закупает RAM для эмулятора и android studio, вы можете почитать предыдущие статьи на канале
Всем привет!
Хотел напомнить, что в перерывах между статьями, вы можете прокачивать и освежать свои знания вместе со мной на втором канале. Информация там так и бьёт ключом. Из последнего:

О функциональных классах и лямбдах в Java:
t.me/from_junior_to_senior/14

О сборщиках мусора:
t.me/from_junior_to_senior/15

Сортировки:
t.me/from_junior_to_senior/18

Как работает вставка в красно-черное дерево (вставка в TreeSet/TreeMap):
t.me/from_junior_to_senior/19

Присоединяйтесь: @from_junior_to_senior
Статья

Корни, ссылки, достижимость в Java 🔗

Автор: @ivan_osipov

Время чтения 🕔: 8 минут

Описание:
Сборщик мусора на этапе поиска недостиживых объектов обходит дерево достижимых из корневых объектов. В этой статье мы разберемся, что за мягкие, слабые и фантомные ссылки, зачем нужны очереди ссылок и что значит "достижимость", рассмотрим, кто такие корневые объекты, и узнаем, как управлять финализацией объекта.

Читать: Корни, ссылки, достижимость в Java

Теги: #java #gc #article
Поздравляю всех нас с Днем Программиста!
Да да, сегодня уже 256-й день в году. Здесь собрались, пожалуй, самые крутые разработчики, но почему так? Одна из главных задач программиста - учиться, постоянно учиться и двигаться вперед. Все вы, те, кто читает канал и статьи, совершенствуется в знаниях и растет - лучшие представители нашей профессии.
Вы могли заметить, что статья по мобильному приложению на Kotlin еще не вышла и причина этому - напряженная основная работа, которая никак меня не отпускает. Тех из вас, кто хочет читать больше и чаще, я приглашаю на свой второй канал t.me/from_junior_to_senior , там я пишу о технологиях и не только, в более свободном формате, выпускаю 20-минутные подкасты (ссылка на последний t.me/from_junior_to_senior/33), в общем жизнь кипит.
С праздником! Не забудьте поздравить коллег :)
Forwarded from From Junior to CTO (Ivan Osipov)
Взрывная новость! Russian AI Cup 2017 стартует совсем скоро! Пару месяцев назад я писал статьи об этом чемпионате и опыте участия в 2016 году и вот случилось! Для того, чтобы понять, что это будет в 2017 году ссылка на хабр ниже:
https://m.habrahabr.ru/company/mailru/blog/340540/

Статьи, которые я писал:
https://news.1rj.ru/str/djuup/22
https://news.1rj.ru/str/djuup/24
​​Генетический алгоритм
Что человечество научилось делать хорошо, так это заимствовать. В этот раз заимствование произошло у самой природы. Есть класс алгоритмов, которые называются метаэвристическими - это те, которые подглядели у природы и хорошо зашло в применении. Так появился генетический алгоритм в основе которого лежат целые популяции особей - решений. Этот алгоритм по праву считается универсальным, т.к. справляется с задачами из различных областей. Давайте решим вашу задачу (скажу сразу, что в разных источниках можно найти небольшие отклонения в именовании). Для начала сформируйте решение вашей задачи в виде вектора (набор цифр, например), такой вектор называется набором генов (каждая цифра вектора - это значение спрятанное в гене). Вектор - это хромосома, хромосом может быть несколько, но если ваш вектор целиком описывает решение, то хромосома всего одна. Хромосомы определяются генотипом, т.е. генотип обладает одной или более хромосом. В генетическом алгоритме на первом шаге создается первое поколение или популяция, которое представляет из себя набор особей с разнообразными генотипами. Из каждого, в том числе и первого, поколения выбираются лучшие особи. Способов выбора множество, список их вы найдете по запросу GA Selection. В зависимости от выбранного подхода к селекции (отбору), в дополнение к выбраным особям поколение допополняется либо их копиями, либо особями со случайным генотипом. Затем из обновленноного поколения мы случайным образом выбираем пары и выполняем операцию скрещивания. Полный список скрещиваний вы найдете по запросу GA Crossover. Вариантов масса, всё зависит от вашей задачи. От двух родителей получается два потомка, в некоторых случаях особь переходит в следующее поколение без изменений, иногда, с небольшой вероятностью особь может немного мутировать (GA Mutation), так мы обеспечиваем "метод иммитации отжига", когда благодаря случайным изменениям мы вырываемся из локального экстремума и исследуем поле значений более широко, т.к. скрещивания эталонных особей может загнать нас в локальный максимум или минимум целевой функции, которая оценивает особь. В итоге, спустя много поколений селекции, скрещивания и мутаций случайных решений вашей проблемы вы получаете отличное решение для абсолютно разных задач. Хотите статью на эту тему?
Статья

Генетический алгоритм: эволюция помогает подросткам

Автор: @ivan_osipov

Время чтения 🕔: 6 минут

Описание:
Генетический алгоритм — мощный инструмент в решении практических задач. Мы с вами разберем каким образом можно представить задачу цепочки действий в виде, пригодном для решения с помощью ГА. Обсудим причины процесса мутации и Cycle Crossover. В статье вы найдете ссылку на библиотеку с готовой реализацией структуры ГА и примеры использования.

Читать: Генетический алгоритм: эволюция помогает подросткам

Теги: #java #ga #algorithms
Привет всем! Хорошая новость!
Помните статью о DSL на Kotlin? Я переработал этот материал, подготовил реальный пример, который очень похож на то, что я сам использую на практике, написал огромную статью и отправил на хабр. Статья оформлена так, что вы можете использовать её как небольшой справочник и отсылать к ней своих начинающих разработчиков. В общем, думаю будет полезно.
Читать по ссылке habrahabr.ru/company/haulmont/blog/341402/
🍽 Анонс

Алгоритмы поиска кратчайшего пути: BF, Дейкстра, A Star

Уже завтра начинается Russian AI Cup. Последние дни я провёл в изучении алгоритмов поиска пути, а это значит, что самое время написать об этом. В ближайших статьях мы с вами рассмотрим практическое применение алгоритмов поиска по графу, а именно алгоритм поиска в ширину, алгоритм Дейкстры и A Star. Меня утомляют скучные объяснения, по этому, я простым языком расскажу о том как алгоритмы работают и могут быть применены, дам ссылки на очень крутые источники, более того, скину исходники алгоритмов на Java, которыми вы сможете воспользоваться для решения своих задач. Присоединяйтесь к участию и присылайте свои результаты!

Читать другие статьи: t.me/djuupbot
VR (Virtual Reality) - огромная индустрия сегодня, когда я вижу новости от facebook об очередных достижениях в виртуальном мире, я не удивляюсь, что мои инвестиции в них растут. Вы только представьте соц сеть в виртуальной реальности... Убойно! Если вы до сих пор путаете VR и AR (Augmented Reality/Дополнительная реальность) прочитайте вот этот пост t.me/fit_predict/96. Нашел много интересной аналитики, новостей и даже приложения, которые следует испытать, вот здесь @fit_predict. Отличный агрегатор информации о перспективных технологиях.
Автор, ведущий data scientist, также публикует обзор интересных новостей, но основной уклон делает на информацию об интересных мероприятиях и обучающих программах в области искусственного интеллекта.
Статья

Алгоритмы поиска кратчайшего пути: Поиск в ширину

Автор: @ivan_osipov

Время чтения 🕔: 10 минут

Описание:
Хотите наконец разобраться в поиске путей по графу? Первый алгоритм, который мы рассмотрим, поиск в ширину. В статье мы разберем алгоритм, особенности реализации и пример. Также вы найдете ссылки на исходники, которые можете переиспользовать при решении собственных задач.

Читать: Алгоритмы поиска кратчайшего пути: Поиск в ширину

Теги: #java #pathfinding #algorithms