Подборка каналов для IT специалистов 🎯
https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста
Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus
Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub
CodePen 📌
https://t.iss.one/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.iss.one/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр
Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT
Чат программистов📌
https://t.iss.one/developers_ru
Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров
https://t.iss.one/arhitekturamira World Architecture
Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля
Математика 📌
https://t.iss.one/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.iss.one/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.iss.one/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.iss.one/metaverse360
DeepFake 📌
https://t.iss.one/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.iss.one/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.iss.one/Excel_lifehack
https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста
Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus
Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub
CodePen 📌
https://t.iss.one/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.iss.one/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр
Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT
Чат программистов📌
https://t.iss.one/developers_ru
Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров
https://t.iss.one/arhitekturamira World Architecture
Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля
Математика 📌
https://t.iss.one/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.iss.one/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.iss.one/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.iss.one/metaverse360
DeepFake 📌
https://t.iss.one/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.iss.one/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.iss.one/Excel_lifehack
Telegram
1C программист
Cтатьи, курсы, советы, шаблоны кода 1С. По всем вопросам @evgenycarter
👍3
Learn Java with Math
Автор: Ron Dai (2019)
Есть много хороших книг по программированию на Java, но найти подходящую для новичка непросто. Эта книга уменьшает сложность программирования на Java и проводит читателя через сложный путь обучения к эффективной работе. Автор показывает, насколько сильная математическая база является ключом к изучению программирования. Используя это как свою мотивацию, вы в кратчайшие сроки начнете программировать на Java.
Во время чтения книги вы:
✔️Изучите основы Java;
✔️Напишете код на Java, используя забавные математические примеры;
✔️Поработаете с переменными и алгоритмами;
✔️Изучите ввод-вывод, циклы и управляющие структуры.
Скачать книгу
Автор: Ron Dai (2019)
Есть много хороших книг по программированию на Java, но найти подходящую для новичка непросто. Эта книга уменьшает сложность программирования на Java и проводит читателя через сложный путь обучения к эффективной работе. Автор показывает, насколько сильная математическая база является ключом к изучению программирования. Используя это как свою мотивацию, вы в кратчайшие сроки начнете программировать на Java.
Во время чтения книги вы:
✔️Изучите основы Java;
✔️Напишете код на Java, используя забавные математические примеры;
✔️Поработаете с переменными и алгоритмами;
✔️Изучите ввод-вывод, циклы и управляющие структуры.
Скачать книгу
Telegram
Библиотека программиста (книги для разработчиков)
Learn Java with Math
Автор: Ron Dai (2019)
Автор: Ron Dai (2019)
👍2
Что означает ArrayStoreException?
Это исключение значит, что программа попыталась сохранить в массив значение неправильного типа. Такая попытка становится возможно из-за ковариантности массивов.
Ковариантность позволяет работать с массивом по типу массива родителей. Например, через приведение к
Компилятор гарантирует, что когда вы берете элемент из массива, он будет представителем типа элементов самого этого массива. Не важно какого типа переменная его хранит. Именно для обеспечения этой гарантии работает проверка типа времени выполнения, которая и выбрасывает
Ситуация похожа на проблему heap pollution в случае дженериков. Только для этого случая такая проблема возникает реже, потому что работает проверка этапа компиляции:
#Дженерики
👉@BookJava
Это исключение значит, что программа попыталась сохранить в массив значение неправильного типа. Такая попытка становится возможно из-за ковариантности массивов.
Ковариантность позволяет работать с массивом по типу массива родителей. Например, через приведение к
Object[] можно попытаться положить любой объект в любой массив:
Object x[] = new String[3];
x[0] = new Integer(0);
Компилятор гарантирует, что когда вы берете элемент из массива, он будет представителем типа элементов самого этого массива. Не важно какого типа переменная его хранит. Именно для обеспечения этой гарантии работает проверка типа времени выполнения, которая и выбрасывает
ArrayStoreException.Ситуация похожа на проблему heap pollution в случае дженериков. Только для этого случая такая проблема возникает реже, потому что работает проверка этапа компиляции:
// Ошибка компиляции – дженерики инвариантны!
List<Object> x = new ArrayList<String>();
#Дженерики
👉@BookJava
👍4
Цены на обучение в вузах и на курсах растут, работодатели не хотят брать выпускников без опыта работы и непонятно, с какой стороны подступиться, чтобы наконец войти в IT и начать нормально зарабатывать.
Мы предлагаем тебе решение — обучение Java-разработке в Kata Academy с оплатой после трудоустройства. Это не пустые обещания и сейчас мы расскажем тебе, почему:
• Kata работает по модели ISA — это взаимовыгодный вариант сотрудничества между школой и студентом, когда оплата за обучение производится только после получения работы в виде определенного процента с зарплаты.
• Мы гарантируем тебе минимальную зарплату от 100 000₽ — наши выпускники получают оферы с зп на 30-40% выше ожидаемой.
• В договоре закреплено условие: если ты не найдешь работу, обучение за наш счет. Мы считаем это честной сделкой.
• В наших интересах, чтобы ты получил крутой офер и рос в карьерном плане, поэтому в течение двух лет после выпуска ты будешь получать карьерную поддержку от Kata.
Скорее попробуй свои силы — выполняй тестовое задание по Java и приходи к нам учиться, чтобы уже через 8 месяцев стать миддловым разрабом в IT!
Мы предлагаем тебе решение — обучение Java-разработке в Kata Academy с оплатой после трудоустройства. Это не пустые обещания и сейчас мы расскажем тебе, почему:
• Kata работает по модели ISA — это взаимовыгодный вариант сотрудничества между школой и студентом, когда оплата за обучение производится только после получения работы в виде определенного процента с зарплаты.
• Мы гарантируем тебе минимальную зарплату от 100 000₽ — наши выпускники получают оферы с зп на 30-40% выше ожидаемой.
• В договоре закреплено условие: если ты не найдешь работу, обучение за наш счет. Мы считаем это честной сделкой.
• В наших интересах, чтобы ты получил крутой офер и рос в карьерном плане, поэтому в течение двух лет после выпуска ты будешь получать карьерную поддержку от Kata.
Скорее попробуй свои силы — выполняй тестовое задание по Java и приходи к нам учиться, чтобы уже через 8 месяцев стать миддловым разрабом в IT!
👍1👎1
Как скопировать массив?
Object.clone() и System.arraycopy(). Нативные способы копирования, самые быстрые из возможных. Унаследованный от базового класса clone() копирует весь массив без лишних аргументов.
Arrays.copyOf(), Arrays.copyOfRange() и все их перегрузки. Утилитарные методы, которые дают более специализированные способы копирования. Внутри все используют
Копирование через стрим.
Сторонними библиотеками. Обычно обеспечивают дополнительные удобства, такие как проверка корректности параметров, приведения типов, и прочие. Пример – класс
Все перечисленные способы создают поверхностную копию – оба массива в итоге ссылаются на одни и те же объекты. Лучший способ создать глубокую копию – реализовать ее вручную. Сначала оператором
Самый быстрый, но ужасный по эффективности способ глубокого копирования массива без реализации копирования отдельных элементов – сериализация+десериализация. Сложно придумать оправдание такому плохому способу для продакшна, но этот метод вполне подходит для реализации быстрого прототипа, или для тестового кода.
#Язык
👉@BookJava
Object.clone() и System.arraycopy(). Нативные способы копирования, самые быстрые из возможных. Унаследованный от базового класса clone() копирует весь массив без лишних аргументов.
arraycopy(), наоборот, максимально гибкий – позволяет копировать часть массива и указывать массив, в который копировать.Arrays.copyOf(), Arrays.copyOfRange() и все их перегрузки. Утилитарные методы, которые дают более специализированные способы копирования. Внутри все используют
System.arraycopy().Копирование через стрим.
Arrays.stream(sourceArray).toArray(). Удобно когда нужно встроить дополнительные промежуточные операции.Сторонними библиотеками. Обычно обеспечивают дополнительные удобства, такие как проверка корректности параметров, приведения типов, и прочие. Пример – класс
SerializationUtils из Apache Commons.Все перечисленные способы создают поверхностную копию – оба массива в итоге ссылаются на одни и те же объекты. Лучший способ создать глубокую копию – реализовать ее вручную. Сначала оператором
new создается пустой массив нужного размера, затем в цикле заполняется копиями элементов. Stream API здесь может дать удобный интерфейс реализации, и оптимизировать копирование с помощью многопоточности.Самый быстрый, но ужасный по эффективности способ глубокого копирования массива без реализации копирования отдельных элементов – сериализация+десериализация. Сложно придумать оправдание такому плохому способу для продакшна, но этот метод вполне подходит для реализации быстрого прототипа, или для тестового кода.
#Язык
👉@BookJava
👍9🔥2
Можно ли поймать Error?
Технически,
На практике, согласно спецификации, значение исключения типа
Более того, выброс исключения подтипа
Технически,
Error как и любой другой Throwable можно поймать в блок catch. Такой код абсолютно валидный и скомпилируется без проблем.На практике, согласно спецификации, значение исключения типа
Error – необрабатываемая ошибка, ловить которую нет смысла.Более того, выброс исключения подтипа
VirtualMachineError означает, что JVM находится в сломанном состоянии. Дальнейшая работа непредсказуема: OutOfMemoryError приводит к нев�