Pull to refresh
-14
0
spanasik @spanasik

Пользователь

Send message

100 вопросов для подготовки к собесу Python

Level of difficulty Medium
Reading time 75 min
Views 97K

Доброго времени суток!

Представляю подборку из 100 вопросов с собесов на позицию джуна Python-разработчика. На Хабре есть неплохие статьи на тему подготовки к собеседованию и всё в таком духе, но прямо набора вопросов/ответов на понимание Python в формате чек-листа не встречал.

Для кого статья?

Читать далее
Total votes 56: ↑53 and ↓3 +50
Comments 55

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficulty Easy
Reading time 8 min
Views 180K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Total votes 191: ↑184 and ↓7 +177
Comments 177

Ниже… есть куда: SSD продолжают дешеветь, и текущая ситуация — не предел

Reading time 5 min
Views 21K
image

Совсем недавно мы писали о том, что стоимость твердотельных накопителей продолжает снижаться. Плюс они постепенно отбирают долю рынка обычных жестких дисков. Причины простые — SSD гораздо быстрее HDD, они бесшумные, плюс их надежность понемногу повышается. Соответственно, как обычные пользователи, так и компании предпочитают покупать SSD. О ценах и перспективах рынка — под катом.
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 120

Декораторы, о которых вам не расскажут

Reading time 11 min
Views 30K

От переводчика: мне понравился подход к объяснению декораторов, описанный в этой статье, а так как других вариантов перевода я не нашёл, я решил поделиться этим с аудиторией Хабра. Надеюсь что этот текст будет полезен как новичкам, так и опытным программистам.

Если вы программируете на языке Python, вы должны были слышать о декораторах, однако существует много людей, которые либо не знакомы с ними, либо, что еще хуже, знакомы с ними (использовали так или иначе), но так и не поняли их суть.

Цель этого краткого руководства — развеять мифы, которые вы слышали о декораторах, и показать вам другие их стороны, о которых вы и не подозревали.

Читать далее
Total votes 51: ↑50 and ↓1 +49
Comments 12

Что делает ChatGPT… и почему это работает?

Level of difficulty Medium
Reading time 75 min
Views 144K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Total votes 248: ↑248 and ↓0 +248
Comments 121

«Чистый» код, ужасная производительность

Reading time 16 min
Views 64K
Один из самых часто повторяемых советов программистам, особенно начинающим — это рекомендация писать «чистый» код. Она сопровождается длинным списком правил, сообщающих, что нужно делать, чтобы код был «чистым».

На самом деле, большая доля этих правил не влияет на среду исполнения кода, который вы пишете. Подобные правила невозможно оценить объективно, да это и необязательно, ведь на этом этапе они достаточно произвольны. Однако есть правила «чистого» кода, на которые делают особый упор — это правила, которые можно измерить объективно, поскольку они влияют на поведение кода в среде исполнения.

Если посмотреть на список правил «чистого» кода и вытащить из него правила, которые действительно влияют на структуру кода, то мы получим следующее:

  • Отдавайте предпочтение полиморфизму, а не «if/else» и «switch»
  • Код не должен знать о внутреннем устройстве объектов, с которыми он работает
  • Функции должны быть маленькими
  • Каждая функция должна выполнять одну задачу
  • Принцип «DRY» — Don’t Repeat Yourself («не повторяйся»)

Эти правила достаточно чётко формулируют то, как должен создаваться конкретный фрагмент кода, чтобы быть «чистым». Но я задам такой вопрос: если мы создадим фрагмент кода, соответствующий этим правилам, какова будет его производительность?
Читать дальше →
Total votes 221: ↑185 and ↓36 +149
Comments 368

Хочется лучше жить? Просто начни просить

Level of difficulty Easy
Reading time 7 min
Views 62K

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

Читать далее
Total votes 181: ↑152 and ↓29 +123
Comments 282

Как снимались первые Звёздные войны

Level of difficulty Easy
Reading time 12 min
Views 12K

Па-ра-па-пам... Паааам... Па-ра-па-пам. Пам-пам... Слышите заглавную мелодию Джона Уильямса к «Звёздным войнам»? В этот момент на экране медленно ползут вдаль слова: «Давным-давно, в одной далёкой-далёкой галактике...», а впереди вас ждёт величайшая космическая сага в истории кинематографа, наряду со «Стартреком». 

Поговорим об истории создания киновселенной джедаев и ситхов, чем она так привлекает фанатов по всему миру, а также той технологической революции, которую совершил Джордж Лукас во время съёмок оригинальных эпизодов IV-VI.

Хотя в начале 70-х годов съёмки фильма могли вообще не состояться. Настолько задача казалась трудно реализуемой и коммерчески бесперспективной для ведущих киностудий того времени. Если бы ничего не выгорело, мы с вами никогда не увидели бы гиперпрыжок «Сокола тысячелетия» мимо «Звезды смерти», схватки Оби-Вана с Дартом Вейдером и всего вот этого.

Читать далее
Total votes 47: ↑42 and ↓5 +37
Comments 17

Укроп на камнях

Level of difficulty Easy
Reading time 8 min
Views 20K

Покупая одновременно микрозелень и коньяк можно поймать оценивающий взгляд. Не объяснять же каждому, что набор для выращивания приобретается в научных целях. За 98 рублей мы получаем пластиковый контейнер, минеральную вату, пакет семян и инструкцию. «Выдержать в темноте 2 дня… снять крышку… поставить на солнце… периодически поливать». Такие нехитрые действия помогут вырастить небольшое количество полезных растений.

Приблизительно два года назад я приобрел такой набор и успешно вырастил небольшое количество редиса. В это же время ко мне попала книга Уильяма Тексье «Гидропоника для всех». Помимо информации, относящейся к растениям, книга содержит много упрощенных картинок гидропонных установок. Именно Тексье повинен в идее превратить пластиковую коробочку  с минеральной ватой в нечто большее.

Читать далее
Total votes 53: ↑52 and ↓1 +51
Comments 38

Парсим сайты с защитой от ботов

Reading time 26 min
Views 33K

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

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

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 16

Управлять правами на уровне объектов

Reading time 15 min
Views 11K

Рано или поздно, разработчик на Django встречается с проблемой: как сделать так, чтобы пользователи не могли изменять или удалять, а то и вовсе не видели разные объекты одного и того же типа.


Допустим, ваш проект касается хранения информации о проектах. Разные пользователи входят в разные проекты и не должны видеть информацию о другом проекте. Один и тот же пользователь может входить в несколько проектов и иметь разный статус в разных проектах — где-то он может только просматривать информацию, а в других — править данные. В каком-то проекте пользователь зарегистрирован как персонал проекта, а в другом — только как потребитель его услуг. Уровень доступа соответственно, должен быть совершенно разным.


Этими вопросами занимаются несколько пакетов, мы рассмотрим один из них — Django-Access. Все, кому это интересно, приглашаются под кат.

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 4

20 уроков, которые я вынес из 20 лет работы программистом

Level of difficulty Easy
Reading time 9 min
Views 116K
Вы приступаете к чтению статьи с высокой концентрацией советов. Учиться у предшественников – хороший способ добиться успеха, но здесь мы часто забываем о важной оговорке. Практически любой совет работает только в определенном контексте, но дается обычно без каких-либо указаний на него.

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

Без понимания контекста советы теряют смысл или, хуже того, приносят вред. Если бы люди из примеров выше последовали своим собственным советам в начале пути, то, вероятно, пожалели бы этом. Этой ловушки сложно избежать. Мы представляем собой кульминацию своего опыта, но при этом смотрим на него через призму настоящего.
Читать дальше →
Total votes 166: ↑159 and ↓7 +152
Comments 115

LGT8F328P: импортозамещение по-китайски (начало)

Reading time 19 min
Views 39K
Китайская фирма Logic Green еще примерно в 2015 году взялась за выпуск усовершенствованных аналогов линейки ATmega88-328. В настоящее время выпущены контроллеры LGT8F88P/168P/328P, старший позиционируется для производства Arduino-аналогов. В народе их называют «клонами Arduino», что неверно: ни сами контроллеры, ни платы на их основе клонами не являются, так как существенно отличаются от оригинала.

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

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

Так как статья получилась объемная, она разбита на две части: первая часть о простом программировании в Arduino IDE и вторая о программировании на низком уровне с обсуждением некоторых особенностей внутреннего устройства LGT8F328P.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 27

Как вылечить зубы на год вперёд перед долгой поездкой

Reading time 9 min
Views 46K
Пришёл к нам ИТ-специалист и сказал, что уедет на год в азиатскую страну, где с медициной есть определённые вопросы. И он хотел бы заранее вылечить зубы так, чтобы как минимум год не обращаться к стоматологу.

Таких запросов всё больше и больше. Раньше они были связаны с эмиграцией в Европу и США, где лечить зубы просто очень дорого. Теперь появилась потребность лечить зубы так, чтобы не обращаться к врачу вообще.


Пациент внезапно уехал в парусную кругосветку без того, чтобы поставить коронки на импланты. Под ними снизилась трофика, через 3 года (!) кость уменьшилась и образовалась дыра в челюсти.

Классическая модель подразумевает кратность визитов: 2–4 раза в год нужно ходить к стоматологу на профессиональную гигиену, и это позволит не покупать новые зубы в зрелом возрасте.

Тем не менее мы умеем лечить и «на год вперёд». И вы можете заказать это в любой региональной клинике тоже. Это называется «протокол полярника», когда мы готовим людей к арктическим экспедициям и подобным приключениям.

Кратко: нужна глубокая санация, чтобы убрать все источники инфекции, в том числе постоянные в каналах, которые так не любят кардиологи. Мы снижаем нагрузку на иммунитет, убирая постоянные воспаления. Затем убираются все восьмёрки (зубы мудрости — это частое требование страховых и контрактов полярников). Затем проводится глубокое ТО имплантов и других конструкций.

В дорогу полярникам мы даём наборы бактерий-антагонистов стрептококков. К счастью, сейчас они очень хорошо протестированы и доступны во многих крупных аптеках. Вам нужен Blis M18.
Читать дальше →
Total votes 99: ↑91 and ↓8 +83
Comments 62

Как рождается, живет и умирает машинное обучение внутри компании?

Reading time 5 min
Views 3.3K

Всем привет! 

Меня зовут Родион, я занимаюсь улучшением бизнес-процессов компаний с помощью данных. Сегодня хочу поделиться опытом внедрения машинного обучения: как компании работают с бизнес-метриками и данными, где в иерархии потребностей компании находится ML и как довести проект до реальной бизнес-пользы. 

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 3

Жизнь после Docker: как команда VK Cloud переходила на CRI-O

Reading time 7 min
Views 18K


Kubernetes прекратил поддержку Docker и отказался от dockershim — прокладки между kubelet и Docker, которая позволяет последнему работать с CRI. В итоге разработчики столкнулись с необходимостью использования новых, совместимых с CRI, движков для запуска контейнеров. Из числа общеизвестных таких два — containerd и CRI-O.

Меня зовут Александр Чадин, я руководитель команды разработки в VK Cloud. Расскажу, как мы искали замену Docker для сервиса Cloud Containers, на что ориентировались при выборе нового движка, как внедряли новое решение и с какими подводными камнями при этом столкнулись. 
Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 9

Как я вывел математический способ определить степень вашей финансовой свободы

Reading time 11 min
Views 41K

С помощью нехитрой математической формулы мы с вами сегодня займемся вычислением того, где находится степень вашей личной финансовой свободы на шкале между сомалийским фермером и кремниевым Цукербергом. Ну, точнее, сначала нам придется придумать, как их между собой сравнивать – и поможет нам в этом KFC!

Читать далее
Total votes 63: ↑59 and ↓4 +55
Comments 164

Выйди и зайди правильно

Reading time 8 min
Views 53K

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

Книжек, статей, курсов создано великое множество. Что-то помогает, у кого-то получилось. Собственно, промахнуться с оценкой сложно – отрасль ведь не просто существует, но и весьма активно развивается. Даже в нашей деревне. Значит, как-то, кое-как, с горем пополам, но управление программистами не только возможно, но и получается.

Однако, кризисы случаются. Бывает, что затяжные – например, какая-нибудь серьёзная деревенская компания не может ни найти, ни воспитать приличного руководителя программистов. Благо, сейчас это не великая проблема – бизнес вполне себе растёт лишь потому, что растёт рынок, и заполнить его некому. Поэтому за начальника сойдёт и табуретка. Но – лишь до поры, до времени.

Регулярно ИТ-бизнес думает-думает, решает-решает, плюнет, да и снова попробует старый добрый метод: нанять успешного руководителя из другой сферы. Производство, строительство, торговля – ну суть. Оттуда много кандидатов, у них подтверждённый опыт, зачастую – MBA, и они такие прям чёткие всегда! Знают, чего хотят, на что способны, чего им нужно.

Мне этих руководителей всегда искренне жаль – я знаю, что их ждёт, каков будет их путь, почему они в итоге уволятся. Я не семи пядей во лбу, просто в течение многих лет наблюдал их в обеих сферах – ИТ и той, из которой они пришли, где добились успеха. Могу плюс/минус сопоставить контексты, работающий инструментарий, важные и второстепенные личностные качества.

Много раз пытался объяснить, помочь – и начинающим руководителям-варягам, и тем, кто их тащит в ИТ. Никто, разумеется, не слушал. Ну да я уже привык, поэтому сижу себе помалкиваю.

Однако, тут такая история вышла: в ИТ-компанию собралась устроиться некто Ира, хорошая знакомая моего хорошего знакомого. Он, как мог, пытался её отговорить, но не преуспел, т.к. сам работает программистом, и руководителем никогда не был.

Попросил меня. Я предложил формат статьи – и моё мнение услышит, и ваше. В конце концов, вполне возможно, я не прав, как это обычно случается (если верить вашим комментариям).

Итак, погнали. Буду писать, как бы лично обращаясь к Ирине.

Читать далее
Total votes 160: ↑142 and ↓18 +124
Comments 119

Созданы ли люди для конфликтов?

Reading time 10 min
Views 32K

Военный танец племени Оббо

Если вы жили на планете последний год, наверное, вас тянет сходу сказать «да». Эволюция. Выживание сильнейших! Даже неандертальцев на планете мы не оставили, потому что они были слишком непохожими на нас.


А самые начитанные из нас могут вспомнить, как об этом отлично рассказывает знаменитая книга «Повелитель мух», выигравшая Нобелевскую премию и все возможные награды. Она была написана в 1954 году, вскоре после Второй мировой. О том, как на острове случайно оказываются шесть обычных благовоспитанных мальчиков, и, лишившись надзора со стороны общества, постепенно начинают бороться друг с другом за ресурсы и власть, в конце концов скатываясь до своих примитивных, животных инстинктов. Книга напоминает нам, как легко мы можем превратиться в дикарей, и насколько он на самом деле тонкий, этот налёт цивилизации.


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

Читать дальше →
Total votes 145: ↑139 and ↓6 +133
Comments 524

Технология ABENICS: революция в области механики?

Reading time 5 min
Views 35K

Прорыв в инженерии, о котором говорит весь интернет. Почему-то на Хабре нет, так что решил рассказать.

Итак, ABENICS — это Active Ball Joint Mechanism. Проект разработан Университетом Ямагата в Японии, и являет собой специальную сферическую механическую конструкцию для возможных новых сервоприводов с шаровым шарниром. По сути, это новая форма шестеренки, которая стала возможна благодаря развитию технологий и повышению точности производства.

Читать далее
Total votes 108: ↑106 and ↓2 +104
Comments 103

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity