Пользователь
8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить
Понимайте свою программу без ущерба для производительности
Журналирование — это очень важная часть разработки ПО. Оно помогает разработчикам лучше понимать выполнение программы и судить о дефектах и непредвиденных сбоях. Журнальное сообщение может хранить информацию наподобие текущего статуса программы или того, в каком месте она выполняется. Если происходит ошибка, то разработчики могут быстро найти строку кода, которая вызвала проблему, и действовать с учетом этого.
Python предоставляет довольно мощный и гибкий встроенный модуль logging со множеством возможностей. В этой статье я хочу поделиться восемью продвинутыми возможностями, которые будут полезны при разработке ПО.
Сравнение разных django filter на примере демо базы PostgreSQL
Вместо предисловия
Началось всё с того, что мне предложили в рамках предмета "Основы веб-программирования" поучаствовать в проекте, вместо проделывания лабораторных работ и курсовой, поскольку я заявил о том, что хотел быть делать нечто отдалённое от общего курса (и так уже достаточно знаний было по связке DRF + Vue, хотелось чего-то нового). И вот в одном из своих PR на github я решил использовать полнотекстовый поиск (задание намекало на это) для фильтрации контента, что заставило меня обратиться к документации Django в поисках того, каким же образом лучше это дело реализовать. Думаю, вы знаете большую часть из тех методов, что были там предложены (contains, icontains, trigram_similar). Все они подходят для каких-то конкретных задач, но не слишком хороши в, именно, полнотекстовом поиске. Пролистав чуть ниже, я наткнулся на раздел, в котором говорилось о взаимодействии Django и Pgsql для реализации document-based поиска, что меня привлекло, поскольку в постгре встроен инструмент для реализации этого самого [полнотекстового] поиска. И я решил, что скорее всего, django просто предоставляет API к этому поиску, исходя из чего такое решение должно работать и точнее и быстрее, чем любые другие варианты. Преподаватель мне не слишком поверил, мы с ним поспорили, и он предложил провести исследование на эту тему. И вот я здесь.
Учебный проект на Python: интерфейс в 40 строк кода (часть 2)
Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для программы лабиринта, подробно описанной в предыдущей статье.
Streamlit
Streamlit — это веб-фреймворк, предназначенный для исследователей данных для простого развертывания моделей и визуализаций с использованием Python. Это быстро и минималистично, а также красиво и удобно. Есть встроенные виджеты для пользовательского ввода, такие как загрузка изображений, ползунки, ввод текста и другие знакомые элементы HTML, такие как флажки и переключатели. Всякий раз, когда пользователь взаимодействует с потоковым приложением, сценарий python перезапускается сверху вниз, что важно учитывать при рассмотрении различных состояний вашего приложения.
Вы можете установить Streamlit с помощью pip:
pip install streamlit
И запустите streamlit в скрипте Python:
streamlit run app.py
Варианты использования
В предыдущей статье мы создали программу на Python, которая будет проходить лабиринт, учитывая файл изображения и начальное/конечное местоположения. Мы хотели бы превратить эту программу в одностраничное веб-приложение, где пользователь может загрузить изображение лабиринта (или использовать изображение лабиринта по умолчанию), настроить начальное и конечное местоположение лабиринта и увидеть пройденный лабиринт.
Сайты для обучения программированию: Топ 100
В конце данной статье будет опрос, в котором могут принять участие пользователи Хабра. По его результатам можно будет определить рейтинг популярности данных сайтов, опираясь на субъективное мнение каждого проголосовавшего.
Итак, сайты для обучения программированию онлайн, ТОП 100:
Деплой приложения на Laravel 7 на Ubuntu & Nginx
Решил я тут своё портфолио сделать на Laravel 7. Чтобы главная страница была лендингом, а всю информацию на ней можно было менять с помощью админки. Не суть. Дело дошло до деплоя. Нашел пару хороших туториалов, как это сделать на полноценном сервере со всеми заморочками. В деплое я не очень силен, я вообще больше фронт, чем фулстек. И, если писать и тестить на PHP я еще могу, то до управления сервером и т.п. я еще не дорос. Но пришлось разбираться.
Сейчас пройдемся по всем шагам, начиная с запуска через SSH и заканчивая рабочим сайтом. Постараемся обойти все подводные камни.
Возможно, вы сможете найти аналогичные инструкции в интернете. Ведь я же в конце концов нашел. Правда не в одном месте, не без помощи StackOverflow и вряд ли на русском. Я помучился. Поэтому решил вам жизнь упростить.
7 полезных расширений для изучения английского в Google Chrome
Не будем долго рассусоливать. Вот вам 7 наиболее полезных браузерных дополнений для прокачки английского в Google Chrome. Поехали.
Учебник по симулятору сети ns-3 теперь одним pdf-файлом
После завершения публикации перевода заключительных глав учебника, хочу предложить его уже в виде единого pdf-файла, снабженного оглавлением и алфавитным указателем. Файл на Google-диске: учебник.
Если, в ходе чтения, вы обнаружите ошибки или какие-то несоответствия духу и смыслу оригинального документа, прошу присылать ваши замечания на электронный адрес, указанный в файле на странице после оглавления.
Функциональное программирование на Python для самых маленьких — Часть 1 — Lambda Функция
Я решил написать эту серию статей, ибо считаю, что никто не должен сталкиваться с той стеной непонимания, с которой столкнулся когда-то я.
Ведь большинство статей написаны таки образом что, для того чтобы понять что-то в Функциональном Программировании (далее ФП), тебе надо уже знать многое в ФП. Эту статью я старался написать максимально просто — настолько понятно, чтобы её суть мог уловить мой племянник, школьник, который сейчас делает свои первые шаги в Python.
volatile vs. volatile
Повесть о двух, казалось бы, похожих, но все же разных инструментах
Херб — автор бестселлеров и консультант по вопросам разработки программного обеспечения, а также архитектор ПО в Microsoft. Вы можете связаться с ним на www.gotw.ca.
Что означает ключевое слово volatile? Как его следует использовать? К всеобщему замешательству, существует два распространенных ответа, потому что в зависимости от языка, на котором вы пишете код, volatile относится к одной из двух различных техник программирования: lock-free программированию (без блокировок) и работе со «необычной» памятью. (См. Рисунок 1.)
Рисунок 1: повесть о двух технических требованиях.
Усугубляет путаницу и то, что эти два различных случая использования имеют частично совпадающие предпосылки и накладываемые ограничения, что заставляет их выглядеть более схожими, нежели они являются на самом деле. Давайте же четко определим и поймем их, и разберемся, как их правильно употреблять в C, C++, Java и C# — и всегда ли именно как volatile.
Производственный календарь своими руками в Postgresql
Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql.
Рабочий процесс зависит от официальных государственных и международных праздников. В корпоративных приложениях часто возникает задача расчета даты с учетом рабочих дней и выходных. Например, такие услуги, как «Выдача разрешения на строительство», «Выдача разрешения на ввод в эксплуатацию» должны быть оказаны в определенные сроки.
После проведения анализа задачи мы пришли к выводу, что в календаре достаточно хранить выходные и праздничные дни, т.к именно они представляют сложность для расчетов и могут меняться в соответствии с производственным календарем в каждом году.
Восстанавливаем данные с ZOOM H6 Handy Recorder подручными средствами
Введение
Намедни попал в нашу лабораторию довольно любопытный заказ. Профессиональный диктофон ZOOM H6 Handy Recorder. Устройство и носитель в рабочем состоянии, проблема — носитель, на котором находились данные (карта памяти SDHC на 32 Гбайт) был отформатирован в фотоаппарате. Вопрос о том, каким образом флешка из диктофона попала в фотоаппарат, оставим для истории — нам ответ на него не интересен. Интересно восстановить записанные звуковые данные.
Форматирование разделов FAT32 — это всегда потеря файловых записей; процесс сопровождается их заменой «чистыми». С одной стороны, это удобно, так как в структурах FAT32 не остается никаких «рудиментов» файловых записей. С другой — это крайне губительно для данных, так как в случае фрагментации файлов и необходимости их восстановить, простое RAW-сканирование становится недостаточным, на выходе получаются поврежденные или неработающие файлы.
Питер Хинченс: Исходный код психопата. Глава 1. «Хищник»
«Цель этой книги — разобраться в разуме психопата и написать руководство для всех людей.»
(Прим. пер: программист и ИТ-активист, Питер Хинченс, когда узнал, что скоро умрет, написал три книги «про самое важное»: про сообщества(рус), про государство (англ) и про «психопатов» (англ). Предлагаю вам перевод книги, основанной на наблюдениях и выводах человека с программистским мышлением об очень странных и опасных людях)
Введение
Глава 1: Хищник
Глава 2: Охота
«Люди-хищники населяют наше общество»,
— Стефан Ферстаппен.
Пилот, которого ограбили
Кит беседует с человеком в углу комнаты. Я знаю Кита целую вечность, поэтому я хочу поздороваться. Он взволнован, нервный. Это не похоже на него. Он всегда был спокойным, уверенным в себе человеком, довольно тихим. У него есть самолет, маленькая Cessna. Он устраивает небольшие коммерческие туры, летает с туристами над Гранд-Каньоном. Когда он получает чаевые, он их откладывает. «Однажды я собираюсь купить себе ранчо», — говорит он мне. Кит, Алексис и их мечты о пенсии.
Я спрашиваю:«Эй, Кит, как дела?» Рядом с ним мужчина, он ничего не говорит. Темные кудри, затемненные очки. Хороший костюм, тяжелые золотые часы. Кит качает головой в гневе. «Хорошо! Все хорошо!» говорит он мне. «Теперь ты можешь оставить нас в покое? Пожалуйста?»
Древности: трудный выбор звуковой карты для DOS-игр
Но это сейчас выбор трудный, а в девяностых он был простой: какую звуковую карту удалось добыть, та и лучшая. В реальности мне тогда не удалось добыть никакую, и мой 386-й компьютер тех времен так и прожил всю жизнь, издавая звуки только жестким диском, PC-спикером и модемом. Зато первые пробы Doom с «саундбластером» у знакомых и друзей в 1994 году производили невероятное впечатление. К реалистичной (по тем временам) графике добавились не менее жизненные (тоже по тем временам) звуковые эффекты. Круто же!
Окей, в моем ретрокомпьютере точно будет установлена звуковая карта Sound Blaster компании Creative. Какая именно — тоже непростой вопрос, и итоговый выбор будет зависеть не только от предоставляемых картой возможностей, но и от наличия или отсутствия определенных багов, тоже аутентичных. Какие у меня есть варианты? И какие варианты существуют вообще? Причем тут гуси? В этом теоретическом посте я попробую на данные вопросы ответить, и заодно расскажу о древних технологиях извлечения звука из вашего IBM-совместимого ПК.
Договор на разработку сайта с точки зрения управления проектами (теория + образец)
Древности: Roland MT-32, альтернативный звук для DOS-игр
Когда я играл в «Принца Персии» в девяностые, моим единственным выбором была верхняя строчка, по причине отсутствия в компьютере нормальных звуковых устройств. В своем новом-старом 386-м компьютере я по умолчанию использую Sound Blaster, и вполне доволен результатом. Про другие опции в те времена я мало что знал, хотя в настройках разных игр они всплывали часто. Sound Blaster был достаточным апгрейдом: если он есть, то со звуком в твоем компьютере все в порядке.
А был ли вариант покруче? Здесь легко запутаться в определении этого самого «круче». В каких единицах должен выражаться прогресс? Сегодня я расскажу об уникальном во многих смыслах звуковом устройстве для IBM PC эпохи DOS — синтезаторе Roland MT-32. В конце восьмидесятых это был самый дорогой вариант реализации компьютерного звука. Тридцать с лишним лет спустя это недешевый коллекционный девайс, который превращает и так неплохой звук в некоторых DOS-играх в монументальный саундтрек.
Древности: второй подход к VHS, Hi-Fi Stereo и мыльное видео
По мере взросления ты нагоняешь прогресс, какое-то время движешься по рельсам жизни вровень с ним, а затем отстаешь: здоровье уже не то, эмоции потускнели, сила привычки берет свое. Все чаще в ответ на любую новинку, технического или культурного плана, ты ворчишь: напридумывали там, зачем, разбрасываются на фигню, а вот в наше время… Так вот, в наше время кино смотрели не на компьютере. Не было ютюба, ценность движущихся картинок была выше — это же еще надо добыть видеокассету.
Цвета в CSS
color
и background
. Когда, много лет назад, я изучал CSS, мне не удалось найти доходчивого руководства по использованию цветов в CSS. Поэтому я решил написать такое руководство сам. В этом материале я расскажу о типах цветов и о ключевых словах, используемых при работе с цветами. Мы поговорим о том, в каких ситуациях используются те или иные методики работы с цветами и рассмотрим примеры. Сразу скажу, что здесь я не буду касаться теории цвета.Как получить 100% зрения и даже больше
В древние времена остроту зрения проверяли по созвездию Большой Медведицы в ночном небе. Это созвездие напоминает «ковш с ручкой» и практически всегда видно на ночном небе. Так рядом со второй звездой от конца «ручки ковша» (Мицар) находится малозаметная небольшая звезда Алькор («забытая, незначительная»). Способность видеть эту малозаметную звезду считалась традиционным способом проверки зрения, условной нормой. То есть, система была бинарная – «вижу» и «не вижу».
Эра починки зрения началась несколько столетий назад, использовать для этого лазер стали всего пару десятилетий назад и совершили технологический скачок до эндоскопической коррекции зрения ReLEX SMILE, о ней писала здесь.
В мире с 1985 года выполнено более 60 миллионов процедур по лазерной коррекции зрения! И все эти люди счастливы, что получили 100% зрение, спросите вы? А теперь самое интересное – нет, не все счастливы. И уж точно не у всех 100%.
Что может быть причиной не 100% зрения, почему люди «щурятся», как оценивать показатели приборов, которые измеряют параметры глаза, в том числе после лазерной коррекции, можно ли им доверять, как избежать багов при тестировании, какие исследования, зачем и когда необходимы, чтобы прояснить картину?
Поделюсь тем, что должен знать офтальмолог, и как правило, о чем не в курсе пациент.
Аллокаторы памяти
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность