Simulative – Telegram
7.37K subscribers
1.71K photos
71 videos
1 file
1.27K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
⛔️ Не делайте так: топ ошибок начинающих IT-специалистов

Если вы работаете в IT, то у вас точно возникали мысли «Ну что я делаю не так, почему не получается?!»

А основных ошибок, мешающих росту и развитию, на самом деле, всего несколько штук. Например, одна из самых «страшных» - отрицательное отношение к критике. Но есть и другие, не менее важные, и сегодня вместе с онлайн-университетом SF Education собрали их в традиционных карточках.

Кстати говоря, эти ошибки встречаются в любых сферах - и в финансах, и в менеджменте: просто немного под другим соусом. Проверьте - а Вы не ходите по этим граблям? 🌝
👍9🔥1
🔥 7 самых важных оконных функций SQL

Практически любая боевая задача на SQL предполагает использование оконных функций. Особенно это must have при анализе данных.

Однако, очень часто люди их боятся и игнорируют, потому что они кажутся сложными. На самом деле, ничего сложного в них нет, а пользы - очень много.

Сегодня вместе с онлайн-университетом SF Education разобрали 7 самых важных оконных функций. Рассматриваем как классический ROW_NUMBER, так и NTILE и даже использование агрегатных функций, как оконных. Подробнее - в традиционных карточках 😉
👍206🔥3
💥 Решаем задачу на Python тремя способами: от Junior до Senior

Формулировка задачи

Дан список arr с произвольным количеством элементов. Необходимо написать функцию tuple_creator, которая вернет список кортежей, каждый из которых будет содержать порядковый номер и элемент списка arr. При этом нумерацию нужно начинать не с нуля, а с некоторого заданного числа n.

Пример:

Дано:
arr = ['aaa', 125, 'bbb'],
n = 3

Результат:
[(3,'aaa'),(4,125),(5,'bbb')]


Попробуйте решить задачу до того, как посмотрите наши варианты решения 🙃 Ссылка на задачу 👉🏻 https://vk.cc/caNCl1

Вариант 1: Junior

Самый простой вариант решения задачи:

1. Найти длину исходного массива
2. В цикле for получить индексы каждого элемента
3. Добавить к результату кортеж из индекса и соответствующего элемента

 class Answer:
def tuple_creator(self, arr, n):
# создаем пустой
список для записи
результата
res = []
# вычисляем длину
массива
l = len(arr)
# проходимся по всем
элементам массива
for i in range(l):
# добавляем к
результату
кортеж
(индекс,
значение)
res.append((i+n, arr[i]))
return res


⛔️ Минусы такого решения:

- Нахождение длины массива - лишняя операция
- Конструкция range(len(l)) - плохой стиль
- Получение элементов через arri - зачастую плохой стиль

Вариант 2: Middle

Если вспомнить про существование функции enumerate, то можно существенно «облагородить» код.

 class Answer:
def tuple_creator(self, arr, n):
# создаем пустой
список для записи
результата
res = []
# проходимся по всем
элементам массива
enumerate также
вычисляет индекс
for i, el in enumerate(arr):
# добавляем к
результату
кортеж (индекс,
значение)
res.append((i+n, el))
return res


⛔️ Минусы такого решения:

- Все еще присутствует цикл for
- Кусок кода с append напрашивается на оптимизацию :)
- В начале мы создаем пустой список

Вариант 3: Senior

Настоящий спец в Python вспомнит также, что функция enumerate принимает необязательный аргумент start, а с помощью list можно избавиться от создания пустого списка и операции append.

 class Answer:
def tuple_creator(self, arr, n):
return list(enumerate(arr, start = n))
👍9🔥4👎2
​​🤔 Про личную эффективность и как все успевать?

Недавно в телеграм-канале Федора Борщева, предпринимателя и программиста, поднимался вопрос личной эффективности. Федор делился собственным опытом и нам показалось это интересным, ведь такая проблема стоит у любого IT-специалиста.

Вот, что пишет Федор:


12 дел в день

Одна из областей жизни, которая радикально поменялась у меня при переходе в предпринимательство — это продуктивность. Вернее даже не поменялась, а развалилась нахрен — ГТД в чистом виде не справляется с неопределённостью, которую дают два моих бизнеса. В тяжёлые моменты показатели продуктивности выглядели страшно — каждый новый день в things начинался с 10-15 незакрытых вчера задач. Потупил полдня — лови ещё 20 задач в очереди. Количество встреч тоже зашкаливало — 8 встреч в день было нормой.

К счастью, мне хватило ума не искать новую методику продуктивности, не уезжать в Тибет и не нанимать тренера личной эффективности, а ввести ограничения, которые сильно сократили количество переработок — делать за день не больше 12 дел и проводить в неделю не больше 15 встреч.

Когда жёстко ограничиваешь количество работы, начинаешь более тщательно относиться к выбору задач. К примеру, я почти перестал делать задачи просто ради того, чтобы их сделать. Если уж я и пишу код — я его пишу не чтобы зарелизить фичу, а чтобы показать команде новую технологию или подход. Если я прихожу на встречу с клиентом — я прихожу, чтобы сократить себе, команде и клиенту объём работы, а не послушать отчёт о статусе проекта.


В комментариях писали разное: что отдыхать надо больше; что количество встреч не зависит от нас - как руководство скажет, так и будет; что максимум, сколько можно сделать: 3-4 дела в день и так далее.

Вопрос, конечно, животрепещущий. Как организовать свое время так, чтобы оставалось еще на отдых и личную жизнь? Но при этом чтобы все успевать и эффективность не падала?

Поделитесь своим опытом в комментариях - какие методики вы используете? Как распределяете время и соблюдаете work-life balance?
👍4