Как учить Scala
Есть два варианта изучения. Один быстрый, другой основательный. Оба подходят только, если вы хотите Scala хотя бы с минимальным ФП, то есть не ООП проект, где просто вместо Java решили заюзать Scala. Для вхождения нужно уже хорошо знать Java Core и многопоточку. Если что-то в Java плохо знаете, учите - потом будет поздно.
Основательное изучение
Первый путь для усидчивых людей, кто не знает лени и имеет кучу свободного времени.
1. Курс с Курсеры от Мартина Одерски (основатель Scala)
https://www.coursera.org/specializations/scala
2. Книга Одерски Programming in Scala
3. Красная книга Functional Programming in Scala (теория и задачи)
4. Вы готовы к бою
Быстрый путь
Второй путь для людей, у кого есть на изучение немного времени. Максимум полгода-год в расслабленном режиме или пару месяцев в хардкор режиме.
1. Курсы Rock the JVM с Udemy
https://www.udemy.com/course/rock-the-jvm-scala-for-beginners
https://www.udemy.com/course/advanced-scala
2. Книга Одерски в фоне
3. Красная книга хотя бы 70%
4. Между Udemy и красной книгой можно впихнуть курс Тинька, но это чисто для закрепления, прощёлкать тесты. Если нет времени, не стоит.
https://stepik.org/course/16243
Вне зависимости от выбранного варианта, нужно будет полистать мануалы котов (Cats) и, например, Monix. Так же много нового узнаешь на интервью. Про Tagless-Final и ZIO спрашивают уже сеньоров скалистов. И то, в Москве проекты с TF и ZIO большая редкость пока что. Когда попадете на такой проект, тогда и учите)
#scala
Есть два варианта изучения. Один быстрый, другой основательный. Оба подходят только, если вы хотите Scala хотя бы с минимальным ФП, то есть не ООП проект, где просто вместо Java решили заюзать Scala. Для вхождения нужно уже хорошо знать Java Core и многопоточку. Если что-то в Java плохо знаете, учите - потом будет поздно.
Основательное изучение
Первый путь для усидчивых людей, кто не знает лени и имеет кучу свободного времени.
1. Курс с Курсеры от Мартина Одерски (основатель Scala)
https://www.coursera.org/specializations/scala
2. Книга Одерски Programming in Scala
3. Красная книга Functional Programming in Scala (теория и задачи)
4. Вы готовы к бою
Быстрый путь
Второй путь для людей, у кого есть на изучение немного времени. Максимум полгода-год в расслабленном режиме или пару месяцев в хардкор режиме.
1. Курсы Rock the JVM с Udemy
https://www.udemy.com/course/rock-the-jvm-scala-for-beginners
https://www.udemy.com/course/advanced-scala
2. Книга Одерски в фоне
3. Красная книга хотя бы 70%
4. Между Udemy и красной книгой можно впихнуть курс Тинька, но это чисто для закрепления, прощёлкать тесты. Если нет времени, не стоит.
https://stepik.org/course/16243
Вне зависимости от выбранного варианта, нужно будет полистать мануалы котов (Cats) и, например, Monix. Так же много нового узнаешь на интервью. Про Tagless-Final и ZIO спрашивают уже сеньоров скалистов. И то, в Москве проекты с TF и ZIO большая редкость пока что. Когда попадете на такой проект, тогда и учите)
#scala
Ещё чутка про Scala. Мне же зашел курс по основам Scala на Степике. В смысле, после него конечно сразу не устроишься скалистом, но изучить синтаксис и основные концепции самое то. Там на каждую тему есть тесты, задачи, конспекты. Продублирую ссылку:
https://stepik.org/course/16243
upd.: курс норм для знакомства с языком. Если у вас настрой перейти из Java в Scala, то надо смотреть предыдущий пост
https://stepik.org/course/16243
upd.: курс норм для знакомства с языком. Если у вас настрой перейти из Java в Scala, то надо смотреть предыдущий пост
Java Developer
Депутаты Госдумы подготовили законопроект о прекращении блокировки Telegram tvrain.ru/s/CZb
Telegram разблокирован
Роскомнадзор объявил, что снимает ограничения. Telegram в РФ был заблокирован больше двух лет, с апреля 2018 года.
Роскомнадзор объявил, что снимает ограничения. Telegram в РФ был заблокирован больше двух лет, с апреля 2018 года.
Что посмотреть на выходных — 15
Сегодня публикую три видео с ютуб-канала Сергея Немчинского. Сергей(@nemchinskiyOnBusiness) — опытный разработчик, архитектор, тимлид, бизнесмен, учитель целой армии джавистов.
Внутренний маркетинг для программиста
https://youtu.be/Gji1CU9hdPE
Софтскиллы для разработчиков
https://youtu.be/4_5OifxrYSc
Что на работе делает Junior, Middle, Senior
https://youtu.be/MoKkYb3h6Qo
#чтопосмотреть
Сегодня публикую три видео с ютуб-канала Сергея Немчинского. Сергей(@nemchinskiyOnBusiness) — опытный разработчик, архитектор, тимлид, бизнесмен, учитель целой армии джавистов.
Внутренний маркетинг для программиста
https://youtu.be/Gji1CU9hdPE
Софтскиллы для разработчиков
https://youtu.be/4_5OifxrYSc
Что на работе делает Junior, Middle, Senior
https://youtu.be/MoKkYb3h6Qo
#чтопосмотреть
Льготы для IT-компаний
Скоро ИТ-компании РФ получат налоговые льготы. Ставка страховых взносов станет 7.6%, вместо 14%. Налог на прибыль - 3%, вместо 20%. Это относится к компаниям, у которых не менее 90% доходов приходится на продажу софта и услуг по его разработке, внедрению и поддержке. То есть Яндекс (акции которого за последние 10 дней выросли на 20%) под эти условия пока не попадает, так как основной заработок компании приходится на рекламу. Зато Люксофты и Епамы в теме. Ну что, какие ставки, вырастут ли зарплаты в айти?
Скоро ИТ-компании РФ получат налоговые льготы. Ставка страховых взносов станет 7.6%, вместо 14%. Налог на прибыль - 3%, вместо 20%. Это относится к компаниям, у которых не менее 90% доходов приходится на продажу софта и услуг по его разработке, внедрению и поддержке. То есть Яндекс (акции которого за последние 10 дней выросли на 20%) под эти условия пока не попадает, так как основной заработок компании приходится на рекламу. Зато Люксофты и Епамы в теме. Ну что, какие ставки, вырастут ли зарплаты в айти?
Forwarded from Java задачи с собеседований
Несколько вопросов по многопоточности
1. Каким образом можно создать поток?
2. Чем различаются Thread и Runnable?
3. В чём заключается разница между методами start() и run()?
#вопрос_на_собеседовании
1. Каким образом можно создать поток?
2. Чем различаются Thread и Runnable?
3. В чём заключается разница между методами start() и run()?
#вопрос_на_собеседовании
Forwarded from Java задачи с собеседований
❓Каким образом можно создать поток?
- Создать потомка класса Thread и переопределить его метод run();
- Создать объект класса Thread, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable. Этот интерфейс содержит метод run(), который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
- Вызвать метод submit() у экземпляра класса, реализующего интерфейс ExecutorService, передав ему в качестве параметра экземпляр класса, реализующего интерфейс Runnable или Callable (содержит метод call(), в котором описывается логика выполнения).
❓Чем различаются Thread и Runnable?
Thread - это класс, некоторая надстройка над физическим потоком.
Runnable - это интерфейс, представляющий абстракцию над выполняемой задачей.
Помимо того, что Runnable помогает разрешить проблему множественного наследования, несомненный плюс от его использования состоит в том, что он позволяет логически отделить логику выполнения задачи от непосредственного управления потоком.
❓В чём заключается разница между методами start() и run()?
Несмотря на то, что start() вызывает метод run() внутри себя, это не то же самое, что просто вызов run(). Если run() вызывается как обычный метод, то он вызывается в том же потоке и никакой новый поток не запускается, как это происходит в случае, когда вы вызываете метод start().
- Создать потомка класса Thread и переопределить его метод run();
- Создать объект класса Thread, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable. Этот интерфейс содержит метод run(), который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
- Вызвать метод submit() у экземпляра класса, реализующего интерфейс ExecutorService, передав ему в качестве параметра экземпляр класса, реализующего интерфейс Runnable или Callable (содержит метод call(), в котором описывается логика выполнения).
❓Чем различаются Thread и Runnable?
Thread - это класс, некоторая надстройка над физическим потоком.
Runnable - это интерфейс, представляющий абстракцию над выполняемой задачей.
Помимо того, что Runnable помогает разрешить проблему множественного наследования, несомненный плюс от его использования состоит в том, что он позволяет логически отделить логику выполнения задачи от непосредственного управления потоком.
❓В чём заключается разница между методами start() и run()?
Несмотря на то, что start() вызывает метод run() внутри себя, это не то же самое, что просто вызов run(). Если run() вызывается как обычный метод, то он вызывается в том же потоке и никакой новый поток не запускается, как это происходит в случае, когда вы вызываете метод start().
Forwarded from QA HELP via @CommentsBot
Гайз, тут для вас подоспели отличные короткие интервью со знакомыми ребятами из самых разных IT-профессий. Как они стали айтишниками и что думают о тестировщиках? Какие инструменты используют и обучались ли на каких-то курсах ранее? Всё это - в течение ближайших двух недель на канале. Начнём с разработчиков: знакомьтесь, Дима, Java Developer ⬇️
https://telegra.ph/5-voprosov-razrabotchiku-07-14
https://telegra.ph/5-voprosov-razrabotchiku-07-14
Telegraph
5 вопросов разработчику
- Дима, привет! Как давно ты в IT? Кем работал до этого и почему решил перейти в эту сферу? - Привет! В IT с октября 2016-ого года, учил Java и параллельно работал. До этого я был студентом, промоутером, аниматором, ведущим мероприятий, продавцом, аккаунтинг…
Делюсь радостью. Участвовал, значится, у себя в компании в конкурсе наименования переговорок. Я отправил два варианта: имена созвездий и имена букв греческого алфавита. Были интересные идеи - известные учёные, языки программирования, суперкомпьютеры. В итоге среди 170 предложенных концепций путём отсева и анонимного голосования победил греческий алфавит. Ура )
https://www.instagram.com/p/CEbAzYgpila/?igshid=bw0zv458afzh
https://www.instagram.com/p/CEbAzYgpila/?igshid=bw0zv458afzh
Instagram
Dmitry, Moscow
У @stoloto будут новые переговорки с именами греческого алфавита (Альфа, Гамма, Бетта). А у меня новые AirPods Pro
Рубрика #айти_коллаб. У Профунктора (топовый канал с айти мемами) есть еще канал с вакансиями @profunctor_jobs — коротко, ненавязчиво и всё по делу. Советую заскочить к ним. Особенно тем, кто боится открывать своё резюме на hh, потому что эйчары разнесут в пух и прах почту приглосами. Плюс кайфово держать руку на пульсе и знать сколько другие компании готовы платить новым сотрудникам. Залетайте @profunctor_jobs
Forwarded from Profunctor Jobs
Backend Senior
Стэк: Java, PostgreSQL
Денег: $3200-3800
Remote
Java Developer
Стэк: Java, PostgreSQL
Денег: $3200-3800
Remote
Java Developer
Forwarded from Java Developer
Как у вас изменилась ситуация на работе?
Final Results
76%
Никак
4%
Улучшилась (больше зп, больше заказов стало)
15%
Ухудшилась (урезали зп, неоплачиваемый отпуск)
5%
Сократили