• Python.org рекомендует: Программирование для НЕпрограммистов

    • Перевод
    Предлагаем вашему вниманию подборку материалов от python.org о том, с чего начать первые шаги в программировании.




    Если Вы никогда не занимались программированием раньше, эти материалы для вас. Данные туториалы не предполагают, что у вас есть какой-то опыт. (Если у вас уже есть опыт программирования, посетите Beginners Guide).
    Читать дальше →
    • +19
    • 24,8k
    • 3
  • 1С: Ассемблер — пишем чистый байт-код для стековой машины 1С: Предприятие


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


      Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и сегодня мы будем писать на нем рабочий код для 1С. Заходите под кат, будет весело!

      Читать дальше →
    • Сотовый телефон с дисковым номеронабирателем

      • Перевод


      Перевод статьи с сайта самодельщицы Джастин Хопт

      Поскольку я получила неимоверное количество запросов от людей, желающих купить дисковый сотовый телефон, у себя на сайте я выложила набор для его сборки, где есть только всё самое «сложное» (напечатанный корпус с кнопками и плата); номеронабиратель и другие детали вам нужно будет искать самостоятельно.


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

      Суть не в анахронизме. Я хотела показать, что можно получить вполне пригодный для использования сотовый телефон, максимально далеко отошедший от сенсорного экрана, и в некоторых случаях превосходящий его по функциональности. В каких же?
      Читать дальше →
    • Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

      • Tutorial
      По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

      Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
      директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
      Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

      Грантовая поддержка исследования
      Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



      Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


      Собираем полумаску под себя!
    • Понимание итераторов в Python

      Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for.


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


      1. Использование генератора дважды


      >>> numbers = [1,2,3,4,5]
      
      >>> squared_numbers = (number**2 for number in numbers)
      
      >>> list(squared_numbers)
      [1, 4, 9, 16, 25]
      
      >>> list(squared_numbers)
      []

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


      2. Проверка вхождения элемента в генератор


      Возьмём всё те же переменные:


      >>> numbers = [1,2,3,4,5]
      >>> squared_numbers = (number**2 for number in numbers)

      А теперь, дважды проверим, входит ли элемент в последовательность:


      >>> 4 in squared_numbers
      True
      >>> 4 in squared_numbers
      False
      Читать дальше →
    • Строим Telegram-бот в Яндекс.Облаке

      Создание телеграм-бота

      Сегодня из подручных материалов мы соберём в Яндекс.Облаке Telegram-бот с использованием Yandex Cloud Functions (или Яндекс-функции — для краткости) и Yandex Object Storage (или Объектное хранилище — для ясности). Код будет на Node.js. Однако, имеется одно пикантное обстоятельство — некая организация под названием, скажем так, РоссКомЦензур (цензура запрещена статьёй 29 Конституции РФ), не позволяет интернет-провайдерам России передавать запросы в Telegram API по адресу: https://api.telegram.org/ (UPD: В РФ уже снята блокировка Telegram API). Ну мы и не будем — нет так нет. Ведь в нашем саквояже имеются т.н. вебхуки — с их помощью мы не делаем запросы на конкретный адрес, а всего лишь шлём свой запрос в качестве ответа на любой запрос к нам. То есть, как в Одессе — отвечаем вопросом на вопрос. Поэтому Telegram API в нашем коде фигурировать не будет.
      Читать дальше →
    • Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux

      • Tutorial
      image

      Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов.

      Что такое web-сервисы 1с?

      Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем. По сути — это возможность создать html страницу с данными, к которой, потом можно обратиться любым другим приложением и забрать их.

      Плюсы — работает быстро (даже при достаточно большом объеме данных), относительно удобно.

      Минусы — ваш програмист 1с будет много и долго на вас ворчать, пока будет писать веб-сервис для вашей базы. Штука очень своеобразная в написании.

      Я не буду рассказывать как написать веб-сервис… я расскажу как его опубликовать на Linux из консоли сервера, а так же немного про установку 1с сервера на Linux.
      Читать дальше →
    • 10 хитростей Python, о которых полезно знать

      • Перевод
      По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и о Dropbox. Сервисы этой компании тоже написаны на Python. В соответствии с исследованием Dice, знания в области Python весьма востребованы в наши дни, а индекс популярности языков программирования говорит о том, что Python — это сегодня самый популярный язык в мире. Если сравнить Python с другими языками, то окажется, что у него есть следующие сильные стороны:

      1. Совместимость с подавляющим большинством платформ и операционных систем.
      2. Наличие множества опенсорсных фреймворков и инструментов.
      3. Код, который легко читать и поддерживать.
      4. Надёжная стандартная библиотека.
      5. Стандартный механизм разработки через тестирование.


      Читать дальше →
    • Как Программисту 1С стать Java developer'ом

        Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а количество фрэймворков бесконечным. Было совершенно непонятно: что учить, что не учить, что нужно в работе, а что никто не использует. Если ты хочешь в Джаву, теряешься в бесконечных названиях технологий и фрэймворков и хочешь узнать какие же из них надо изучать, а на какие не обращать внимания — эта статья для тебя!


        Читать дальше →
      • Самостоятельная диагностика жестких дисков и восстановление данных

        • Tutorial
        В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


        Читать дальше →
      • Основы Python в кратком изложении

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

          Python для начинающих. Глава первая. «О чем это мы»

          На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
          Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
          В наше время Пайтон – широко распространенный язык, который используется во многих областях:
          — Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
          — Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
          — Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
          — Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

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

          Так, что же необходимо новичку для изучения Пайтона?