Как стать автором
Обновить
0
0

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

Отправить сообщение

Python для анализа годовых температур в Москве

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.8K

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

Для начала, вам потребуется получить доступ к погодным данным. Вы можете использовать API, такие как OpenWeatherMap API, для получения данных о погоде. OpenWeatherMap API предоставляет доступ к текущим и историческим данным о погоде по всему миру.  

Продолжить
Всего голосов 5: ↑4 и ↓1+3
Комментарии10

Теория химического строения. Ликбез. Часть 1

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.2K

Приветствую всех айтишников и технарей. Не беспокойтесь, серию про ЯМР я не бросил, и обязательно её закончу. Однако пися пиша готовя очередную статью, посвященную возможностям метода, я столкнулся с тем, что описать и объяснить эти самые возможности можно только человеку, который понимает как устроена молекула. Таких людей на Хабре (да и в целом по жизни) не так много, а мне хотелось бы адресовать свои посты относительно широкой аудитории. Ничего подобного, как ни странно, я на Хабре не нашел, поэтому деваться некуда, придется наваять про это отдельный пост.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии20

Как работает yield

Время на прочтение6 мин
Количество просмотров663K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово 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/

Подробный и обстоятельный ответ
Всего голосов 141: ↑136 и ↓5+131
Комментарии41

Сделай то, сделай это, сделай сам

Время на прочтение4 мин
Количество просмотров14K

Доброго времени суток Дамы и Господа! Многим приходилось сталкиваться с необходимостью анализа большого количества данных при помощи Python по запросам начальства или коллег. Однотипные запросы поступают с определенной периодичностью, и не составляет труда подставить новые данные в свой код и провести анализ. Но иногда из-за определенной нагрузки не всегда хочется заниматься таким анализом. Намного проще сделать скрипт с графическим интерфейсом, чтобы сам заказчик для анализа данных мог нажать пару кнопок и получить желаемый результат. Тем более, можно изначально вложить в интерфейс столько «хотелок» заказчика для анализа, сколько будет душе угодно.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

Установка Home Assistant на PC

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров16K

Несмотря на огромное количество текстов по установке Home Assistant, решил написать свой.

В первую очередь для себя, чтобы при повторной установке не рыться в бесконечном количестве ссылок.

Home Assistant развивается, часть мануалов устарела, часть содержит ошибки, часть написана Очень Умными Парнями, живущими в Линуксе и которые пишут что-то вроде: "сделай три раздела, два для систем и один для хомяка, и при установке систем подключай раздел с хомяком к каждой, только не форматируй его постояннo" (с). Это подлинная цитата, причём одна из самых понятных.

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

Это обобщенный мануал об установке HASSOS в виртуальной машине в среде Debian на старый, никому не нужный ноутбук.

Читать далее
Всего голосов 12: ↑7 и ↓5+2
Комментарии31

Прикладное adb (Android Debug Bridge) для зумеров

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.3K

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

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Сделаем для вас биометрию. Отказаться не получится

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров60K

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

В октябре 2023 банк Тинькофф начал предлагать своим клиентам перевести имеющиеся у него фотографии в биометрический формат (и потом загрузить их в Единой биометрической системе — ЕБС). Причём от этого предложения было не так легко отказаться (для удобства клиентов кнопки "Не хочу" просто не было предусмотрено). Обо всём этом уже писали ранее.

Зачем это всё было надо для Тинькова? Вопрос сложный. Может быть из любви к своим клиентам, может быть чтобы заполнить пустующую ЕБС, может быть для ещё каких-то важных целей, неведомых простым смертным. Только топ-менеджмент Тинькова может дать ответ на этот вопрос, но это нам и не важно. Интереснее что из всего этого получилось.

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

Читать далее
Всего голосов 199: ↑198 и ↓1+197
Комментарии222

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)…

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров24K

Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.

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

Сразу уточню: речь, прежде всего, идёт о среднем звене "среднестатистических" школ, где информатика изучается строго по ФГОС - только с 7-9 классы, по 1 часу (уроку в 40-45 минут) в неделю. Если хотите изучить "единую министерскую" программу, можете скачать её с официального сайта Минпроса.

Конкретно на программирование эта программа отводит порядка 30 часов . По 1 часу в неделю, растянутых на конец 8 - начало 9 классов (с перерывом в 3 месяца, ага).

За это время авторы ФГОС предлагают с нуля (!) объяснить детям (которые только-только поверхностно изучили строение компьютера и принципы работы с мышино-клавиатурным интерфейсом (а нынешние дети реально от мыши тупят, т.к. с пелёнок привыкли к тачскринам!) ):

Читать далее
Всего голосов 137: ↑136 и ↓1+135
Комментарии539

4 миллиарда операторов if

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров111K

Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.

В современном мире, где ИИ постепенно заменяет программистов, отнимая у них работу и совершая переворот в том, как мы подходим к рассуждениям о коде, нам, возможно, следует быть более открытыми к мыслям людей, недавно пришедших в нашу отрасль? На самом деле, показанный выше код — идеальный пример компромисса между временем и задействованной памятью. Мы жертвуем временем и в то же время памятью и временем компьютера! Поистине чудесный алгоритм!

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

Читать далее
Всего голосов 376: ↑359 и ↓17+342
Комментарии153

CRISPR для чайников, или Краткая справка по быстрому редактированию ДНК

Время на прочтение12 мин
Количество просмотров83K

Возможность изменять фрагменты ДНК всегда была святым Граалем биотехнологии и медицины. CRISPR позволяет делать это с невиданной ранее скоростью и эффективностью. Считайте, что биологи раньше работали на пишущей машинке, а благодаря CRISPR в одночасье пересели на MacBook. Не зря открытие этого метода в 2020 году удостоилось Нобелевской премии по химии.

Под катом — рассказ о появлении CRISPR, принципах работы и применении в настоящем и будущем. Да, вы все верно поняли, это про редактирование коров, синюю клубнику и арбузы размером со сливу с Aliexpress.

Читать далее
Всего голосов 46: ↑46 и ↓0+46
Комментарии23

Трояны и бэкдоры в кнопочных мобильных телефонах российской розницы

Время на прочтение15 мин
Количество просмотров278K

Немалое количество простых кнопочных телефонов, присутствующих в российских магазинах, содержат нежелательные недокументированные функции. Они могут совершать автоматическую отправку СМС-сообщений или выходить в интернет для передачи факта покупки и использования телефона (передавая IMEI телефона и IMSI SIM-карт). Встречаются модели со встроенным трояном, отправляющим платные СМС-сообщения на короткие номера, текст которого загружается с сервера, также бывают устройства с настоящим бэкдором, пересылающим входящие СМС-сообщения на сервер злоумышленников.
Статья описывает детали вредоносных функций и способы их обнаружения.

Читать далее
Всего голосов 581: ↑580 и ↓1+579
Комментарии370

Как выжить в Windows 7 в 2024 году, не выжив из ума

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров51K


Настало время признаться в любви. Я очень люблю Windows 7: на мой взгляд, после легендарной XP это самая удачная версия операционной системы от Microsoft с точки зрения быстродействия, надежности и удобства пользовательского интерфейса. К сожалению, «семёрка» уже безнадежно устарела: она не обновляется, и кроме того, на ней не запускаются некоторые нужные и полезные приложения. Означает ли это, что Windows 7 можно окончательно списывать со счетов, или существует возможность полноценно пользоваться ей в наступающем 2024 году?
Читать дальше →
Всего голосов 78: ↑70 и ↓8+62
Комментарии355

Про нашу регенерацию

Время на прочтение17 мин
Количество просмотров12K
В течение жизни человек меняется почти полностью за исключением сетчатки и хрусталика глаза, а также коры головного мозга. Всё остальное потихоньку умирает и обновляется: спасибо регенерации!

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

Чтобы организм понял, какие ткани и в каком месте выращивать, нужно правильно составить техзадание.

image
В принципе договориться о приживлении имплантов не так уж и сложно

Сегодня я расскажу, как составить это самое техзадание, что бывает с теми, кто после удаления зуба ходит в баню, курит и пьёт коктейли через трубочку, а ещё — про бессмертные организмы, стволовые клетки и отращивание всяких тканей. Страшных картинок не будет — заглядывать под кат можно смело и решительно.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии18

Про Бурали-Форти, Пуанкаре и то самое определение единицы

Время на прочтение11 мин
Количество просмотров80K
Если вы, уважаемый мой читатель, имеете обыкновение проводить много времени в интернете, вы наверняка уже видели эту картинку с цитатой:

image

Наверняка также вы задавались вопросом: что, чёрт подери, здесь написано? Формула из этой цитаты интересна тем, что у человека, имеющего высшее математическое образование, этот вопрос возникает столь же неумолимо, как и у любознательного семиклассника. У нелюбознательных семиклассников несколько иной круг интересов, выходящий за рамки данной статьи; однако даже они не откажут себе в удовольствии похихикать над «этими чокнутыми ботаниками», или как оно там формулируется на современном молодёжном сленге.

В нижеследующем тексте я раскрою перед вами тайну этого загадочного сочетания символов. Пожалуйте под кат, однако помните поучительную историю о любопытной Варваре, которой на базаре рассказали про парадокс Банаха-Тарского, отчего она сошла с ума, разрезала себе нос на конечное количество частей и склеила из них рогатую сферу Александера.
N.B. Я предупреждал.
Всего голосов 145: ↑141 и ↓4+137
Комментарии146

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Время на прочтение25 мин
Количество просмотров1.4M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Всего голосов 99: ↑98 и ↓1+97
Комментарии66

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров66K

Нарушение лицензии и отказ технической поддержки предоставить исходники — одни из множества неприятностей. Особенно если речь идёт о довольно крупных компаниях, в моём случае — Digma. В этой статье рассказываю, как я пытался получить исходный код ядра Linux, который используется в планшете Digma Plane 4G 1538E.

Читать далее
Всего голосов 487: ↑473 и ↓14+459
Комментарии422

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров333K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.

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

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

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии304

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

Время на прочтение4 мин
Количество просмотров144K


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее
Всего голосов 115: ↑113 и ↓2+111
Комментарии123

Ядерный магнитный резонанс, ЯМР⁠⁠. Часть 1

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров11K

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

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

Читать далее
Всего голосов 58: ↑58 и ↓0+58
Комментарии53

Существование треугольника Шарыгина — это настоящее математическое чудо

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров169K

Сегодня я хочу рассказать про особый вид треугольников, впервые рассмотренный советским математиком Игорем Федоровичем Шарыгиным. Удивительно, что до ХХ века никто так и не обратил внимание на этот бриллиант.

Читать далее
Всего голосов 173: ↑166 и ↓7+159
Комментарии72
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность