GROK IT!
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: TypeError
💥 Объяснение:
В данном примере мы создаем множество (set) из квадратов чисел от 0 до 19.
Числа в множестве сохраняются в случайном порядке, а не друг за другом, поэтому вообще не факт, что числа будут идти так: 0, 1, 4...
Но здесь дело в другом. Мы пытаемся сделать подвыборку из первых пяти элементов множества. Однако, set не поддерживает индексацию, из-за чего мы получаем TypeError.
Если бы мы хотели все-таки выбрать первые 5 элементов (причем по порядку), то стоило бы использовать list comprehension:
И вот тогда ответ был бы точно 6.
❗️А здесь правильный ответ - TypeError.
#grokit #python
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: TypeError
💥 Объяснение:
В данном примере мы создаем множество (set) из квадратов чисел от 0 до 19.
Числа в множестве сохраняются в случайном порядке, а не друг за другом, поэтому вообще не факт, что числа будут идти так: 0, 1, 4...
Но здесь дело в другом. Мы пытаемся сделать подвыборку из первых пяти элементов множества. Однако, set не поддерживает индексацию, из-за чего мы получаем TypeError.
Если бы мы хотели все-таки выбрать первые 5 элементов (причем по порядку), то стоило бы использовать list comprehension:
mean([i**2 for i in range(20)][0:5])
И вот тогда ответ был бы точно 6.
❗️А здесь правильный ответ - TypeError.
#grokit #python
✍🏻 5 советов по оптимизации SQL-запросов ✍🏻
Ошибки, долгие паузы и "раздумья" компьютера, возмущенное жужжание процессора и гул успокаивающего его вентилятора...
Вам это знакомо?🤔
Сегодня разберем 5 советов по оптимизации SQL-запросов, которые позволят Вам сохранить и без того хрупкие "нервы" процессора и свои, в том числе!
В статье рассматриваем:
→ Как вывести всё, да не всё
→ Как сузить круг "подозреваемых"
→ Как существенно облегчить работу
→ Как правильно объединяться
→ И много что еще!
Обещаем, Вы обязательно узнаете что-то новое!😏
Приятного чтения!
#sql
Ошибки, долгие паузы и "раздумья" компьютера, возмущенное жужжание процессора и гул успокаивающего его вентилятора...
Вам это знакомо?🤔
Сегодня разберем 5 советов по оптимизации SQL-запросов, которые позволят Вам сохранить и без того хрупкие "нервы" процессора и свои, в том числе!
В статье рассматриваем:
→ Как вывести всё, да не всё
→ Как сузить круг "подозреваемых"
→ Как существенно облегчить работу
→ Как правильно объединяться
→ И много что еще!
Обещаем, Вы обязательно узнаете что-то новое!😏
Приятного чтения!
#sql
Дайджест вакансий за 01.02.2021 - 08.02.2021 🕵️♂️
✅Программист Python (Удаленно)
Зарплата: от 140 000 до 180 000 руб.от 30 000 до 40 000 руб.
Компания: ООО ФК ПУЛЬС
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Django + DRF, Celery, Linux, SQL (MySql\ PostgreSQL)
Дополнительные навыки: Администрирование БД, AWS или Google Cloud, Git, Unit Test, Functional Test, Docker
Ссылка на вакансию: https://vk.cc/bYa8bn
✅AI разработчик
Зарплата: от 70 000 до 100 000 руб.
Компания: Университет искусственного интеллекта
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python (Keras, TensorFlow, PyTorch), Object Detection, Computer vision, ML, Deep learning
Ссылка на вакансию: https://vk.cc/bYa93n
✅Data Scientist
Зарплата: от 120 000 до 180 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Математическая статистика, Machine learning, Python/Scala, Pandas, NumPy, Sklearn, XGBoost, Plotly, Matplotlib, Seaborn, SQL (MS SQL и ClickHouse )
Дополнительные навыки:Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bYaadv
✅Back-end разработчик Python
Зарплата: от 140 000 руб. до 170 000 руб
Компания: Специальные системы и технологии
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: Python2.7/3.5, SQL, Фреймворки: Flask, FastApi, Базы данных: MSSQL, PostgreSQL, MySQL, Сервера: IIS, Nginx, Сетевые протоколы и технологии: ASGI, WSGI, REST, XML, JSON, Совместная разработка: Git/GitLab, Очереди задач: RabbitMQ, Redis, Python/Celery, Опыт написания юнит-тестов (Jest+Enzyme), JIRA, ООП
Ссылка на вакансию: https://vk.cc/bYa7Iq
✅Программист SQL
Зарплата: до 130 000 руб.
Компания: Севстар
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (предпочтительно PostgreSQL, PL/pgSQL)
Дополнительные навыки: git, Java Core, Spring Framework, docker, perl
Ссылка на вакансию: https://vk.cc/bYaaGT
✅Разработчик BI (remote)
Зарплата: от 3 000 USD
Компания: Nitka Technologies
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: SQL, SAP Data Services, ETL-процессы
Дополнительные навыки: Python, AWS, Разговорный английский язык
Ссылка на вакансию: https://vk.cc/bYa7ln
✅Товарный аналитик в ecommerce-проект
Зарплата: до 130 000 руб.
Компания: СТАРТЕКС
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Power BI, Qlik, Tableau, 1С, Excel, SQL, Создание аналитической отчётности и/или прогностических моделей
Ссылка на вакансию: https://vk.cc/bYabbU
#vacancy
✅Программист Python (Удаленно)
Зарплата: от 140 000 до 180 000 руб.от 30 000 до 40 000 руб.
Компания: ООО ФК ПУЛЬС
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Django + DRF, Celery, Linux, SQL (MySql\ PostgreSQL)
Дополнительные навыки: Администрирование БД, AWS или Google Cloud, Git, Unit Test, Functional Test, Docker
Ссылка на вакансию: https://vk.cc/bYa8bn
✅AI разработчик
Зарплата: от 70 000 до 100 000 руб.
Компания: Университет искусственного интеллекта
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python (Keras, TensorFlow, PyTorch), Object Detection, Computer vision, ML, Deep learning
Ссылка на вакансию: https://vk.cc/bYa93n
✅Data Scientist
Зарплата: от 120 000 до 180 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Математическая статистика, Machine learning, Python/Scala, Pandas, NumPy, Sklearn, XGBoost, Plotly, Matplotlib, Seaborn, SQL (MS SQL и ClickHouse )
Дополнительные навыки:Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bYaadv
✅Back-end разработчик Python
Зарплата: от 140 000 руб. до 170 000 руб
Компания: Специальные системы и технологии
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: Python2.7/3.5, SQL, Фреймворки: Flask, FastApi, Базы данных: MSSQL, PostgreSQL, MySQL, Сервера: IIS, Nginx, Сетевые протоколы и технологии: ASGI, WSGI, REST, XML, JSON, Совместная разработка: Git/GitLab, Очереди задач: RabbitMQ, Redis, Python/Celery, Опыт написания юнит-тестов (Jest+Enzyme), JIRA, ООП
Ссылка на вакансию: https://vk.cc/bYa7Iq
✅Программист SQL
Зарплата: до 130 000 руб.
Компания: Севстар
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (предпочтительно PostgreSQL, PL/pgSQL)
Дополнительные навыки: git, Java Core, Spring Framework, docker, perl
Ссылка на вакансию: https://vk.cc/bYaaGT
✅Разработчик BI (remote)
Зарплата: от 3 000 USD
Компания: Nitka Technologies
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: SQL, SAP Data Services, ETL-процессы
Дополнительные навыки: Python, AWS, Разговорный английский язык
Ссылка на вакансию: https://vk.cc/bYa7ln
✅Товарный аналитик в ecommerce-проект
Зарплата: до 130 000 руб.
Компания: СТАРТЕКС
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Power BI, Qlik, Tableau, 1С, Excel, SQL, Создание аналитической отчётности и/или прогностических моделей
Ссылка на вакансию: https://vk.cc/bYabbU
#vacancy
☕️Понедельник - самое подходящее время для того, чтобы поменять жизнь!
Сегодня Елизавета, член команды IT Resume, рассказывает в блоге Типичный программист о том, как ей удалось выйти из космических войск и войти в IT 😅
Приятного чтения 👍🏻
#itresume
Сегодня Елизавета, член команды IT Resume, рассказывает в блоге Типичный программист о том, как ей удалось выйти из космических войск и войти в IT 😅
Приятного чтения 👍🏻
#itresume
⚠️ Почему прямо сейчас нужно попробовать Numpy 1.20.0?
Недавно вышел релиз Numpy 1.20.0 - большое обновление. Много всего завезли, много чего убрали, многое пофиксили. Вот самое интересное:
1️⃣ Новая функция permuted
Теперь, например, можно независимо друг от друга перемешать элементы по размерностям 2D массива.
2️⃣ Скользящие окна sliding_window_view
Теперь работать с оконными вычислениями стало проще. В смежных библиотеках они уже были, теперь и в Numpy завезли. Бегом переписывать свои скользящие средние 😏
3️⃣ Ушли алиасы для встроенных типов
Знаете, чем отличается int и numpy.int? Ничем, теперь эту путаницу устранили.
4️⃣ Давайте без финансов
Финансовые функции irr, npv и прочие отправили в пакет numpy_financial. Чтобы не вносили смуты.
5️⃣ Аргумент where в функция all, any, std, mean и var
Теперь удобно считать математические характеристики или использовать any/all только с частью многомерного массива. Для этого достаточно указать параметр where.
✅ Естественно, это не все изменения - их очень много. Полный список можно почитать здесь 👉🏻 http://bit.ly/3a2Fvy4
Кстати говоря, если полазить по исходникам на Github, то можно увидеть много забавного. Например, разработчики пишут, что у них неправильно работают какие-то куски кода 😂
PS. Были жалобы, что после обновления перестали работать части старого кода. Таких было немного, но были. Будьте внимательны ☺️
#python
Недавно вышел релиз Numpy 1.20.0 - большое обновление. Много всего завезли, много чего убрали, многое пофиксили. Вот самое интересное:
1️⃣ Новая функция permuted
Теперь, например, можно независимо друг от друга перемешать элементы по размерностям 2D массива.
2️⃣ Скользящие окна sliding_window_view
Теперь работать с оконными вычислениями стало проще. В смежных библиотеках они уже были, теперь и в Numpy завезли. Бегом переписывать свои скользящие средние 😏
3️⃣ Ушли алиасы для встроенных типов
Знаете, чем отличается int и numpy.int? Ничем, теперь эту путаницу устранили.
4️⃣ Давайте без финансов
Финансовые функции irr, npv и прочие отправили в пакет numpy_financial. Чтобы не вносили смуты.
5️⃣ Аргумент where в функция all, any, std, mean и var
Теперь удобно считать математические характеристики или использовать any/all только с частью многомерного массива. Для этого достаточно указать параметр where.
✅ Естественно, это не все изменения - их очень много. Полный список можно почитать здесь 👉🏻 http://bit.ly/3a2Fvy4
Кстати говоря, если полазить по исходникам на Github, то можно увидеть много забавного. Например, разработчики пишут, что у них неправильно работают какие-то куски кода 😂
PS. Были жалобы, что после обновления перестали работать части старого кода. Таких было немного, но были. Будьте внимательны ☺️
#python
GROK IT! Ответ на задачу про вычитание множеств 🔔
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: {1, 2}
💥 Объяснение:
В данном примере у нас есть 2 множества (set). Этот контейнер содержит набор уникальных элементов в случайном порядке.
Первое и очевидное желание - просто вычесть второе множество из первого почленно. Тогда получится {-2, -2, -2}.
Вторая идея, которая приходит после этого - но множество содержит же только уникальные значения. Значит из {-2, -2, -2} должно остаться только {-2}.
Однако, нет. При вычитании двух множеств выполняется другая операция - симметрическая разность. И в итоговое множество попадают только те элементы, которые ЕСТЬ в первом сете, но НЕТ во втором. В данном случае, это {1, 2}.
❗️Таким образом, правильный ответ - {1, 2}.
#grokit #python
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: {1, 2}
💥 Объяснение:
В данном примере у нас есть 2 множества (set). Этот контейнер содержит набор уникальных элементов в случайном порядке.
Первое и очевидное желание - просто вычесть второе множество из первого почленно. Тогда получится {-2, -2, -2}.
Вторая идея, которая приходит после этого - но множество содержит же только уникальные значения. Значит из {-2, -2, -2} должно остаться только {-2}.
Однако, нет. При вычитании двух множеств выполняется другая операция - симметрическая разность. И в итоговое множество попадают только те элементы, которые ЕСТЬ в первом сете, но НЕТ во втором. В данном случае, это {1, 2}.
❗️Таким образом, правильный ответ - {1, 2}.
#grokit #python
💥 6 отличий списков и кортежей в Python 💥
Частая дилемма: что использовать - списки или кортежи. По этой же теме задают много вопросов на собеседованиях.
✅ Сегодня разберем 6 отличий list и tuple в Python:
✓ Литералы
✓ Длина
✓ Мутабельность
✓ Размер
✓ Ключи словаря
✓ Возможности
🗣 Общая рекомендация такая:
→ Заносите в кортеж известные наборы данных. Например, информацию о пользователе с сайта:
» ('Vasya', 'Pupkin', 'Python')
→ Заносите в списки множество схожих элементов. Например, перечисления:
» 'Banana', 'Orange', 'Apple'
Однако, это не все возможные ситуации. Например, если Вам нужно избежать случайного изменения - используйте кортежи, там никто ничего поменять не сможет. Этакая "проверка на дурака". Если Вам нужно сэкономить немного места - также используйте кортежи.
#python
Частая дилемма: что использовать - списки или кортежи. По этой же теме задают много вопросов на собеседованиях.
✅ Сегодня разберем 6 отличий list и tuple в Python:
✓ Литералы
✓ Длина
✓ Мутабельность
✓ Размер
✓ Ключи словаря
✓ Возможности
🗣 Общая рекомендация такая:
→ Заносите в кортеж известные наборы данных. Например, информацию о пользователе с сайта:
» ('Vasya', 'Pupkin', 'Python')
→ Заносите в списки множество схожих элементов. Например, перечисления:
» 'Banana', 'Orange', 'Apple'
Однако, это не все возможные ситуации. Например, если Вам нужно избежать случайного изменения - используйте кортежи, там никто ничего поменять не сможет. Этакая "проверка на дурака". Если Вам нужно сэкономить немного места - также используйте кортежи.
#python
Рубрика «Вопросы с собеседований» 💥
❓Какие виды вероятностных распределений Вы знаете?
✅ Ответ:
Распределение вероятностей - это закон, описывающий значения, которые принимает случайная величина и вероятность их появления.
По основной классификации вероятностные распределения бывают:
✓ Дискретными
✓ Непрерывными
Дискретное распределение - распределение случайной величины, если она принимает не более чем счетное число значений. Счетное - значит можно пронумеровать их натуральными числами.
Примеры дискретных распределений: Бернулли, Биномиальное, Пуассоновское, Геометрическое.
Непрерывное распределение - распределение случайной величины, если существует такая неотрицательная функция плотности, что вероятность попадания в заданный интервал равна интегралу от плотности по этому интервалу.
Примеры непрерывных распределений: Равномерное, Гауссовское, Гамма, Экспоненциальное, Коши, Хи-квадрат.
#interview_problems #math
❓Какие виды вероятностных распределений Вы знаете?
✅ Ответ:
Распределение вероятностей - это закон, описывающий значения, которые принимает случайная величина и вероятность их появления.
По основной классификации вероятностные распределения бывают:
✓ Дискретными
✓ Непрерывными
Дискретное распределение - распределение случайной величины, если она принимает не более чем счетное число значений. Счетное - значит можно пронумеровать их натуральными числами.
Примеры дискретных распределений: Бернулли, Биномиальное, Пуассоновское, Геометрическое.
Непрерывное распределение - распределение случайной величины, если существует такая неотрицательная функция плотности, что вероятность попадания в заданный интервал равна интегралу от плотности по этому интервалу.
Примеры непрерывных распределений: Равномерное, Гауссовское, Гамма, Экспоненциальное, Коши, Хи-квадрат.
#interview_problems #math
10 ошибок начинающих программистов
1️⃣ Писать неопрятный код
Давать непонятные имена переменным, не разделять код на модули и логические блоки, наводить хаос в скобках и отступах - все это признаки программиста-дилетанта.
Профессионал должен знать, как оформлять код на том или ином языке программирования.
✅ Читайте нашу статью про то, как оформлять код SQL 👉🏻 https://vk.com/@itresume-krasivyi-kod-zalog-zdorovya-sql
2️⃣ Не гуглить
Вторая частая ошибка - не гуглить. Что делает неопытный программист:
→ Пристает к коллегам
→ Тупит
→ Тратит кучу времени, чтобы решить проблему
Что делает опытный специалист:
→ Гуглит и находит готовое решение
✅ Потренируйтесь и загуглите прямо сейчас 👉🏻 Как программировать на Python, если боишься змей?
3️⃣ Не писать комментарии
"Зачем писать комментарии, я же и так знаю, что такое переменная a, b и myvar&" - именно такой логикой, видимо, руководствуется подавляющее большинство новичков. Однако, так делать не надо.
Опытный программист всегда снабжает свой код емкими и понятными комментариями, чтобы даже коллега с другого проекта все понял. Заметьте, "емкий" не равно "суперобъемный".
✅ Как бы Вы прокомментировали этот код? 👉🏻 if a != b: myvar += 1
4️⃣ Писать слишком много комментариев
Если после прочтения предыдущего пункта Вы бросились неистово комментировать каждую строчку, то так делать тоже не стоит :)
Избыточные комментарии только загрязняют код - лучше давать понятные имена переменным, чем объяснять, что "a" - это "не a, а счетчик посетителей". Можно же просто назвать customer_counter, верно?
✅ Новичок или профессионал писал этот код? 👉🏻
Упертость начинающего программиста заключается в том, что он бездумно пытается дописать неработающий код, даже если это откровенно дохлый номер. При этом на форумах ему давно подсказали правильное решение, но нет - я что, хуже что ли?!
Порой стоит отказаться от "гениальной" задумки и воспользоваться проверенными методами. Ну или советами более опытных коллег.
✅ Мы знаем, что у Вас тоже есть такой кусок кода (даже если Вы опытный спец) 👉🏻 Начните новую жизнь, удалите его безвозвратно и попробуйте заново :)
6️⃣ Отсутствие системности
Начинающий программист свято верит, что сможет написать код сходу, без плана и схемы. Ха-ха. Юный подаван, Сила еще не полностью открылась тебе.
Конечно, не стоит пытаться расписать все до мельчайших подробностей - это ни к чему. Однако, общий структурный план позволит избежать мартышкиного труда - Вам не придется по 10 раз создавать практически идентичные классы и функции.
✅ Выполните это упражнение прямо сейчас 👉🏻 Напишите схему, как будет выглядеть программа, которая каждый день будет Вам напоминать составлять план.
7️⃣ Погоня за скоростью
Многие начинающие программисты, находясь под впечатлением от института, тратят очень много времени на ускорение своего кода.
Вообще говоря, производительность нужна в достаточно ограниченном количестве задач. По большей части это вычислительные и научные расчеты.
Конечно, о скорости думать нужно, но только когда весь остальной код в порядке. Дядюшка Кнут сказал: "Преждевременная оптимизация – корень всех зол".
А еще один наш знакомый сказал: "В 21 веке дешевле купить сервер помощней, чем тратить кучу денег на оптимизацию". Спорная позиция, но смысл в этом есть.
✅ Ребят, что-то код тупит, как можно его ускорить? 👉🏻 a = b*2
8️⃣ Бесконечное обучение
Многие разработчики-новички (да и не только разработчики) делают одну и ту же ошибку: постоянно проходят курсы, смотрят видео, читают туториалы и так далее. Но забывают самое главное - применять это все на практике.
Вырвитесь из ада туториалов!
✅ Прямо сейчас прочитайте этот туториал и попробуйте его на практике! 👉🏻 https://vk.com/@itresume-polnyi-razbor-lineinoi-regressii-i-metodov-regulyarizacii-v
1️⃣ Писать неопрятный код
Давать непонятные имена переменным, не разделять код на модули и логические блоки, наводить хаос в скобках и отступах - все это признаки программиста-дилетанта.
Профессионал должен знать, как оформлять код на том или ином языке программирования.
✅ Читайте нашу статью про то, как оформлять код SQL 👉🏻 https://vk.com/@itresume-krasivyi-kod-zalog-zdorovya-sql
2️⃣ Не гуглить
Вторая частая ошибка - не гуглить. Что делает неопытный программист:
→ Пристает к коллегам
→ Тупит
→ Тратит кучу времени, чтобы решить проблему
Что делает опытный специалист:
→ Гуглит и находит готовое решение
✅ Потренируйтесь и загуглите прямо сейчас 👉🏻 Как программировать на Python, если боишься змей?
3️⃣ Не писать комментарии
"Зачем писать комментарии, я же и так знаю, что такое переменная a, b и myvar&" - именно такой логикой, видимо, руководствуется подавляющее большинство новичков. Однако, так делать не надо.
Опытный программист всегда снабжает свой код емкими и понятными комментариями, чтобы даже коллега с другого проекта все понял. Заметьте, "емкий" не равно "суперобъемный".
✅ Как бы Вы прокомментировали этот код? 👉🏻 if a != b: myvar += 1
4️⃣ Писать слишком много комментариев
Если после прочтения предыдущего пункта Вы бросились неистово комментировать каждую строчку, то так делать тоже не стоит :)
Избыточные комментарии только загрязняют код - лучше давать понятные имена переменным, чем объяснять, что "a" - это "не a, а счетчик посетителей". Можно же просто назвать customer_counter, верно?
✅ Новичок или профессионал писал этот код? 👉🏻
import numpy as np #импортируем библиотеку, а еще я очень люблю котиков - они очень милые!5️⃣ Упертость
Упертость начинающего программиста заключается в том, что он бездумно пытается дописать неработающий код, даже если это откровенно дохлый номер. При этом на форумах ему давно подсказали правильное решение, но нет - я что, хуже что ли?!
Порой стоит отказаться от "гениальной" задумки и воспользоваться проверенными методами. Ну или советами более опытных коллег.
✅ Мы знаем, что у Вас тоже есть такой кусок кода (даже если Вы опытный спец) 👉🏻 Начните новую жизнь, удалите его безвозвратно и попробуйте заново :)
6️⃣ Отсутствие системности
Начинающий программист свято верит, что сможет написать код сходу, без плана и схемы. Ха-ха. Юный подаван, Сила еще не полностью открылась тебе.
Конечно, не стоит пытаться расписать все до мельчайших подробностей - это ни к чему. Однако, общий структурный план позволит избежать мартышкиного труда - Вам не придется по 10 раз создавать практически идентичные классы и функции.
✅ Выполните это упражнение прямо сейчас 👉🏻 Напишите схему, как будет выглядеть программа, которая каждый день будет Вам напоминать составлять план.
7️⃣ Погоня за скоростью
Многие начинающие программисты, находясь под впечатлением от института, тратят очень много времени на ускорение своего кода.
Вообще говоря, производительность нужна в достаточно ограниченном количестве задач. По большей части это вычислительные и научные расчеты.
Конечно, о скорости думать нужно, но только когда весь остальной код в порядке. Дядюшка Кнут сказал: "Преждевременная оптимизация – корень всех зол".
А еще один наш знакомый сказал: "В 21 веке дешевле купить сервер помощней, чем тратить кучу денег на оптимизацию". Спорная позиция, но смысл в этом есть.
✅ Ребят, что-то код тупит, как можно его ускорить? 👉🏻 a = b*2
8️⃣ Бесконечное обучение
Многие разработчики-новички (да и не только разработчики) делают одну и ту же ошибку: постоянно проходят курсы, смотрят видео, читают туториалы и так далее. Но забывают самое главное - применять это все на практике.
Вырвитесь из ада туториалов!
✅ Прямо сейчас прочитайте этот туториал и попробуйте его на практике! 👉🏻 https://vk.com/@itresume-polnyi-razbor-lineinoi-regressii-i-metodov-regulyarizacii-v
9️⃣ Отрицательное отношение к критике
Молодые (в плане опыта) специалисты часто резко реагируют на критику со стороны более опытных коллег. Они думают, что их недооценивают, ущемляют, унижают или что-то еще.
Это не так - каждая обратная связь - способ стать лучше. Само собой, Ваш ревьюер может быть не прав. Если Вы уверены в своей правоте - докажите ее (если в этом есть смысл). Но, скорее всего, в словах Вашего коллеги есть смысл - прислушайтесь, может это позволит сделать Ваш код лучше, а Вам стать чуть профессиональней?
✅ Самое время закрыть триггер 👉🏻 Напишите в комментариях, почему наш код - плохой. Не важно, какой код, просто выговоритесь 😂
🔟 Изобретение велосипеда
Еще одна народная забава - регулярно изобретать новый велосипед. Зачем пользоваться готовыми инструментами, если можно все наколхозить самому? Действительно.
Ну, вообще, в большинстве случаев надо пользоваться готовыми библиотеками и фреймворками:
→ Там уже все реализовано
→ Там уже поработали над скоростью
→ Там уже предусмотрели баги
Но это, конечно, не точно.
✅ Однако, давайте чего-нибудь заколхозим 👉🏻 Напишите с нуля сверточную нейронную сеть. На Алголе, конечно же.
🔔 Во многих пунктах Вы узнали себя? 😅
Молодые (в плане опыта) специалисты часто резко реагируют на критику со стороны более опытных коллег. Они думают, что их недооценивают, ущемляют, унижают или что-то еще.
Это не так - каждая обратная связь - способ стать лучше. Само собой, Ваш ревьюер может быть не прав. Если Вы уверены в своей правоте - докажите ее (если в этом есть смысл). Но, скорее всего, в словах Вашего коллеги есть смысл - прислушайтесь, может это позволит сделать Ваш код лучше, а Вам стать чуть профессиональней?
✅ Самое время закрыть триггер 👉🏻 Напишите в комментариях, почему наш код - плохой. Не важно, какой код, просто выговоритесь 😂
🔟 Изобретение велосипеда
Еще одна народная забава - регулярно изобретать новый велосипед. Зачем пользоваться готовыми инструментами, если можно все наколхозить самому? Действительно.
Ну, вообще, в большинстве случаев надо пользоваться готовыми библиотеками и фреймворками:
→ Там уже все реализовано
→ Там уже поработали над скоростью
→ Там уже предусмотрели баги
Но это, конечно, не точно.
✅ Однако, давайте чего-нибудь заколхозим 👉🏻 Напишите с нуля сверточную нейронную сеть. На Алголе, конечно же.
🔔 Во многих пунктах Вы узнали себя? 😅