Egor Wexler печатает…
5.34K subscribers
15 photos
25 videos
2 files
43 links
Principal Software Engineer в Dell
Учу программировать 🐍 на Wexler.io

Инстаграм:
Instagram.com/egor_wexler
加入频道
35 лет

У меня сегодня День Рождения, можно сказать юбилей 😁

Интересная вещь, что я стал чувствовать что мне 35 наверное ещё в сентябре 🙈 как-то странно, раньше всегда думал, что мне все еще 27

Видимо это все из-за большого количества событий, произошедших в этом году. Год был действительно насыщенный и поворотный, когда жизнь меняется на 360 градусов.

В конце года все пишут посты, подводя итоги года - вот это тоже своего рода такой пост

Для меня это был год путешествий ✈️ и отношений 🫂

Я слетал на самолете более 20ти раз. Из них 3 раза в Грузию

Решился наконец на развод, который намечался уже давно. Это оказалось тяжелее, чем казалось, но потом когда все закончилось - стало намного лучше. Как с операцией когда надо потерпеть боль чтобы потом стало лучше

Попробовал себя в поиске работы в России и даже записал новый небольшой курс по поиску работы, который уже доступен.
Там я собрал весь свой опыт поиска работы за 9 лет плюс вы получите бесплатный разбор резюме и скидку 10% на сервис по профессиональному составлению резюме

А в честь дня рождения - этот курс идет подарком к большому курсу Python 🐍 продажи открыты до 7 января

А ещё, в честь Нового Года - все , кто когда-либо купил курс Python и не успел его пройти, получат 3 месяца доступа 🙌 чтобы успеть получить новый навык на этих новогодних праздниках

С наступающим Новым Годом! 🎄


Большой Курс Python 🐍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73🎉54🎄109👍4👎3
Media is too big
VIEW IN TELEGRAM
Задачка на рекурсию

Одна из задачек, где применение рекурсии (на мой взгляд) не сильно очевидно.

Ссылка на LeetCode

Завтра выложу решение ☺️ В видео специально не сказал про некоторые из базовых кейсов
👍163🆒2
Egor Wexler печатает…
Задачка на рекурсию Одна из задачек, где применение рекурсии (на мой взгляд) не сильно очевидно. Ссылка на LeetCode Завтра выложу решение ☺️ В видео специально не сказал про некоторые из базовых кейсов
Решение задачки с помощью рекурсии.

Вообще, хотел включить это в видео, но оно у меня не поместилось 🙈 поэтому прикладываю отдельно

class Solution:
def myPow(self, x: float, n: int) -> float:
# Базовые кейсы
# любое число в степени 0 это 1
if n == 0:
return 1.0

# любое число в степени 1 это то же число
if n == 1:
return x

# если степень отрицательная, делим один на число
if n == -1:
return 1/x

# Нечётная степень:
# само число умножить на число в степени ниже
if n % 2 != 0:
return x * self.myPow(x, n - 1)

# Чётная степень
# делим степень пополам и перемножаем результаты
res = self.myPow(x, abs(n / 2))
res *= res

# Если чётная степень была отрицательная, то единицу делим на число
if n < 0:
return 1 / res
return res
👍226🔥6
Обо Мне

Для тех, кто недавно присоединился - основные факты моей истории 😊

Мне 35 лет, по образованию я авиационный инженер ✈️ (закончил ГУАП в Питере)

После университета - три года работал по специальности в Челябинске - обслуживал самолёты Ан-26 и Ту-134.

Уже тогда у меня была определённая склонность к программированию и автоматизации. Несмотря на то, что писать код я не умел, делал "умные" таблицы в Excel, которые использовал в работе.

Именно разработкой ПО начал заниматься самостоятельно около 10 лет назад. Начинал с курсов по Web-разработке (HTML, JavaScript, Jquery) и маленьких проектиков.

После переезда в Израиль в 2017 году - нашел там первую работу программистом. Это был древний язык COBOL, которому работодатель (Компания Surecomp) обучал. Ведь готовые специалисты на этом языке слишком старые 🙈

COBOL я изучил, но не проработал на нём ни дня, так как меня пригласили в другой, немецкий проект, где предстояло писать на проприетарном языке TradeDesign, разработанном внутри компании.
Что-то наподобие 1С, только немецкое и менее известное. В отличие от COBOL, в этом языке был даже объектно-ориентированный подход! ☝️(ООП). Хоть и реализованный весьма специфически...

Платили откровенно мало и на то была причина - "куда ты пойдешь со знаниями TradeDesign?" 😂 такие "специалисты" нигде не нужны, кроме собственно компании Surecomp...

Несмотря на то, что знания непосредственно этого языка нигде не пригодятся, вместе с работой на нём ко мне приходили и такие вещи как:
- Работа с ООП
- Алгоритмы, функции, переменные, структуры данных
- Манипуляции с текстом
- Работа с SQL и базами данных
- Чтение/запись файлов разных форматов - XML, JSON, CSV
- Умение находить баги и ошибки, обучаться
- Использование API: SOAP/REST

Для работы с API я даже написал свою библиотеку на TradeDesign, которая упрощает вызов API (аналог библиотеки requests в Python).

Оказалось, что даже работая "с никому не нужным на рынке" языком, получаешь много общих знаний, которые пригодятся потом в любой сфере IT.

Тем не менее, на зарплату это не сильно влияло и я начал искать пути дальнейшего развития в профессии - изучать языки и технологии, которые нужны другим работодателям. Попробовав многие вещи, пройдя курсы и туториалы (Там были Java, C++, QT5, Kotlin, Haskell, Swift и многое другое), в итоге мне больше всего откликнулся Python благодаря своей простоте, лаконичности и богатой экосистеме.

Изучив немного Python, я сразу начал применять новые знания на практике на текущей работе. Например, сделал небольшой проект по интеграции таблиц MS Excel в TradeDesign.

Схема взаимодействия выглядела так:
TradeDesign -> REST API запрос -> Python Django Framework -> Библиотека Pycel -> MS Excel

Таким образом, всё ещё работая с TradeDesign, мне удавалось получить практику в новой для себя технологии.

Разумеется, параллельно я занимался поиском работы уже по специализации Python и Web.
Так, после пары лет поиска я оказался в Dell на позиции старшего разработчика. Там как раз нужны были именно те знания, что у меня были на тот момент.

Про работу в Dell и последние достижения напишу отдельный пост - там есть что рассказать 😊

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

И мы решили написать свою платформу.
Я на тот момент умел только бэк-энд, но решил попробовать (ведь фронт-энд я тоже изучал когда-то давно).

В итоге процесс создания платформы так сильно меня увлёк, что всего за месяц разработки Кате удалось запустить на платформе свой первый курс по SQL.

Разумеется, потом платформу приходилось регулярно дорабатывать, а для моего курса Python так вообще сделать весь фронт-энд заново 😁, чтобы уместить IDE, где можно писать код.

Это был очень интересный опыт, ведь приходилось делать абсолютно всё самому. Начиная от написания кода до выбора архитектуры, инфрастуктуры и хостинга.

И этот опыт потом часто пригождался на основной работе в Dell.

Мораль этой истории - любой опыт и знания когда-то пригождаются.

Продолжение следует...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍4821🤝2🍓1
Egor Wexler печатает… pinned «Обо Мне Для тех, кто недавно присоединился - основные факты моей истории 😊 Мне 35 лет, по образованию я авиационный инженер ✈️ (закончил ГУАП в Питере) После университета - три года работал по специальности в Челябинске - обслуживал самолёты Ан-26 и Ту…»
WebSocket Proxy

Рассказывал в этом видео, как реализовал веб-сокет соединение в Django проекте.

Для "переброса" сообщений - создал отдельный сервис который проксирует сообщения - просто передает их обратно в тот же веб-сокет канал.

Это решение проще тем, что особо не надо решать вопросы по архитектуре текущего проекта. Например, переходить с WSGI на ASGI (к тому же на тот момент проект был в хостинге Рег.ру, а там вообще не было поддержки ASGI для Джанго)

Если кому вдруг пригодится - вот сам микросервис WebSocket Proxy

https://github.com/Luckykarter/ws-proxy

А отправка сообщения через веб-сокет в этом случае выглядит вот так (библиотека websocket-client):

from websocket import create_connection

message = {} # сообщение в формате json
user_id = 0 # айди пользователя

ws = create_connection(
f'{web_socket_server}/{user_id}/')
ws.send(json.dumps(message))
ws.close()
👍22🔥62👾1
Вот это кстати забавно.

На моей работе в Surecomp моя начальница (израильтянка) в созвоне с заказчиками (крупный бельгийский банк), обсуждая таблицы с требованиями сказала:
"This Excel has a lot of sheet"
Хотела сказать This excel has a lot of sheets - в этом экселе много страниц, а получилось "a lot of shit" - в этом Экселе много гавна

Меня, конечно, поразила сдержанность и корректность ребят из Бельгии - их начальник сдержанно ответил, что мол да, действительно большой документ 😅

Просто в иврите когда чего-то много (как правило больше 10ти) то существительное употребляется в единственном числе
😁69🤣28🌭1
Понял сейчас, что благодаря интеграции ИИ в обучающую платформу - справляться с поддержкой учеников на курсе стало проще 😄

Поэтому старт следующего потока Большого Курса Python переносится с марта на февраль!

Стартуем уже 10 февраля. Можно добавить в календарь (Событие во вложении)

Или по ссылке: wexler.io/python

Думаю ещё провести какой-нибудь вебинар, только пока не определился с темой 🤔
👍13🔥6
Сходил на тест-драйв Hongqi H5

Как-то привык уже, что всегда есть машина и несмотря на то, что сейчас в ней нет острой необходимости, хожу присматриваюсь.

Пока что смотрю на варианты "новое с салона с официальной гарантией". Ну и разумеется, тут в основном китайский автопром.

Внешне очень понравилась эта машина - Хончи Н5. Красивая. В профиль напоминает Кадиллак, в салоне кожа/рожа, все дела. Цена при нынешних ценах вполне адекватная.

Решил сходить посмотреть поближе и прокатиться. Вот вам мой мини-обзор и сравнение прежде всего с Tesla Model 3 (так как на ней ездил последние три года)

Плюсы:
- дизайн - как интерьер, так и экстерьер. Приятно смотреть снаружи, приятно сидеть внутри. Высокое качество кожи и материалов, тяжелые двери. Ощущение будто сидишь в Ауди

- посадка за рулём. Руль имеет большой диапазон регулировки, можно настроить как угодно. Сидится очень комфортно.

- есть обдув и подогрев сидений, CarPlay (привет, Тесла, там его не было 🙈), камера 360, парктроники, слепые зоны. В общем, оснащение "полный фарш"

- мягкая подвеска и хорошая шумоизоляция. Хорошо съедает неровности дороги, очень комфортно внутри.

- понравилось, что машина предупредила о забытом в салоне телефоне. Вот это прям супер "Nice Touch". Вечно забываю телефон...

На этом плюсы, пожалуй заканчиваются 😅 У авто есть явные недостатки, которые мне лично показались значительными.

Минусы:
- самый большой - нелогичная электроника. Например, на светофоре я отстегнул ремень безопасности, чтобы снять куртку. Машина (из соображений безопасности) включила ручник.
Когда загорелся зеленый я нажал на газ и машина "поехала" на ручнике. Ну, точнее не поехала, а потащила за собой заблокированные задние колеса 🫠

То есть в машине две системы, которые не смогли между собой договориться 🙈
В Тесле, например, это решается тем, что машина ставится на Р и нажатие на педаль газа уже ничего не сделает.

- есть камеры, которые показывают слепые зоны при включенном поворотнике, но делают это только на маленькой скорости... Почему? не ясно.

- эти же камеры слепой зоны завязаны на ручку поворотника, а не на сам поворотник. То есть при кратковременном нажатии на ручку (которое включает кратковременно поворотник) - экран "моргнет" появлением изображения с камеры... Выглядит как баг (но это фича)

- система контроля полосы срабатывает когда хочет... даже когда едешь по прямой

- то же с парктроником. Иногда он включается сам по себе, а иногда нет... я так и не смог репродуцировать это поведение 🤣 причем включается он в потоке при приближении к машине спереди и не выключается... Сидишь слушаешь как он пищит

- в салоне много кнопок это вроде бы плюс, но... среди всех кнопок нет управления температурой кондиционера. А это самая используемая функция. За ней надо лезть в экран (как и за подогревом сидений)

- и, наконец, очень посредственная динамика. На бумаге вроде лошадей немало, но машина "не едет"...

В общем, несмотря на то, что автомобиль действительно красивый, в нём приятно сидеть и ехать, вот эти все мелочи по электронике (и отсутствие кнопок) меня успели за 40 минут тест-драйва подбесить. С другой стороны, может это дело привычки 😁 (на обновления прошивки я в этом случае, конечно, не надеюсь)

Так что буду смотреть дальше, может и правда стоит обратить внимание на Ниву? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26👍169
Про выбор машины и про мониторы

Вчерашний пост про Хончи собрал комментариев больше, чем обычно 😁

Наверное, основная мысль в комментариях такая:
"Нафига тебе новый Х, возьми лучше Y"

Так вот у меня есть такая "теория" или я бы даже сказал, "убеждение", что выбор автомобиля определяется прежде всего средой и контекстом, где ты его берешь.

Что имеется в виду

Взять, к примеру, две машины - Tesla Model 3 и BMW M340. Какая из них лучше?

Если не брать в расчёт контекст, очевидно, что BMW. Там и качество сборки и зарядку не надо искать и батарея не износится и пошустрее будет и так далее...

А если мы покупаем машину в Израиле? За БМВ будет большая переплата (даже б/у), большой налог как при покупке, так ежегодный, бензин дороже электричества.
А у Теслы густая сеть суперчарджеров по всей стране, экономия на налогах, ТО и бензине. Покупка Теслы будет более целесообразна - в этих условиях Тесла лучше.

Однако если взять тот же Израиль в 2020м году (до официального захода туда Теслы), то лучше взять БМВ, ведь ни зарядок, ни обслуживания на привезенную Теслу не найдешь.

Если же мы берем автомобиль, скажем, в Германии, где тоже для Теслы есть вся инфраструктура, все равно привлекательнее будет местный автопром (БМВ/Ауди/Мерс). Уже засчет цены, удобства покупки и той же инфраструктуры.
БМВ будет не настолько дороже Теслы, чем это в Израиле.

Если вдруг я окажусь в Америке, то там конечно буду смотреть только на местный автопром - GM, Chevrolet, Dodge, Cadillac и так далее...

Основная мысль, которую я хотел донести - соотношение стоимости и ценности конкретной вещи разная в разных условиях.

Другой, более простой пример - мониторы.

Apple Studio Display - классный монитор. Но в России его покупать - безумие. Цена 275К (2800$)
В Израиле я его покупал за 1700$

С другой стороны, Samsung Neo G9 - ещё более крутой моник и тут обратная история - в России он стоит 217К (2200$), а в Израиле 3100$

Соответственно, если бы я выбирал монитор, то в России бы купил Самсунг, а в Израиле Apple.

Вот то же самое и с машинами - в Израиле Тесла, а в России Нива.
👍457🔥7
Автомобили-автомобилями, но уже сегодня вечером начнём набор на новый поток Большой Курса Python 🐍

В честь этого события проведу вебинар по основам веб-разработки, так как одна из обширных сфер применения Python - это именно веб-разработка (в том числе, Телеграм-боты)

Ещё среди участников вебинара по традиции разыграем два бесплатных места на курс с моей поддержкой.

А ещё в этот раз будет VIP-тариф, подробнее о нём тоже расскажу вечером (если конечно не буду сильно кашлять 🙈 а то чего-то приболел)

Записывайтесь на вебинар и приходите сегодня в 18:00 МСК

PS: Для тех, у кого не получается прийти, будет запись!

wexler.io/webinar
14👍4
Вот и начался набор на новый поток Большого Курса Python! 🎊

Присоединиться, а также начать бесплатно можно здесь:

https://wexler.io/python

На вебинаре упоминал возможность оплаты криптовалютой - кому актуально - пишите на почту [email protected]

Поговорили на вебинаре про облачных провайдеров, в частности AWS.
Добавлю уроки по деплою туда в течение этого месяца 😉

Сейчас уже есть в курсе уроки по деплою в Heroku и рег.ру (для России)

Присоединиться к курсу можно будет в течение 7ми дней - до 17го февраля

Большой Курс Python
👍93
Вспомнил, что ходил недавно на подкаст поговорить о Python, карьере и вот этом всем ⌨️

Посмотреть можно на YouTube вот тут, на канале АйТёрка 👇


https://www.youtube.com/@iterka/videos
18🔥9👍1
AI в IDE

Сегодня заставили на работе установить Codeium в PyCharm

В рамках модернизации разработки в компании Dell, все теперь должны использовать ИИ в написании кода.

Инициатива возникла уже давно, но сейчас проходит очередной круг своего развития и я получил письмо в духе «Ай-Яй-Яй, почему это вы не пользуете наш славный codeium»

Если ты работаешь в системе, надо следовать ее правилам, так что я как прилежный сотрудник, установил Codeium в свой PyCharm и принялся смотреть, что он может предложить.

Мой фидбек я, конечно, задокументировал и отправил начальству 😁

Главная претензия к ИИ внутри редактора кода - это его попытки autocomplete. То есть он постоянно высвечивает какие-то куски кода (suggestions) - предложения того, что надо тут написать.
Это могут быть отдельные слова, а могут быть целые куски кода на 5-10 строк.

И это проблема потому что попадание в то, что ты хочешь написать колеблется в районе 0%
Однако ты отвлекаешься на то, чтобы прочитать что он там напридумывал.

Представьте, что вы хотите написать кому-то сообщение, например маме.

Открываете чат с мамой, пишете Привет, а вам тут же предлагается:

«Привет, Алексей! Хорошо пообщались вчера, неплохо бы повторить на следующей неделе. Спасибо за то, что откликнулись на нашу вакансию! Орехи - супер!»

В редакторе кода происходит то же самое. ИИ надо «что-то» предложить, но часто совершенно недостаточно данных для того, чтобы «попасть» в то что вы собираетесь писать.

И вот это отвлечение на прочтение его (ИИ) предположений сильно отвлекает. Как если бы ты сел писать сообщение, а тебе бы постоянно на ухо говорили что писать (при том, что ты собирался написать другое)

НО,
Это не значит, что ИИ при написании кода - это плохо.

Наоборот, ИИ может шикарно генерировать код, но по чётко составленному запросу. Когда дается конкретное требование что надо написать, код, который ты попросил, генерируется, и ты принимаешь решение как его интегрировать в свою программу.

Более того, я все чаще использую это - генерирую куски кода (отдельные функции) с помощью ChatGPT и вставляю их в свой код даже без модификаций. И оно работает.

Но автодополнение того, что я пишу в редакторе - это слишком… да, это может решать какие-то тривиальные задачи, но писать production-grade код с автодополнениями - это проблема
39👍24💯9👌8🤣6
Media is too big
VIEW IN TELEGRAM
Попался мне сегодня этот ролик на английском. Настолько мне понравился, что я решил переозвучить по-русски😁

Сначала попробовал ИИ, но там интонации не те и вообще не жизненно… поэтому озвучил своим голосом

Вроде вышло неплохо 😎
🤣157🔥60👍3013😁5❤‍🔥4
Депрессия

Я всегда раньше относился довольно скептически и даже с пренебрежением к подобным вещам...

Мол, "что, депрессия? Да бахни пивка и всё как рукой снимет!"

А тут получилось, что сам с этим столкнулся.

Хочу поделиться тем, как это и рассказать свой путь "в реальном времени", начиная с сегодняшнего дня, когда врач мне сказал, что по всем симптомам у меня депрессия до момента, когда, надеюсь, это пройдет.
Не с точки зрения психологии и науки, а с позиции своих личных ощущений

Не исключено, что кому-то это тоже может помочь.

Так вот, весь основной "прикол", по крайней мере, в моем случае, заключается в том, что перестаёшь получать радость в жизни. Не радует вообще ничего. Как что-то, что радовало в прошлом, так и какие-то новые вещи.

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

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

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

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

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

Будьте здоровы!
234💔53🤝23👍8🤔7💊7🫡4🙈3