Рубрика «Программирование» - 202

И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python.

Связный список на Python: Коты в коробках - 1

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


Читать полностью »

Мониторинг температур на предприятии - 1

Пришла задача придумать “что нибудь” для просмотра и контроля за температурами на производстве. Был уже установлен контроллер ПЛК 160 и подключены датчики температур по интерфейсу RS-485 (Википедия).

Контроллер и датчики были установлены до меня.

Была примерная схема подключения:

Мониторинг температур на предприятии - 2


Использовали CoDeSys (Википедия) для просмотра.

Не было никакой истории по температурам и неизвестно когда была авария.
Читать полностью »

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

Зарегистрировавшись в системе, моё внимание сразу привлекла возможность решать задачи на Haskell. Дело в том, что я хоть и увлекаюсь программированием на этом языке, но не продвинулся дальше реализации задач из различных курсов образовательных on-line платформ. Решив, что их решение может оказаться интересным вызовом и повысит мой уровень, как разработчика, я приступил к их решению.

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

Читать полностью »

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

Примерно в конце апреля 2019 я увидел рекламу конкурса для программистов «Цифровой прорыв». Структура конкурса — четверть финал, это заочное онлайн тестирование, полуфинал, это очный региональный этап в формате хакатона на 36 часов, затем очный финал 48 часовой хакатон. Первый этап — онлайн тестирование. Там было 50 разных тематик, ознакомиться можно на сайте проекта. Читать полностью »

Привет.

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

Python + Keras + LSTM: делаем переводчик текстов за полчаса - 1

Для тех, кому интересно как это работает, подробности под катом.
Читать полностью »

В первой части статьи про язык Arend мы рассматривали простейшие индуктивные типы, рекурсивные функции, классы и множества.

2. Сортировка списков в Arend

2.1 Упорядоченные списки в Arend

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

func SortedList (O : LinearOrder.Dec) => Sigma (l : List O) (Sorted l)

data Sorted {A : LinearOrder.Dec} (xs : List A) : Prop elim xs
 | nil => nilSorted
 | :-: x nil => singletonSorted
 | :-: x1 (:-: x2 xs) => consSorted ((x1 = x2) || (x1 < x2)) (Sorted (x2 :-: xs))

Обратите внимание: Arend сумел автоматически вывести, что тип Sorted содержится во вселенной Prop. Это произошло потому, что все три образца в определении Sorted являются взаимно исключающими, а конструктор consSorted имеет два параметра, оба из которых принадлежат Prop.
Докажем какое-нибудь очевидное свойство предиката Sorted, скажем, что хвост упорядоченного списка сам является упорядоченным списком (это свойство пригодится нам в дальнейшем).
Читать полностью »

Любое событие, особенно если оно завершилось, можно сравнить с чем-то необычным. Например, был на митапе, и он оказался слетом ведьм для обмена премудростями, или, допустим, забежал на вечеринку — как будто попал под ливень с грозой. И вот уже в конце месяца 25-26 октября в Санкт-Петербурге пройдет Joker 2019, еще ничего не произошло, но я для себя сравниваю эту конференцию с парадом планет.

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

image
Читать полностью »

Время высокой точности: как работать с долями секунды в MySQL и PHP - 1

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

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

Я буду использовать термин «время высокой точности». В документации MySQL вы увидите термин “fractional seconds”, но его дословный перевод звучит странно, а другого устоявшегося перевода я не нашёл.

Читать полностью »

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

  • Схема должна быть удобной и простой для запоминания и ориентирования
  • Схема должна соответствовать географии города

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

Достаточно вспомнить, как выглядит схема Московского метро с красивыми кольцами и прямыми линиями:
Читать полностью »

Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами…

Ровно с тех пор, как открыл для себя векторные операции в NumPy. Я хочу познакомить вас с функциями NumPy, которые чаще всего использую для обработки массивов данных и изображений. В конце статьи я покажу, как можно использовать инструментарий NumPy, чтобы выполнить свертку изображений без итераций (= очень быстро).

Не забываем про

import numpy as np

и поехали!Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js