Получи случайную криптовалюту за регистрацию!

IT Resume

Логотип телеграм канала @it_resume — IT Resume I
Логотип телеграм канала @it_resume — IT Resume
Адрес канала: @it_resume
Категории: Карьера
Язык: Русский
Количество подписчиков: 3.82K
Описание канала:

Платформа для подготовки к техническим собеседованиям и развития навыков. Сайт: itresume.ru

Рейтинги и Отзывы

4.00

2 отзыва

Оценить канал it_resume и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

2

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 2

2022-05-30 19:57:44 Одна мелочь убивает целый SQL-запрос

Проверяя код участников нашего Симулятора по SQL, мы постоянно видим одни и те же «мелочи», из-за которых неправильно работает целый SQL-запрос. А значит аналитика проведена неправильно, компания в убытке. Давайте посмотрим несколько таких примеров - все на примере PostgreSQL.

1. COALESCE + конкатенация

В задании нужно вывести фамилию и имя пользователя, если они есть. Если нет - вывести «Дорогой друг». Большинство решает так:

select coalesce(
concat(first_name, ' ' , last_name),
'Дорогой друг'
)
from users

Но вместо ожидаемого результата мы видим либо пустую строку, либо результат конкатенации. А все потому что concat игнорирует значения NULL, следовательно результат получается отличным от NULL и coalesce не отрабатывает. Мелочь, но запрос сломался.

Чтобы избежать такой ситуации, делайте конкатенацию с помощью ||.

2. Фильтрация даты

Типичная задача - найти всех пользователей, которые пришли в заданный период времени. Дата-время регистрации при этом представлена полем timestamp.

Большинство решают задачу так:

select *
from users
where date_joined between '2022-04-01' and '2022-04-02'


А если посмотреть глазами на результат, то станет очевидно, что регистрации от 2 апреля были проигнорированы. Это связано с тем, что при сравнении идет внутреннее преобразование к '2022-04-02 00:00:00' - поэтому все регистрации 2 апреля не идут в расчет. А самое страшное, что на больших наборах данных это сложно заметить. Опять же, аналитика неправильная - запрос поломался.

Чтобы этого избежать, можно выполнить явное преобразование date_joined::date.

3. Заполнение пробелами в TO_CHAR

Знаете, какой будет результат выполнения вот этого запроса?

select to_char('2022-04-05'::date, 'month') = 'april'

Скорее всего, вы ответили True. Но нет - результатом будет False. Это связано с тем, что to_char(..., 'month') заполняет месяц пробелами до 9 символов. Поэтому True вернет вот такой запрос:

select to_char('2022-04-05'::date, 'month') = 'april '

Если этого не знать, то все ваши когортные анализы пойдут под откос. А решение очень простое - добавить TRIM.

- - - - -

Освойте еще больше «фишечек» в нашем Симуляторе: ссылка
376 views16:57
Открыть/Комментировать
2022-05-26 20:05:17
5 хитрых вопросов для самопроверки на Python

Сегодня вместе с ребятами из Хекслета сделали интересную подборку вопросов для проверки своих знаний по Python.

Некоторые вопросы здесь довольно хитрые, но основную массу (например, про MRO или аргументы по умолчанию) должен знать каждый. А вы знаете?
585 views17:05
Открыть/Комментировать
2022-05-18 20:19:21
3 полезных функции для работы с Pandas

Pandas - сильнейший фреймворк для анализа данных в Python. И сегодня мы вместе с Анастасией из PyMagic (наверняка вы видели ее видео про Data Science на ютуб-канале miracl6) мы сделали небольшую подборку полезных функций Pandas:

✓ stack
✓ set\_option
✓ insert

Эти, казалось бы, несложные функции могут существенно облегчить вам ежедневную работу с Pandas

Кстати, если у вас есть какие-то личные рекомендасьоны - поделитесь в комментариях)) Может быть вы облегчите кому-то жизнь
539 views17:19
Открыть/Комментировать
2022-04-19 20:11:00
Какой контент вам интересен?
Anonymous Poll
82%
Разборы задач, вопросов и тестов с собеседований
26%
Подноготная мира IT
41%
Подборки инструментов, сервисов, книг
36%
Разборы базовых конструкций ЯП
6%
Информация о платформе IT Resume
33%
Видео и стримы - лайвкодинги, разборы собеседований, ревью кода
3%
Другое
180 voters563 views17:11
Открыть/Комментировать
2022-04-19 20:11:00 Расскажите - какой контент вам интересен?

Мы последнее время стали экспериментировать с форматом постов. Расскажите - что вам интересней читать и на что нам делать особенный упор. Ну и вообще - интересно ли вам нас читать

1. Разборы задач, вопросов и тестов с собеседований. Пример: Разбор тестового задания для аналитика от Авито
2. Подноготную мира IT - наши мысли о разработке и работе в команде, и немного о том, как мы пишем код. Пример: Что мне нужно знать, чтобы получить работу?
3. Подборки инструментов, сервисов, книг и других полезностей. Пример: Топовая программа для работы с БД
4. Разборы базовых конструкций языков программирования. Пример: Почему COALESCE - это важно?
5. Побольше информации о платформе IT Resume. Пример: CHANGELOG за февраль
6. Видео и стримы - лайвкодинги, разборы собеседований, ревью кода подписчиков
7. Другое
(напишите в комментарии)
572 views17:11
Открыть/Комментировать
2022-04-18 20:11:00 Всем леопардам посвящается

Наш дружище, Глеб Михайлов, сделал курс Data Science с Глебом Михайловым. Кто воспользуется промокодом ITRESUME на 50% скидки - тот леопард

Кстати, в курсе куча практики на нашей платформе IT Resume, так что засучивайте рукава)))

А еще Глеб как-то делал стрим на нашей платформе. Все как обычно - с шутками, виноградным днем и диким угаром)) Если хочется поднять себе настроение - велкоме)
703 views17:11
Открыть/Комментировать
2022-04-13 20:11:01
Расчет промежуточного итога - Excel vs SQL

Расчет промежуточного итога - очень распространенная задача. Но в то же время, очень непростая.

Сегодня вместе с онлайн-университетом SF Education собрали для вас 2 способа расчета промежуточного итога:

с помощью Excel
с помощью оператора rollup в SQL

Забирайте себе в сохраненки - такая штука вам точно пригодится

- - - - -

Задачка: cделать из «широкой» таблицы «длинную»
1.4K views17:11
Открыть/Комментировать
2022-04-11 20:11:00 ​​Вопрос от подписчика. Что мне нужно знать?

Вопрос

Я заканчиваю обучение на онлайн-курсах по Python и хочу устроиться на работу. Что мне нужно знать, чтобы быть востребованным?


Ответ

Тут зависит от специальности. Если речь о бекенд-разработке, то минимальный набор знаний такой:

* Базовый Python. Например, уметь написать сложный вложенный цикл-обработчик, а потом его же оптимизировать.
* Один из бэкенд-фреймворков. Например, Django или Flask.
* Умение работать и создавать API. Хотя бы базовый REST.
* Понимание http-запросов. GET, POST, корсы, коды ошибок и прочее.
* Git. Минимальный набор - clone, push, pull, merge.
* SQL. Уметь писать базовые SELECT, UDPATE, INSERT, DELETE запросы.
* Linux. Подключение, перемещение по каталогам, понимание пользователей, установка-удаление-обновление пакетов/python/библиотек, полезные утилитки типа htop.
* Владеть базовыми инструментами для работы. Например, VS Code, DBeaver, Postman, putty.
* Python-специфичные плюшки. Виртуальное окружение, pip freeze и прочее.
* Тестирование кода с pytest или другим фреймворком.
* Понимание процесса деплоя. Хорошо бы уметь в базовый докер, знать про nginx и условный screen.

Много? Много. Но и это не все.

Вообще, все знать не обязательно и невозможно. Но иметь общее представление и использовать на практике - нужно.

И самое важное: нужен пет-проджект, чтобы показать на собеседовании, да и вообще просто для «обучения на практике». Не учебный проект, не блог, сделанный по статье на Хабре. А нормальный проект, покрытый тестами, задеплоенный где-нибудь на хостинге, с красиво оформленным репозиторием и вылизанным кодом.

Возьмут ли вас на работу после этого? Скорее да, чем нет

- - - - -

► Задачки по Python и не только: IT Resume
1.3K views17:11
Открыть/Комментировать
2022-04-08 20:11:00 ​​ Топовая программа для работы с разными БД

«Какой софт использовать для работы с базой данных» - наверняка такой вопрос уже возникал у вас. Вот мы всей командой используем DBeaver. Почему - рассказываем ниже.

1. Кроссплатформенный. У нас есть люди с Windows, с MACos и даже с Linux. И на все ОС DBeaver встает без проблем.

2. Поддержка основных СУБД. Нам не приходится использовать для MySQL - одну программу, для PostgreSQL - другую, а для SQL Server - третью. Все подключения удобно настраиваются в одном месте.

3. Бесплатный. Это немаловажный фактор - если вам не хочется платить за условный DataGrip, то DBeaver - отличная альтернатива.

4. Удобный. В отличие от многих подобных программ, DBeaver довольно удобен в плане интерфейса - все интуитивно понятно расположено и находится под рукой. Хотя свои косяки у него тоже есть, глупо это отрицать.

Конечно, Heidi, Toad, Workbench, PgAdmin, DataGrip и другие программы никто не отменял. Но мы плотно сидим на DBeaver. А что вы используете?

- - - - - - -

Тест по SQL для продвинутых: IT Resume
1.3K views17:11
Открыть/Комментировать
2022-04-06 20:11:00 Как конвертировать строку в число на Python?

Частенько возникает ситуация, что число вам подается на вход в виде строки (например, при загрузке данных из файлов). Особенно больно, когда речь не о целых числах, а о дробных.

И как конвертировать такую строку в число? И как проверить - поддается ли вообще строка конвертации в float? Давайте разберем по шагам.

Чистый isdigit() нам не поможет

Скорее всего, многие сразу подумали про функцию isdigit. Все бы хорошо, но она выдаст True, только если ВСЕ символы в строке - числа. А в случае с float у нас есть дробный разделитель (например, точка).

Однако, мы можем это обойти, добавив при проверке replace:

def check(num, sep='.'):
return num.replace(sep, '', 1).isdigit()

То есть убираем первый разделитель и проверяем - получили мы число или нет. Если получили - значит это float и его можно беспрепятственно конвертировать:

def convert(num, sep='.'):
if num.replace(sep, '', 1).isdigit():
return float(num)
return num

Что насчет try-except?

Другой вариант (пожалуй, самый очевидный) - завернуть нашу конвертацию из str в float в блок try-except. Получилось - здорово; не получилось - не и ладно.

def convert(num):
try:
num = float(num)
return num
except ValueError:
return num

Не сказал бы, что это самое красивое решение - но почему бы и нет.

Регулярные выражения

Для любителей писать регулярные выражения, можно пойти и по такому пути

import re

def convert(num):
if re.match(r'^-?\d+(?:\.\d+)$', num) is None:
return num
return float(num)

Этот вариант на любителя, но почему нет.

Заключение

Есть и другие варианты - например, с помощью list comprehension + функции all. А как вы бы решили задачу?

- - - - - - -

Задача про максимальное число из 6 и 9: IT Resume
1.4K views17:11
Открыть/Комментировать