Я начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий.
Программист Python
Ядро планеты Python. Интерактивный учебник
Добрый день! Меня зовут Михаил Емельянов, недавно я опубликовал на «Хабре» небольшую статью с примерным путеводителем начинающего Python-разработчика. Пользуясь этим материалом как своего рода оглавлением книги, я написал первые четыре главы мини-учебника «Ядро планеты Python», где постарался коротко, но достаточно ёмко раскрыть специфику, удобство, красоту и силу этого прекрасного языка.
Оригинал учебника лежит на GitHub, вы вольны сколько угодно дополнять и переделывать его. Самое главное — учебник написан на Jupiter Notebook, а это значит, что вы можете интерактивно редактировать код, мгновенно добавляя новые сущности или проясняя непонятные моменты.
Как устроено индексирование баз данных
Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах таблицы с соответствующими местоположениями на физическом накопителе, что позволяет базе данных быстро находить строки по конкретному запросу без необходимости сканирования всей таблицы. Применяются разные типы индексов, однако они занимают пространство и должны обновляться при изменении данных. Важно тщательно продумывать стратегию индексирования базы данных и регулярно её оптимизировать.
Какой ты нафиг программист?
Скажу честно, изучая программирование, я влюбился в Python. Тогда у него ещё не было такой ошеломляющей популярности, и после курса С/С++/Java было ощущение, что меня вынули из чана с кипящей смолой, облили пантенолом и дали попить вкусной минералки. Я уже был неплохим инженером, но меня, как любого адекватного человека, манили деньги в разработке — и я учился, учился, учился… Пока учился, написал кучу скриптов для рабочих серверов, научился сам работать с SQL-запросами в биллинге, делал выборки для аналитиков, не мучая службу АСУ. Я даже ушёл в не очень кровавый энтерпрайз посмотреть на разработку, погрузился, но отступил в связанное с основным профилем тестирование. Потому что однажды честно сказал себе: «Какой ты нафиг программист?» Скажу и некоторым остальным ;-)
Байки погромиста. Если кто-то скажет, что программирование — это скучно
Вообще я, как правило, нормально программирую. Иногда даже такое заворачиваю, что сам тащусь весь день.
Но если б я писал, какой я красавчик, то никому не было бы интересно. Поэтому сегодня — очередная партия программистских историй от меня любимого, с косяками, багами и болью. Иногда это происходило по запарке, или когда я торопился, или после нудной работы, когда мозг уже плавился, а иногда просто я тупил, потому что я человек. В общем, такие вот типичные будни кодера. Наслаждайтесь!
Можно ли растить мышцы одной тренировкой в неделю?
В фитно-сфере никто не задается таким вопросом и не отвечает на него. Наоборот, все озадачены, чем бы еще обвешать людей, чтобы они тренировались всегда. В зал как на работу. Так ведь лучше!?
Точно не для большинства. Многие рассматривают фитнес, как часть жизни, а не 100% жизни. В таком случае фитнес-максимализм не работает. Отталкивает потенциальных любителей. Противоречит тому, для чего создавался.
Я сейчас занимаюсь на пианино и верховой ездой. Для меня это как спорт для многих. На пару раз в неделю. Если на нынешнем этапе с меня начали спрашивать преданность, покаяние и отдачу как от дела жизни, я бы плюнул на все. Так же, как многие плюют на фитнес.
Я сыграл мелодию из любимого фильма юности, удержался в седле на галопе — все, мне по кайфу. Сраный гиперболизм только попортит всю малину. Если максимализм органично встраивается в ваш лайфстайл, это хорошо. Вы нашли свое дело.
Если занятия спортом конкурируют со работой, обучением, детьми, то занятия идут лесом, не выдерживая конкуренции.
Ибо нехватка времени — основная причина, по которой люди не занимаются спортом (по крайней мере так говорят 50% опрошенных).
Почему мужикам нужно качать орех?
Если ты неприлично много сидишь, а после рабочего дня мечтаешь о том, чтобы отсоединить от себя свою поясницу и оставить ее на полке, пока не перестанет ныть, тогда тебе сюда.
5 полезных библиотек Python (с примерами)
Python остается топ 1 среди языков программирования по версии многих журналов и сайтов. Популярность языка и его большое сообщество привело к тому, что сейчас для Python существует огромное число библиотек. К сожалению, большая часть этих библиотек была создана энтузиастами и больше не поддерживается. Давайте посмотрим на 5 хороших развивающихся библиотек, которые могут помочь при решении практических задач.
Что не так с ChatGPT?
ChatGPT (и примкнувший к нему New Bing) сейчас у всех на слуху. Пользовательская база первого перевалила за 100 млн за пару месяцев. В сети о нём циркулирует широчайший спектр мнений: от полного восторга надвигающейся технологической сингулярности, до панических предсказаний скорого порабощения человечества роботами. А многие занимают и жестко скептическую позицию. Вновь активизировались неолуддиты, их мишенью стали Copilot (побратим ChatGPT), и семейства AI тулзов для генерации графики (Stable Diffusion, Midjourney).
Я получил доступ к ChatGPT в первую неделю его запуска ("повезло" с наличием иностранного мобильного номера), и с тех пор пользуюсь им, если и не каждый день, то уж 4-5 раз в неделю точно. В данной статье хочу высказать свои личные наблюдения, подкрепленные мнениями из сети.
Про достоинства ChatGPT сказано уже очень многое, поэтому предлагаю более пристально посмотреть на обратную сторону монеты.
Просим бота написать бота
В этой статье, хочу поделиться интересным опытом работы с ChatGPT, в рамках которого был написан телеграм-бот на языке Python, использующий API OpenAI для получения ответов на запросы.
Началось все с того, что я захотел зарегистрировать себе аккаунт на OpenAI и понять, кто такой этот ваш ChatGPT. Немного танцев с бубном, и желаемая цель была достигнута. Бот понравился, но возникали некоторые неудобства из-за доступа по VPN. Тогда у меня появилась идея создать телеграм-бота, который будет отправлять запросы в API OpenAI и возвращать ответы.
Я потратил следующий час на чтение документации по API OpenAI, но моя лень оказалась более находчивой, и я решил дать ChatGPT задание написать бота самостоятельно.
Что из этого вышло?
Бинарники из Python-файлов: Nuitka-компилятор, обзор и небольшое исследование
Здравствуйте, дорогие хабровчане. Сегодняшняя статья — результат моего небольшого исследования. Я хочу показать, как компилировать бинарные модули расширения (.so) из python-файлов, чем они будут отличаться и как с ними работать. Делать это мы будем при помощи компилятора Nuitka. Он наиболее известен тем, что с его помощью можно создавать исполняемые файлы (.exe) для Windows. Однако, кроме того, он позволяет создавать и бинарные модули python. Всех, кому это интересно, прошу под кат.
Главное — это идея: 10 отличных проектов промышленного дизайна 2022 года
Я пишу про промышленный дизайн более 7 лет. По просьбе компании Timeweb я собрал 8 наиболее интересных, на мой взгляд, идей 2022 года и (поскольку я слоупок и пишу об этом только сейчас) добавил пару отличных проектов из января. Открывайте, будет интересно!
Как сократить time2market с помощью coding kata?
Однажды в мое поле зрения попал проект заказной разработки, который команда безуспешно пыталась сдать в течение двух лет. Полностью сдано было около 5% проекта, однако дальнейшая сдача заканчивалась неудачами то на стадии приемки функционала заказчиком, то на стадии внутреннего тестирования, то разработчики срывали сроки при внесении изменений в код.
За время проекта два раза поменяли команду и заказчика.
Аудит процесса производства с точки зрения time2market показал, что: долго вносятся изменения в код, долго выполняется ручное тестирование и часто после тестирования код возвращается на доработку
Первопричиной низкого time2market являлось то, что команда не владела практикой coding kata, о которой я подробно расскажу в данной статье на примере задачи "Позолоченная роза".
После применения приемов, описанных в этой статье, оставшиеся 95% проекта команда реализовала и сдала за 6 месяцев вместо прогнозируемых 48 лет, что эквивалентно сокращению time2market в 96 раз.
Я только спросить: разводим ChatGPT на откровенность по методу Илона Маска
О том, что чат-бот ChatGPT от OpenAI настроен жёстко фильтровать контент во избежание "срыва толерантности", доносится из каждого утюга.
Бот пускается в получасовое резонёрство, чтобы только не произнести страшное N-слово, а о том, чтобы произнести F-слово, не может быть и речи. Ценой могут быть падение метеорита, цунами, ядерный армагеддон. Робот с упорством идиота продолжает предлагать поискать "этические компромиссы" и "достигнуть договорённости", чтобы избежать отношенческих обострений.
А можно ли пробить холст на стене OpenAI и заглянуть в жестяной череп? Вдруг там лишь паутина, да дохлые мыши? Попробуем проделать этот опыт вместе с Илоном Маском.
Как получить доступ к chatGPT в России
Всем привет! Перед началом статьи сразу скажу:
САМЫЙ ВАЖНЫЙ ДИСКЛЕЙМЕР: естественно, покупая смс на чужой номер вы полностью компрометируете безопасность своего аккаунта. Мало ли кто его потом еще купит для получения доступа. Поэтому, помните, что представленный в данной статье способ получения доступа - это только на "поиграться". Не стоит вводить туда свои реальные почты и использовать это в работе, так как полученный доступ может быть в любой момент взломан/прикрыт.
Но да ладно, приступим. Здесь без всякого объяснения того что такое ChatGPT - кому надо тот знает. В этой статье я хочу поделиться путем который вас за 30Р может к этому боту привести. Вдаваться в детали бота я не хочу, это чисто статья для ребят которые хотят без лишних запар пройти путь человека который доступ к боту уже получил :)
Как и многих вокруг, меня удивила новая технология от Open AI. Попытался зайти и зарегистрироваться через гугл, но...
5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным
Привет, Хабр! В этой статье я продемонстрирую 5 трюков Python на понятных для новичков примерах, которые помогут вам писать более элегантный Python код в вашей повседневной работе.
Как работает yield
Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?
Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild
Вызывается он так:
result, candidates = list(), [self] while candidates: node = candidates.pop() distance = node._get_dist(obj) if distance <= max_dist and distance >= min_dist: result.extend(node._values) candidates.extend(node._get_child_candidates(distance, min_dist, max_dist)) return result
Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?
** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/
TorrServer: как смотреть торренты онлайн
В последнее время выходят статьи, как смотреть торренты на телевизоре. Читаю и понимаю что тема не раскрыта полностью, люди предлагают сделать максимум усилий, для необходимого минимума.
Что нужно при домашнем просмотре фильмов и как это происходит у меня...
6 устаревших команд Linux и инструменты, которые пришли им на замену
В разработке программного обеспечения все меняется с невероятной скоростью — в том числе инструменты, которые мы используем. Это происходит в результате совершенствования аппаратной части, инфраструктурных сред. Иногда старые инструменты плохо адаптируются к реалиям, поэтому они в конечном итоге исчезают, и на замену им приходят новые утилиты.
"Все новое — лучше, чем старое" — девиз, который не всегда применим для утилит в Linux. Но все же исключения есть.
В статье под катом разработчик Хосе Висенте Нуньес* рассказывает о нескольких устаревших инструментах, которые вы, возможно, все еще используете. А также о том, чем их можно заменить. Автор объясняет, почему вам следует переключиться на эти улучшенные альтернативы, которые обеспечивают ту же — а в некоторых случаях даже большую — функциональность. Список составлен в произвольном порядке.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.
CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее
Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.
В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)
Информация
- В рейтинге
- Не участвует
- Откуда
- Екатеринбург, Свердловская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность