😎 Покупайте сейчас — учитесь, когда удобно!
До 1 апреля мы снизили цены на все наши курсы, чтобы вы могли сформировать свой карьерный трек и например подготовится и поступить в ШАД.
👀 Советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science
– Алгоритмы и структуры данных
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
📚А если вы не уверенны, подойдет ли вам курс, то вы можете оставить заявку на вводные занятия. И наш менеджер пришлет вам всю необходимую информацию, где вы познакомитесь с преподавателями и форматом обучения — https://proglib.io/w/47905349
До 1 апреля мы снизили цены на все наши курсы, чтобы вы могли сформировать свой карьерный трек и например подготовится и поступить в ШАД.
👀 Советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science
– Алгоритмы и структуры данных
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
📚А если вы не уверенны, подойдет ли вам курс, то вы можете оставить заявку на вводные занятия. И наш менеджер пришлет вам всю необходимую информацию, где вы познакомитесь с преподавателями и форматом обучения — https://proglib.io/w/47905349
Forwarded from Библиотека задач по Java | тесты, код, задания
Задача с LeetCode (Minimum Path Sum)
Дана двумерная матрица M x N, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который будет иметь наименьшую сумму чисел на своем пути. Двигаться при этом можно только вниз и вправо.
Для решения воспользуемся динамическим программированием:
⏺️ Первые два цикла for обновляют значения в первой строке и первом столбце, добавляя значения ячеек сверху и слева соответственно.
⏺️ Последний цикл for обновляет остальные значения внутри массива grid, выбирая минимальное значение из верхней и левой ячейки и добавляя его к текущей ячейке.
⏺️ Конечный результат возвращается из последней ячейки массива grid.
Дана двумерная матрица M x N, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который будет иметь наименьшую сумму чисел на своем пути. Двигаться при этом можно только вниз и вправо.
Для решения воспользуемся динамическим программированием:
⏺️ Первые два цикла for обновляют значения в первой строке и первом столбце, добавляя значения ячеек сверху и слева соответственно.
⏺️ Последний цикл for обновляет остальные значения внутри массива grid, выбирая минимальное значение из верхней и левой ячейки и добавляя его к текущей ячейке.
⏺️ Конечный результат возвращается из последней ячейки массива grid.
Forwarded from Библиотека задач по Java | тесты, код, задания
Какая из следующих баз данных не поддерживается jdbcTemplate?
Anonymous Quiz
4%
MySql
5%
PostgresSql
80%
NoSql
10%
Oracle
⚡️Proglib запускает каналы про нейросети
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
Очередной #дайджест по Java
🔽 Java 22 Previews Statements до super и this — JEP 447, частично снимающий запрет на код до вызова this() и super() в конструкторах
🔽 Настраиваем ExecutorService'ы на практике — что такое ExecutorService в Java, зачем он нужен, варианты создания и в как его настраивать для решения практических задач
🔽 Монады как строительные блоки функционального Java — как, где и зачем реализуется эта структура в Java
🔽 The Billion Row Challenge — шаг за шагом от 71 секунды до 1,7 секунды
🔽 Ускорьте разработку Java в Windows с помощью Dev Drive — про инструмент, специально разработанный для оптимизации среды разработки в Windows, включая значительное повышение производительности
🔽 Java 22 Previews Statements до super и this — JEP 447, частично снимающий запрет на код до вызова this() и super() в конструкторах
🔽 Настраиваем ExecutorService'ы на практике — что такое ExecutorService в Java, зачем он нужен, варианты создания и в как его настраивать для решения практических задач
🔽 Монады как строительные блоки функционального Java — как, где и зачем реализуется эта структура в Java
🔽 The Billion Row Challenge — шаг за шагом от 71 секунды до 1,7 секунды
🔽 Ускорьте разработку Java в Windows с помощью Dev Drive — про инструмент, специально разработанный для оптимизации среды разработки в Windows, включая значительное повышение производительности
Forwarded from Библиотека Go разработчика | Golang
❓ 20+ вопросов, которые стоит задать на собеседовании в стартап
Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.
👉 Читать статью
👉 Зеркало
Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.
👉 Читать статью
👉 Зеркало
#вопросы_с_собеседования
Как перебрать все значения Map?
Использовать метод values(), который возвращает коллекцию Collection<V> значений
Как перебрать все значения Map?
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.
⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.
👉 Читать
P. S. Свои предложения для исследований пишите в комменты👇
⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.
👉 Читать
P. S. Свои предложения для исследований пишите в комменты
Please open Telegram to view this post
VIEW IN TELEGRAM
удалил(а) вас из группы, чтобы вы не успели отписаться сами
🤔🤔 Kotlin (не) против Java: особенности компиляции в байткод
В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с той же философией, но иной реализацией. С тех пор в сообществе программистов между адептами Java и Kotlin ведется непримиримая вражда…
В статье, автор залезет к этим языкам «под капот» и посмотрит, правда ли они такие разные — и в чем преимущества каждого из них.
Продолжение тут
#почитать
В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с той же философией, но иной реализацией. С тех пор в сообществе программистов между адептами Java и Kotlin ведется непримиримая вражда…
В статье, автор залезет к этим языкам «под капот» и посмотрит, правда ли они такие разные — и в чем преимущества каждого из них.
Продолжение тут
#почитать
Очередной #дайджест для джавистов
⭕ Уничтожает ли Java 22 инструменты сборки? — JEP 458, который по сути продолжает идею JEP 330: дает возможность компилировать и запускать Java-код одной командой java
⭕ Повышение наглядности интеграционных тестов — практические рекомендации по написанию интеграционных тестов, и как сосредоточиться на спецификациях взаимодействия с внешними сервисами, делая тесты более читаемыми и легкими для поддержки
⭕ Книга «Разработка систем высокочастотной торговли» — узнайте, как внедрить высокочастотную торговлю с нуля, используя основы C++ или Java
⭕ Искусство расширений JUnit — в режиме онлайн из микросервисного проекта будут строить полноценную инфраструктуру для работы с тестовыми данными, авторизацией и другим
⭕ Паттерны или химеры программирования — рассказ другими словами про паттерны: Стратегия, Декоратор, Фасад, Итератор, Шаблонный метод
⭕ Уничтожает ли Java 22 инструменты сборки? — JEP 458, который по сути продолжает идею JEP 330: дает возможность компилировать и запускать Java-код одной командой java
⭕ Повышение наглядности интеграционных тестов — практические рекомендации по написанию интеграционных тестов, и как сосредоточиться на спецификациях взаимодействия с внешними сервисами, делая тесты более читаемыми и легкими для поддержки
⭕ Книга «Разработка систем высокочастотной торговли» — узнайте, как внедрить высокочастотную торговлю с нуля, используя основы C++ или Java
⭕ Искусство расширений JUnit — в режиме онлайн из микросервисного проекта будут строить полноценную инфраструктуру для работы с тестовыми данными, авторизацией и другим
⭕ Паттерны или химеры программирования — рассказ другими словами про паттерны: Стратегия, Декоратор, Фасад, Итератор, Шаблонный метод
Forwarded from Библиотека задач по Java | тесты, код, задания
В чем заключается особенность работы метода clone() с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
⚡️Свершилось: канал с книгами только по Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
👉 Книги для джавистов | Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Алгоритм Кнута — Морриса — Пратта
Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса.
Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.
Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса.
Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.