Перейти к содержимому

Как скачать 1с с официального сайта

  • автор:

Как скачать 1с с официального сайта

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна

Пошаговое описание порядка установки платформы 1С 8.3 с сайта 1С.

Для работы любой конфигурации 1С требуется установленная платформа. Общий порядок новой установки конфигурации 1С Бухгалтерия предприятия 8.3 (к примеру) будет выглядеть так:

1. Установка платформы

2. Установка драйверов HASP ключа защиты или активация программной лицензии.

Установка платформы 1С 8.3 с сайта users.v8.1c.ru.

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

Переходим на сайт users.v8.1c.ru и кликаем «Обновления программ»:

Установка и обновление платформы 1С 8.3

Вводим логин и пароль для сайта users.v8.1c.ru:

Авторизация на сайте users.v8.1c.ru

Выбираем раздел «Технологическая платформа 8.3»:

Обновления платформы 1С 8.3

Выбираем самую последнюю из доступных версию платформы 1С 8.3:

Последняя версия платформы 1С 8.3

Для полной установки выбираем «Технологическая платформа 1С: Предприятие для Windows»:

Технологическая платформа 1С: Предприятие для Windows

Для скачивания нажимаем «Скачать дистрибутив»:

Скачать дистрибутив платформы 1С 8.3

Сохраняем заархивированный файл платформы 1С 8.3 и для удобства его лучше переименовать и назвать к примеру 8.3.6.2100, как версию платформы:

Заархивированный файл платформы 1С 8.3

Запускаем программу установки платформы 1С 8.3 setup.exe из файла архива:

Запуск программы установки платформы 1С 8.3 из файла архива

Начало установки платформы 1С 8.3, кликаем «Далее»:

Начало установки платформы 1С 8.3

Выбираем состав компонентов платформы 1С 8.3, в некоторых случаях требуется установка компонентов тонкого клиента. В случае обычной файловой базы на вашем компьютере и компьютере локальной сети, оставляете набор компонентов по умолчанию. Если подключаться необходимо к базе SQL на 1С сервере, либо к веб-серверу, то ставим дополнительно тонкий клиент:

Выбор состава компонентов платформы 1С 8.3

Выбираем язык установки платформы 1С 8.3, системные установки означает, что будет стоять язык локализации Windows:

Выбор языка установки платформы 1С 8.3

Установить платформу 1С 8.3

Если используется HASP ключ лицензионной защиты программы, то оставляем флаг «Установить драйвер защиты». Если планируется активация программной лицензии (пин-код в конверте), то флаг можно снять:

Как скачать и установить электронные варианты поставок программных продуктов системы "1С:Предприятие"

Для получения файлов установки необходимо авторизоваться на Портале 1С и зарегистрировать программный продукт. Для этого необходимо зайти на сайт portal.1c.ru и создать новый аккаунт.

Порядок регистрации на сайте ничем не отличается от стандартной регистрации на большинстве сайтов — необходимо будет придумать логин/пароль и указать свой e-mail.
Необходимо зайти в «Личный кабинет» на портале и перейти в раздел «Программные продукты».

Далее, нужно нажать на кнопку «Зарегистрировать программный продукт».

В открывшейся форме регистрации программного продукта введите Регистрационный номер и пин-код из письма и нажимаете «Далее».

Система проверит правильность пин-кода и регистрационного номера после чего программный продукт должен появиться в «Личном кабинете» в списке «Зарегистрированные программные продукты».

В колонке «Комплект поставки» будет указан срок, до которого можно скачать материалы для установки программы. Переходим по гиперссылке в данной колонке.

Сначала необходимо скачать файл лицензии нажав на кнопку «Скачать лицензии». Лицензия будет в виде zip-архива. Выбираем место на диске, куда хотим сохранить файл с лицензией. Данный файл нам потребуется позже на этапе активации.

Далее скачиваем полный комплект поставки. Также дистрибутивы технологической платформы, конфигурации, комплект документации, инструкции по получению лицензий можно скачать по отдельности. В данном примере рассмотрим вариант со скачиванием полного комплекта, для этого нажимаем «Скачать полный комплект поставки» и указываем путь, куда необходимо сохранить. Полный комплект скачивается одним файлом в виде zip-архива. Распаковываем архив.

В каталоге c разархивированными файлами находится несколько каталогов.

1CV8 — Технологическая платформа 1С:Предприятие для Windows;

Doc_Acc8_Base — Описание конфигурации «Бухгалтерия предприятия (базовая)». Для других конфигураций название каталога будет отличаться.

Instructions — Инструкции по получению лицензий, системные требования и условия сопровождения.

Сначала необходимо установить технологическую платформу и шаблоны конфигурации. Это можно сделать двумя способами:

1. Запустить «autorun.exe» из корневого каталога, указав вариант установки «Быстрая установка и запуск (рекомендуется)». В этом случае установщик 1С установит сразу и технологическую платформу, и шаблоны конфигурации.

2. Сначала установить технологическую платформу из каталога 1CV8 с помощью файла «setup.exe», а потом установить шаблон конфигурации из каталога configs83/AccountingBase запустив установку также с помощью файла «setup.exe» (наименование каталога AccountingBase действительно для базовой версии 1С:Бухгалтерии, для других конфигураций наименование каталога будет отличаться)

Активация программной лицензии.

После установки запускаем программу 1С. Откроется окно запуска со списком информационных баз. Если ранее на данном компьютере программы 1С 8 не устанавливались, то список выбора информационных баз будет пуст.

Нажимаем кнопку «Добавить».

В открывшемся окне выбираем вариант добавления информационной базы «Создание новой информационной базы» — выбираем вариант создания «Создание информационной базы из шаблона».

После создания базы необходимо открыть её через режим «1С:Предприятие». Появится окно, уведомляющее о том, что лицензии не обнаружено и необходимо активировать её. Активацию режима нужно проводить «Автоматически». Понадобится ввести пин-код активации (без дефисов), и нажать «Готово».

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

Далее программа потребует активировать программу. Для этого нужно ввести логин и пароль от учётной записи на сайте portal.1c.ru.

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

Как скачать дистрибутив обновления с сайта 1С и обновить конфигурацию 1С?

Далее нам следует залогиниться и мы увидим вот такой список:

Здесь есть различные группировки, в которой мы ищем раздел «Типовые конфигурации фирмы «1С» для России» и находим нужную конфигурацию в списке:

это «Бухгалтерия предприятия»: здесь мы видим последнюю версию и ее дату, переходим по ссылке в первой колонке, откроется вот такое окно:

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

Исходя из ее номера ее мы ищем нужное нам обновление: пусть у нас вот такой номер 3.0.46.19: для его обновления необходимо скачать обновление 3.0.47.32, а затем сразу последнее 3.0.48.21. Поскольку он может обновлять с .32, этим мы сэкономим своё время.

Переходим по ссылки и видим вот такой диалог:

Здесь есть описания и различные дистрибутивы: обычный и для обновления с базовой. Обратите внимание данное обновление требует обновления платформы минимум до 8.3.8.1747, её можно скачать в другом разделе.

[qu_spoiler title=»Где скачать технологическую платформу» icon=»chevron-circle»]

Далее аналогично. Про установку платформы неоднократно написано.

Выбираем «Дистрибутив обновления»

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

Файл обновления — это самораспаковывающийся архив «RAR»:

После распаковки список:

Главный файл установки обновления «setup.exe»

Запускаете его и устанавливаете в каталог по умолчанию:

Далее, скачиваете следующее обновление и повторяете процедуру установки аналогично.

Установка обновления

Перед каждым обновлением следует сделать копию базы данных. В конфигураторе «Администрирование\Выгрузить информационную базу».

После всего этого заходите в 1C в режиме конфигуратор: меню «Конфигурация\Поддержка\Обновить конфигурацию»:

Далее доступно два режима:

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

Система сама пытается подбирать нужное обновление, если вы не ошиблись, то будет диалог вроде такого:

При типовой конфигурации, вам просто следует согласится со всеми диалогами и обновление пройдет быстро.

Если конфигурация не типовая/доработанная:

  • Выйдет диалог сравнения, объединения конфигураций:
  • Требуется обладать достаточной квалификацией, чтобы понять какие действия принимать, что обновлять, что пропускать (не тема данного кейса);
  • Также может потребоваться консультация специалиста, который вносил эти правки;
  • Если изменения следует сохранить и вы не знаете, как это сделать — лучше пригласите специалиста, иначе просто поставьте все флажки, но при этом конфигурации приблизится к типовой:
    • если вам срочно надо обновится
    • когда у вас есть копия базы, специалист поможет восстановить данные позднее (это не простая операция, а то сразу выберите этот вариант, хорошенько подумайте!).

    При объединении выйдет такой диалог:Затем следует:

    • Сохранить (Ctrl+S)
    • Обновить конфигурацию(F7) (это производится в монопольном режиме, в базе кроме вас никого не должно быть, может занять длительное время, если у вас управляемый интерфейс или большая база, обычно всё проходит без ошибок).
    • Часто требуется подтвердить реорганизацию данных «Принять»:

    Если обновлений несколько — просто повторяет описанное несколько раз:

    • Когда такое необходимо повторить для нескольких баз, после полного обновления первой базы сохраняете обновленную конфигурацию через меню «Конфигурация \Сохранить конфигурацию в файл»
    • Далее выбираете его в качестве обновления (.cf файл вместо .cfu) в диалоге:

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

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

    Это выглядит вот так:

    Кнопка «Продолжить» позволяет обойти эту ошибку, но в некоторых случаях возникают критические ошибки в процессе работы:

    • не открываются формы;
    • не проводятся документы.

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

    Когда конфигурация доработанная, следует проверить все «нетиповые» объекты на их работоспособность, чтобы устранить проблемы сразу, а не когда вы удалитесь от компьютера сервера.

    Если у вас не легальное использование может возникнуть вот такая проблема.

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

    У меня всё. Вроде бы всё осветил.

    Благодарю за внимание. Задавайте вопросы.

    Реклама похоронного бюро: «Если наши клиенты воскреснут, то вновь обратятся к нам!

    — Аркадий Давидович

    Как скачать и установить учебную версию платформы 1С: Предприятие ⁠ ⁠

    Всем привет!
    В этой статье расскажу о том, как скачать и установить учебную версию платформы 1С: Предприятие.

    Учебную версию можно использовать для обучения программированию, если у вас нет доступа к полноценной версии 1С: Предприятия.

    Учебная версия 1С: Предприятия обладает некоторыми ограничениями. Если у вас уже есть установленная версия 1С: Предприятия или вы имеете доступ к полноценной версии 1С: Предприятия, то настоятельно рекомендую пользоваться ей.

    Нажмите «Получить продукт бесплатно»

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Заполните и отправьте анкету

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Через некоторое время вам придет письмо со ссылкой на скачивание платформы (Также проверяйте папку Спам, письма иногда попадают туда).

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Разархивируйте папку и нажмите ‘Setup’

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Пройдите установку до конца

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    В финале у вас должен появится значок 1С: Предприятие на рабочем столе

    Как скачать и установить учебную версию платформы 1С: Предприятие Разработка, Программирование, 1С, 1с:предприятие 8, Программист, IT, Длиннопост

    Отлично! Теперь у вас есть учебная платформа 1С, которую можно использовать для обучения программированию и не только.

    Следует помнить, что учебная платформа 1С содержит определенные ограничения. Список этот можно также узнать здесь:
    https://online.1c.ru/catalog/free/28765768/

    Читать ещё на Пикабу

    JavaScript для детей⁠ ⁠

    JavaScript для детей IT, Программирование, IT юмор, Javascript, Дети

    Всегда перед сном всплывает какой-то каверзный вопрос⁠ ⁠

    Всегда перед сном всплывает какой-то каверзный вопрос IT юмор, Программирование, IT, Картинка с текстом, Картинки

    Как ребенку войти в IT⁠ ⁠

    Как ребенку войти в IT Мемы, IT, Javascript, Программирование, IT юмор, Дети, Хасбик (Хасбулла Магомедов)

    >Намотивировался и спит⁠ ⁠

    >Намотивировался и спит IT юмор, Программирование, IT, Картинка с текстом, Созвон, Тимлид

    Инструменты тестирования на проникновение в сеть. Часть 2⁠ ⁠

    HoneyPot / HoneyNet

    Glastopf – это инструмент для отслеживания инцидентов сетевой безопасности. Может эмулировать тысячи уязвимостей для сбора данных в результате атак, нацеленных на веб-приложения.

    Kippo – это SSH HoneyPot среднего взаимодействия, предназначенный для регистрации атак методом перебора.

    Kojoney – это низкоуровневая приманка для взаимодействия, которая эмулирует SSH-сервер.

    HonSSH – это решение HoneyPot с высоким уровнем взаимодействия. HonSSH будет находиться между злоумышленником и HoneyPot, создавая между ними два отдельных SSH-соединения.

    Bifrozt – это NAT-устройство с DHCP-сервером, которое обычно развертывается с одной сетевой картой, подключенной непосредственно к Интернету, и одной сетевой картой, подключенной к внутренней сети.

    HoneyDrive – HoneyDrive является ведущим дистрибутивом HoneyPot Linux. Это виртуальное устройство (OVA) с установленным Xubuntu Desktop LTS edition.

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

    HoneyPy – это открытое программное обеспечение, которое используется для обнаружения и сбора информации о злоумышленниках и их атаках.

    Dionaea – это открытый инструмент для отслеживания инцидентов сетевой безопасности. Dionaea был создан для отслеживания различных типов сетевых атаки, включая вирусы, шпионское ПО и т.д.

    Conpot (ICS/SCADA HoneyPot) – это низкоинтерактивная приманка для промышленных систем управления на стороне сервера, разработанная для простого развертывания, модификации и расширения.

    Amun – приманка с низким уровнем взаимодействия на основе Python.

    Полный захват пакетов

    OpenFPC – представляет собой набор инструментов, которые в совокупности обеспечивают облегченную систему записи и буферизации сетевого трафика с полным пакетом.

    Dshell – это платформа для криминалистического анализа сети. Позволяет быстро разрабатывать плагины для поддержки анализа перехваченных сетевых пакетов.

    stenographer – это решение для захвата пакетов, целью которого является быстрая загрузка всех пакетов на диск, а затем предоставление простого и быстрого доступа к подмножествам этих пакетов.

    tcpflow – это программа, которая фиксирует данные, передаваемые как часть TCP-соединений, и сохраняет данные удобным для анализа и отладки протокола способом.

    Xplico – инструмент для извлечения из интернет-трафика данных, содержащихся в приложениях.

    Moloch – это система с открытым исходным кодом для крупномасштабного захвата пакетов IPv4 (PCAP) и индексирования. Для просмотра, поиска и экспорта PCAP предоставляется простой веб-интерфейс.

    Средства сетевой безопасности на основе снифферов

    Live HTTP headers – это бесплатное дополнение для Firefox, позволяющее просматривать запросы браузера в режиме реального времени.

    netsniff-ng – это бесплатный сетевой инструментарий для Linux.

    wireshark – это бесплатный анализатор пакетов с открытым исходным кодом.

    Любой долгий созвон своего рода маппет-шоу⁠ ⁠

    Любой долгий созвон своего рода маппет-шоу

    Типичные программисты⁠ ⁠

    Типичные программисты Программирование, Программист, Web-программирование, Картинка с текстом, Мемы

    «Сам себя не апрувнешь — никто не апрувнет»⁠ ⁠

    «Сам себя не апрувнешь — никто не апрувнет»

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК⁠ ⁠

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    В 1977 году на рынке ПК безраздельно властвовала «большая тройка»: Apple II, Commodore PET и TRS-80. Стоимости их были $1298, $795 и $600 соответственно. И общедоступными для того времени они вовсе не являлись.

    В 1979 году появились Texas Instruments TI99/4 и Atari 400 (около 550 долларов). Эти модели были дешевле, а кроме того, предлагали неплохую графику и звук.
    Не просто ЭВМ, а то, что давало возможность поиграть.

    Но в 1980 вышла странная «поделка» от Science of Cambridge из Великобритании, появление которой привело к значительному снижению цен на домашние ПК.

    Это Sinclair ZX80. Его разработка преследовала только одну цель: сделать все как можно дешевле.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Реклама ZX80

    Ради справедливости отмечу, что первым был все-таки Mk14 (от той же Science of Cambridge Ltd») за 39,5 фунтов, но назвать его компьютером язык не поворачивается (256 байт ОЗУ, без блока питания и корпуса в комплекте).

    Комплект ZX80 для самостоятельной сборки предлагался за 79 фунтов, а готовый компьютер продавался всего за 100 фунтов ($140).

    Эта машина была разработана для Великобритании, и выводила видео в стандарте PAL (экспортные модели поставлялись и в США с поддержкой NTSC).

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Как удалось достичь такой дешевизны? Несмотря на то, что на первый взгляд, выглядит эта вещь довольно приятно, все познается в деталях. Но отдать должное нужно: простота этой машины восхищает!

    ❯ Корпус

    Две половинки тонкого пластика. Размер компьютера меньше листа А4 (а чем меньше пластика, тем дешевле).

    Заметили на первой картинке вырезы системы охлаждения? Ее там нет. Это просто нарисовано.

    Внутри – экран от помех. На самом деле, это всего лишь металлическое напыление на пластике.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Все порты компьютера расположены сзади. Кроме антенного выхода все одинаковы! Один – для питания 9В, и два для магнитофона. Если перепутать, вполне можно спалить машинку.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Задняя панель ZX80

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

    На корпусе нет выключателя питания. Даже здесь решили сэкономить.

    ❯ Железо

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Клавиатура расположена на печатной плате. Пленочная.

    Сердце компьютера — Z80 с тактовой частотой 3,25 МГц (в некоторых стоял более дешевый аналог от NEC).

    ПЗУ 4КБ — Бейсик, знакогенератор, процедуры I/O и прочее.

    ОЗУ 1КБ (с возможностью расширения).

    Все остальное — стандартные ТТЛ.

    А где же аудио и видео процессоры? А их нет. У компьютера нет даже «пищалки», хотя при подключении к ТВ вы услышите ужасный скрежет. Лечится только убавлением громкости.

    Вывод видео осуществляется процессором. По 8 пикселей, после чего — снова ожидание следующей порции данных.

    Кстати, частота процессора 3,25 МГц была выбрана вероятно, чтобы помочь процессору синхронизироваться с композитным дисплеем.

    Фактически эта система настолько дешева, что здесь вместо кварцевого генератора установлен керамический резонатор.

    Обратите внимание так же и на плату: есть ощущение, что ее разводка делалась вручную.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Печатная плата ZX80

    ❯ Программирование

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

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Руководство пользователя

    Но еще более ужасно, что компьютер может либо отображать что-то на экране, либо получать от вас команды. То есть во время набора программы экран постоянно гаснет и зажигается. Это следствие того, что у компьютера нет видеочипа.

    Есть еще одна удивительная особенность. Вы всегда набираете команды внизу экрана. Как только вы закончите строку, ZX80 отправит ее наверх.

    И вот почему. Если набрать вот такую программу:

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    То экран не будет прокручиваться, а программа завершится ошибкой (которые выводятся в виде кодов, а не слов – из экономии памяти) «нет больше места на экране».

    Процессор не может отображать экран, когда выполняется программа.

    Но и это еще не все. У компьютера есть только текстовый режим. Экран шириной 32 символа и высотой 24 символа.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Набор знаков и команд ZX80

    Не так плохо по меркам 1980 года, верно? Но это целых 768 байт оперативной памяти. Из 1024.

    То есть для кода остается только 256 байт. На самом деле, операционка использует для своих целей еще часть этой памяти.

    Что туда можно уместить? А вот здесь и сказывается продуманность этой простой машины. Как только вы используете более 256 байтов, программа начинает занимать экранную память. И тогда экран начинает «сжиматься» снизу вверх.

    Единственным способом хранения программ ZX80 было подключение кассетного магнитофона, который был стандартным решением для домашних компьютеров того времени. И других носителей так и не появилось, хотя имелся слот для картриджа.

    В отличие от приставок, он никогда не использовался для игр. Кстати, разъем для картриджа — «папа». Как думаете, почему? Вероятно, «папа» дешевле (помните, все картриджы для приставок были с таким разъемом?).

    Было несколько клонов игр Space Invaders, Kong и Pacman. Эта игры замечательны тем, что их вообще удалось сделать.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Space Invaders

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Donkey Kong

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Удивительно, что игры способны переключаться с игрового процесса на отображение видео.

    Итак, ZX80 — это ужасный компьютер с точки зрения пользователя, который разработали с одной целью: быть дешевым.

    Тем не менее, он был коммерчески успешным (продали более 50 000 экземпляров).

    ❯ «Второе пришествие»

    Уже в следующем 1981 году была представлена новая модель под названием ZX81.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Комплект с картриджем 16К и принтером

    Эта модель компьютера была популярнее. И даже меньше размером.

    У нее была практически такая же пленочная клавиатура как у ZX80, а на задней панели имеется такой же порт расширения.

    Есть и различия:

    Здесь используются настоящие металлические винты.

    На материнской плате всего несколько микросхем: все тот же Z80, 8К ROM, 1K RAM и ULA для снижения стоимости.

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Внутренности ZX81

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

    А еще появился SLOW режим. Он позволял генерировать видео и одновременно выполнять программный код. В этом режиме процессор становится многозадачным и около 70% своего времени тратит на рисование экрана, а в оставшееся время занят всем остальным.

    Во всяком случае, нет мерцания.

    Sinclair также предложил владельцам ZX80 способ обновления до модели ZX81. Можно было заменить чип, и обновить клавиатуру с помощью наклеек с дополнительными функциями. Всего 20% стоимости ZX81. Честная сделка.

    Интересно, что ZX81 оказал большее влияние на рынок домашних ПК в США (Timex Sinclair 1000 уже с двумя килобайтами на борту).

    Timex также продавал модуль 16K RAM и крошечный персональный принтер Timex (у Синклера был похожий).

    Предки ZX Spectrum. ZX80 и ZX81: компьютеры “из соломы и глины”, которые уронили цены на ПК IT, Timeweb, Программирование, Изобретения, Ibm PC, Zx Spectrum, Познавательно, Программист, Гифка, Длиннопост

    Были и несколько приложений на кассетах, которые продавались в магазинах вместе с ПК. На некоторых стояла отметка «16К».

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

    Цена Timex 1000 доходила до $49.

    Была одна забавная ситуация, которую создал Commodore. Проводя рекламную кампанию, производитель предоставлял скидку в $100 при обмене на любой компьютер или игровую систему. То есть, можно было купить Timex 1000 за $50, и обменять на Commodore со скидкой.

    Через пару лет Timex представил Sinclair 1500 с 16K RAM и улучшенной клавиатурой.
    Он провалился на рынке из-за ужесточения конкуренции к 1983 году (тогда уже появились Commodore VIC-20 и Sinclair ZX Spectrum).

    Начало 80-х было богатым на взлеты и падения в компьютерной индустрии. В том же 1980 появился Apple III, который через пару лет был снят с продаж. Или настольный портативный IBM 5120 стоимостью $13500. Через год после него был выпущен IBM PC. Ему удалось выйти на первое место по объему продаж, оставив позади продукцию Apple и многих других производителей.

    Несмотря на всю свою неказистость и ограниченность, ZX80/81 сыграли значительную роль в поиске путей для снижения стоимости домашних ПК, и в появлении любимых многими ZX Spectrum, Commodore C64, Amstrad CPC, которые стали доступными для обычных пользователей.

    Еще больше новостей и статей в нашем блоге Timeweb Cloud.

    Кодер показал уровень владения CSS и запилил на нем картину⁠ ⁠

    Сотрудник месяца⁠ ⁠

    Сотрудник месяца

    Простыми словами о фреймворках⁠ ⁠

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

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

    Библиотеки имеют определенный интерфейс, который позволяет вызывать их код из вашего проекта. За интерфейс и его реализацию отвечают авторы библиотеки. Фреймворки же напротив, являются точкой входа и вызывают код вашего проекта. А это значит что теперь уже вы должны реализовать определенный интерфейс, который предлагает автор фреймворка. Это похоже на подключение плагинов в других программах.

    Часть кода переезжает в настройки или в иной форме становится декларативной. Приведу пример конфигурации одного из самых популярных java фреймворков Spring. Проект будет загружать из БД список пользователей и отдавать их «как есть» через REST апи:

    application.yml — конфигурируем порт для апи и настройку подключения к бд:

    server.port: 8080
    spring.datasource.url: jdbc:postgresql://localhost:5432/mydb

    В формате фреймворка объявляем репозиторий — компонент для получения записей о пользователях из таблицы БД:

    interface UserRepository extends CrudRepository<User, Long> <>

    В формате фреймворка объявляем эндпоинт — точку для подключения других сервисов к REST апи нашего проекта:

    Теперь другие сервисы могут через апи нашего сервиса получить список пользователей из БД:

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

    Если вы только начинаете карьеру в it, есть смысл попробовать воспроизвести пару примеров из интернета по вашему фреймворку, а также пройтись по теоретическим вопросам (вроде «жизненный цикл спринг бинов»), но было бы разумней потратить время на общие алгоритмические и технические темы. Всем удачи!

    «А если изменить скорость открывания, то можно сделать самолетный движок»⁠ ⁠

    «А если изменить скорость открывания, то можно сделать самолетный движок»

    Первый опыт работы в 16 лет в IT⁠ ⁠

    Я хотел изначально написать этот пост на хабре, но это скорее просто личное желание поделиться опытом, радостью и слить накопленное, чем информативная статья с моими анализами и выводами.

    Я занимаюсь программированием с детства, а веб разработкой всего пару лет, но тем не менее собрал достаточно знаний, чтобы попробовать найти работку в IT. Оно знаете, было как-то лень и интересно одновременно, я люблю приключения и к тому же я собирался работать удалённо. Мой системник уже проситься на тот свет, иногда просто может не включиться, помогает передёрнуть ОЗУ и почистить от пыли и он снова работает (Кому интересно, p7p55le + i5 750, 8 gb DDR3 и две Radeon HD 5830). Апгрейдить там бессмысленно, нужно с нуля собирать. Не то что бы меня это сильно мотивировало, ну останусь без пк, жизнь же продолжается; но он не ломается к удивлению, заставляя меня угрожать кулаком в монитор и по клавиатуре, когда курсор останавливается, а IDE (От реактивных мозгов) вылетает.

    Путь до оффера

    Приблизительно начало февраля 2022. Тихонько себе листал вакансии на hh и habr карьере, откликался, получал отказы, решал тестовые (увы, тестовой зарплаты не было), но я остановлюсь на собесах. Хотя и там особо всё просто, коммерческого опыта нет, ты маленький, и вообще что ты тут забыл. Потому я продолжал откликаться уже по приколу, на middle даже, ну прокатит и круто.

    Ивент от яндекса.

    Осень 2022. Яндекс приглашает поучаствовать в соревновании YaCup 2022. До денежного приза вряд ли дойду, а вот пройти отбор на стажировку по упрощённой схеме, если попал в топ 50 уже не так уж и не возможно. Рвя жопу и нервы, я занял 36 место (в направлении фронтенд) и через неделю меня пригласили пройти удалённо отбор. Подробно не буду. Прошёл первый этап, на том конце были весёлые ребята и прикольные задачи (относительно простые, по этому не нервничал). На втором этапе меня встретил мужик который вероятно давно не ухаживал за своей растительностью на лице. За ним была доска, где я должен был бы решать задачи, но у меня была фора, однако я всё равно завалил. В яндекс я не попал (

    Удача?

    Февраль 2023. Вечерочком сижу и листаю вакансии на хабре и откликаюсь на «Typescript Lead». Странное название, просто Typescript и просто Lead. В описании написано «в поисках джуна», ну а кто я, чтобы не тригернуться на слово «джун». Через часок, уже полностью сонный, смотрю пишет мужик с этой вакансии, мол, вообще смотришь куда откликаешься. Я подумал, ну бывает, хотя это не hh и на кассира случайно тут не откликнешься. Проверяю отклики и всё ок. Он зовёт поболтать.

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

    На «собесе» меня встретил бородатый мужик далеко не 20ти лет, а как оказалось почти сорока. Вебку тоже пришлось включить, переборов себя. Это был просто разговор по интересам, был только один тех. вопрос (что такое DI?) на который я нашёл много что ответить (мог бы больше, но моя речь не поспевает за моими мыслями, я вообще довольно не общительный). Потом я ничего не помню, помню только конец. Через полтора часа разговора с меня уже стекли литры пота, пытаюсь сдерживать судороги в ногах и шею, которая тоже вот-вот пойдёт в разнос. Меня он оценил в 50к рублей и объявил испытательный срок — 3 месяца с 75% ставкой. Завершил разговор, требуя готовиться к первому рабочему дню. От меня он потребовал мой плейлист spotify, любимые фильмы, книги и moodboard, дабы «знать мой психотип», чтобы это не значило.

    Надо сказать я устраивался на Frontend, он меня направил на FullStack и спойлер работал как Backend.

    Первый рабочий день

    Было так круто, что я аж в 6 утра подскочил. Меня добавили в телеграм группу по разработке. И к обеду мне прилетела задача (issue) в гитхаб. Единственное, что мне сказал руководитель — «Иди раскуривай».

    Кстати про команду: руководитель(он же тот самый мужик), дизайнер(парень где-то лет 20ти) и два фронта, с которыми особо не контактировал.

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

    Чтож. Делать нечего, я пишу, что-то вроде «памагите, я ничего не понимаю». Меня направили почитать про [куча терминов]. «Раскуриванием» задачи я занимался следующую неделю.

    Из будущего: задача была в том, чтобы доить базы сети аптек по всей России, готовить данные и кормить ими с ложечки аналитические сервисы. Ведь просто, правда? Как будто я с базами данных не работал или бэкэндом. Но вот данных там на сотни гигабайт и это вполне тянет на биг дату. Обрабатывать их нужно грамотно, чтобы не было утечки памяти. А как это делать, я не знал.

    Медленно, но уверенно

    Я погружался в новые технологии, местный стек и так любимое в этом месте DDD. И вот первый потребитель данных доволен. Всё работает как надо, спустя сотни исправлений. И прошло уже чуть больше двух недель. Всё время я работал над проектом один, и настраивал его с полного нуля.

    А вот и первая ЗП за 2 недели. Что кстати удивило, с самого начало думал, что кинут.

    Отношение начинает меняться

    На одном из one-to-one
    — Ну как там?
    — Первый потребитель готов, ещё два осталось
    — Замечательно. За этот день добьёш?
    — Нууу. Эээ.. Тут я думаю где-то к концу следующей недели доделаю.
    — Б*ть, какой следующей недели. У нас уже сроки на этой недели заканчиваются. Чё там делать, то. Ты должен был по моим предположениям ещё на прошлой неделе всё сдать и перейти к следующему проекту.

    Дальше на меня льётся куча критики и мата, а с моими то социальными навыками, я просто сижу как камень, слушаю, говорю «ага» и со всем соглашаюсь.

    Что-то похожее происходило каждую неделю. «Ну чё за день осилишь», «Так, тогда через час идём в прод, да?», а там работы на неделю.

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

    С проекта на проект

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

    Чтож на этот раз это бот для подготовки формы(pdf файла) для миграции в США. Он уже был готов, но там нужно было что-то «поправить». Пока я это правил, появились подробности, что оказывается там вообще сценарий вопросов не правильный. Ну ладно, сел переписывать. Ну и как обычно, я должен был сделать это вчера, а почему-то потратил на это три недели. Ну работает и ладно.

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

    Последняя капля

    Напоминаю, что частенько меня кроют в чате и one-to-one. Так, что мотивации и настроения, что-то делать у меня нет. Каждый день жду увольнения.

    У меня есть такая особенность, что я копирую манеру общения собеседника. Так что отвечать добром на такие сообщения я не мог, а в one-to-one просто говорю «ага» и стараюсь как можно быстрее уйти, потому что такой разговор мне не приятен. Чтобы вы не думали, что я так всегда общаюсь, с дизайнером общаться вообще по кайфу, нет желания уйти, хотя и поддержать разговор также не получается.

    На проекте с ботом у меня возникла проблема, с тем, что бот падает при создании pdf, но ошибки нет, точнее она пустая. Я обращаюсь к руководителю (больше не к кому)

    — У меня не собирается pdf, падаёт ошибка в виде пустого объекта
    . не помню точно, но разговор зашёл к тому, что зачем мне linux, если я им не умею пользоваться, и вообще — купи мак. Вот у тебя docker стартует из под рута, потому и не работает
    — Слушай. Ну вот! Да! У меня всё собирается. Это у тебя Docker из под рута стартует.
    — Ладно, буду разбираться.

    Посидев, я понял в чём ошибка. И тут до меня доходит. Как он мог сгенерировать pdf, если ошибка совсем в другом. Я начал кое что подозревать, что уже давно подметил.

    Часто на мои глупые вопросы, я получаю слишком умные(тупые) ответы, по сути это просто каша из умных терминов. Вместо того чтобы переспросить, уточнить, руководитель мне либо посылают такой ответ, либо наезжает.

    Ответ на один из моих глупых вопросов

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

    Поняли? Контекст тут не важен, чтобы понять, что это отборный бред. Такие ответы я получал почти всегда.

    Так, вот я решил проверить мою теорию(обращаясь к руководителю)

    — А можно pdf который вчера удалось сгенерировать?
    — [скидывает пустой pdf (бланк для заполнения)]
    — Не, это бланк, мне нужно заполненный со вчера.
    — Ты сказал не собирается, ну я и собрал. Генерация это уже другая задача.

    И да. Я подтвердил свою теорию. Он придрался к термину. Я сказал «собрать», вместо «сгенерировать». Я окончательно сгорел, и назвал его душнилой, а потом не сдержался и ещё жёстче его покрыл. На что он ответил что-то вроде: что ты себе позволяешь, вы(команда), должны целовать мне ноги, я вам тут плачу, я собрал команду, я, я, я.

    К этому времени в команде остался только я, приходили иногда новички (с не плохим таким опытом уже), но уходили через день, два. Мне кажеться они сразу понимали, что тут что-то не так.

    Саботаж

    С этого момента, почти каждый день продолжалась эскалация конфликта. Я больше не задавал вопросов по задаче (поскольку от этого я только теряю время на бессмысленный токсичный разговор), и шёл на one-to-one только со словом «ага» и каменным лицом.

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

    — Это типо увольнение? Тогда уж можно пожалуйста официальную причину и ЗП за 12 дней?
    — Официальная причина — некомпетентность, саботаж
    — Официально — ты у меня не работал, по документам, благо, не успел тебе контракт оформить. Я рекомендую тебе походить к врачу и начать общаться с людьми, у тебя большие проблемы, которые тебе предстоит решить.
    — А зп за 12 дней? Если я получаю 50тр в месяц, то за 12 дней это должно быть 20тр
    — Ты не получаешь 50к в месяц, я продлил твой испытательный, ты согласился

    Поняли, да? Я там даже и не работал. И что ещё за «саботаж».

    Где же обещанное обучение к которому вы так ответственно относитесь, ламповая атмосфера и уважение к неопытным сотрудникам, о чём мне заливали в самом начале?

    Вот такие мои весёлые приключения в мире трудоустройства в IT, так ещё и в 16 лет.

    P.S. Ах, да. Мне хватило ровно на новый ПК. Так, что я не сильно расстроился.

    Опять все забыли про мидлов⁠ ⁠

    Опять все забыли про мидлов

    Топ-25 бесплатных курсов обучения Python 2023 года⁠ ⁠

    Подготовили для вас статью с бесплатными курсами по Python. В некоторых курсах есть тренажеры: можно проходить теории и там же практиковаться.

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

    Python — это один из наиболее популярных языков программирования в мире, широко применяемый как в создании программного обеспечении, так и в Data Science B Machine Learning.

    Тренажеры

    Тип: тренажер состоит из блоков теории, после которых сразу идет практика с задачами внутри тренажера. Бесплатный сертификат о прохождении выдается после окончания курса.

    Тип: обучающий тренажер.

    Тип: обучающий тренажер.

    Бесплатные курсы от школ

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

    Бесплатный курс от Мичиганского университета на платформе Coursera предлагает участником набор онлайн-лекций по базовым навыкам владения языком Python. Каждый поток длится 7 недель, в рамках которых профессор Чарльз Северанс преподносит знания из своей книги «Python for Everybody».

    Бесплатный курс по Python от Хекслет для начинающих программистов. Материалы, среди которых — 7 уроков в формате текста или видео и тесты, раскрывают основы написания кодов на языке, а также описывают ключевые аспекты работы в его экосистеме.

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

    Как заявляет автор курса, его программа рассчитана для программистов Python с любым уровнем знаний. По мере прохождения участников ждут 90 видеоуроков и практических заданий. По окончании курса платформа Stepik выдает электронный сертификат.

    Бесплатный курс от Академии IT с рейтингом 4,75. Обучение состоит из прохождения 42 уроков, во время которых автор Михаил Тарасов расскажет все об основах программирования на Python, а также поделится ценной информацией о будущей карьере программиста.

    Топ-25 бесплатных курсов обучения Python 2023 года Python, IT, Программирование, Программист, Курсы программирования, Разработка, Длиннопост

    Курсы с Youtube

    Курс YouTube-лекций по программированию на Python. Вся программа состоит из 123 видео длительность от 5 до 12 минут. При желании можно найти те же видео на языке оригинала.

    Топ-25 бесплатных курсов обучения Python 2023 года Python, IT, Программирование, Программист, Курсы программирования, Разработка, Длиннопост

    Что можно писать на Python

    Практически как Java, Python находит применение во многих областях программирования. Так, например, язык применяют в:

    Создании систем автоматизации;

    Математических расчетах и других продуктах.

    Сколько приносит знание Python в 2023 году?

    Средняя заработная плата Python-программистов, согласно данным портала ГородРабот.ру, составляет 131 478 рублей — лучший показатель на рынке труда. А вот новички, основываясь на информации HH.ru , могут получать оплату от 70 000 рублей.

    Ключевой недостаток владения Python — это необходимость конкурировать с другими кандидатами за место в штате. По подсчетам того же ГородРабот.ру, количество вакансий на позицию Python-разработчика достигает до 203 мест ежемесячно, однако и предложение труда уверенно растет: так, команда Skillbox посчитала, что на одно место программиста Python в 2023 году приходятся сразу 20 кандидатов.

    Почему Python?

    Python — идеальное решение для каждого и предлагает:

    Доступность — из-за простого синтаксиса язык понятен даже новичкам;

    Кроссплатформенность — интерпретаторы Python поддерживаются большинством операционных систем;

    Разнообразие применения — язык нужен везде: от веб-разработки до геймдева;

    Интегративность — Python можно применять в сочетании с другими системами и встраивать его коды как компоненты.

    Парсим яндекс диск при помощи Python⁠ ⁠

    В данный момент я работаю контент-менеджером в «крупном» интернет — магазине. В моём случае, это больше 100 000 позиций.

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

    Готового решения я не нашел и решил написать свою реализацию работы с яндекс диском. Хорошо, что я знаю python.

    У меня было 2 версии программы:

    когда по ссылке находится папка с картинками, python скачивает эту папку как зип файл, затем распаковывает. Все манипуляции записываются в csv файл, путь до файла с картинками

    когда по ссылке идёт только одна картинка, в данном случаи все немного проще, не нужны лишние действия с распаковкой картинок

    p.s. ещё были 2 побочные небольшие программки: 1-я для уменьшения размера картинки, 2-я для переименования картинок (менялся пробел на дефис)

    Приступим к реализации

    скачать и установить python c официального сайта https://www.python.org/downloads

    открыть любимый редактор кода (я использую vscode) https://code.visualstudio.com

    подключить следующие стандартные библиотеки: urllib.parse, csv, os, zipfile. Установить библиотеку requests https://pypi.org/project/requests/ (для отправки запроса на сервер)

    для полного фен-шуя можно использовать виртуальное окружение, дабы не засорять систему ненужными пакетами. Подробнее о virtualenv можно ознакомится по ссылке https://docs.python.org/3/tutorial/venv.html или же использовать poetry.

    Ссылки на яндекс диск имеют вид: https://disk.yandex.ru/d/xNBn7lE1_Y5knQ . Чтобы их можно было скачать, они должны быть публичными.

    Обратимся к API яндекс. После ключа public_key=»вставляем_ссылку_на_файл»

    В ответе мы получаем json, из которого нам нужно получить значение по ключу href. Полученное значение и будет нашей прямой ссылкой к файлу.

    Парсим яндекс диск при помощи Python Программирование, Инструкция, Гайд, Python, IT, Учеба, Программист, Разработка, Linux

    Пожалуй, на этом хватит теории, теперь, постараюсь внятно объяснить, как всё это можно применить в контексте python.

    # создаем новый файл и подключаем нужные нам библиотеки

    import requests

    from urllib.parse import urlencode

    import csv

    import os

    import zipfile

    Для начало создадим функцию, которая будет возвращать нам ссылку для скачивания:

    final_url = base_url + urlencode(dict(public_key=public_link))

    response = requests.get(final_url)

    parse_href = response.json()[‘href’]

    return parse_href

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

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

    В итоге, мы получаем файл result_data.csv со ссылками на фотографии на нашем жестком диске:

    Парсим яндекс диск при помощи Python Программирование, Инструкция, Гайд, Python, IT, Учеба, Программист, Разработка, Linux

    В добавок, у нас на жёстком диске появляется папка со скаченными картинками в папке download_files.

    Полностью посмотреть код можно в репозитории на гитхаб.

    p.s. Официальная документация по API Яндекс. Диска

    Братишка с пикабу подсказал готовую библиотеку на питоне. Спасибо b4ro тык.

    p.s.s. Немного поразмышляв, я подумал, что неплохо было бы написать, тесты. Пройтись линтером по коду. Добавить функцию переименования файлов. Может быть что-нибудь ещё?)

    Спасибо за прочтение! Комментарии, лайки, дизлайки, предложения, пожелания крайне приветствуются.

    MajorDom v1.0 — От голосового помощника к умному дому⁠ ⁠

    В 2019 году я впервые узнал про возможность распознавания и синтеза речи на языке python. Гугл ассистент, сири, кортана и другие ассистенты тогда были еще более ограниченными и беспомощными, чем сейчас. О добавлении своих команд речи не шло от слова совсем. Тогда я и загорелся идеей создать своего голосового помощника, который не будет уступать даже Джарвису Тони Старка.

    В процессе работы над ядром, начал задумываться, где этого ассистента хостить. Держать ноут постоянно включенным не вариант, а других компьютеров у меня не было. На помощь пришли одноплатные компьютеры raspberry pi. Я хотел, чтобы мой голосовой ассистент мог включать и выключать свет, управлять светодиодной лентой и шторами. С такими задачами отлично справляется ардуино. Оставалось только найти способ передавать команды с распбери. Использовать wifi и bluetooth не хотел с самого начала. Нашел в интернете информацию про модули nrf24l01, попробовал, понравилось.

    Такая система работала довольно неплохо. Но было два ключевых недостатка:

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

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

    Для решения первой задачи, в голосового ассистента я добавил http интерфейс на джанго, который мог принимать аудиофайл или строку. В комбинации с мобильным приложением на котлине, я получил беспроводной микрофон, таким образов расширив зону работы до радиуса действия роутера, то есть с комнаты до всей квартиры и даже чуть больше. Носить телефон по дому не всегда было удобно, так что через пару дней появилось приложение и на часах на wear os, что оказалось невероятно удобным решением.

    Но я захотел большего: иметь доступ к своему помощнику всегда, а не только дома. Самым простым вариантом оказалось использование телеграм-бота как интерфейс ввода-вывода. Но меня не покидало ощущение, что бот — это что-то не то. Я решил оставить его только как временное решение, пока занят разработкой чего-то лучше.

    Я хотел получить возможность использовать свое мобильное приложение для доступа к ассистенту на расстоянии. Надо было всего лишь придумать способ отправить запрос на локальный джанго сервер, не находясь при этом в локальной сети. Я был готов открывать и пробрасывать порты на роутере, но провайдер не дал мне белый ip. Тогда я попробовал ngrok. В первое время работало хорошо, но в бесплатной версии сервер периодически падал и менял адрес. Вариант с впн-туннелем я отбросил почти сразу. Стоимость vps была равна стоимости подписки на ngrok, но реализация была в разы сложнее.

    Тогда я вспомнил, что у меня есть бесплатный хостинг для php сайтов на beget и переизобрел Long Polling и очереди. Реализация была максимально простой: приложение отправляло запрос на хостинг. Там php код добавлял тело (json) запроса в конец массива и записывал в локальный файл. Малина дома каждую секунду отправляла запрос на чтение этого файла, после чтения массив чистился. Таким образом мне удалось отправлять команды домой из любой точки планеты страны! Аналогичным образом я сделал получение ответа от ассистента: продублировал реализацию и поменял роли. Два файла и четыре эндпоинта на бесплатном хостинге на пыхе дали мне стабильную двустороннюю связь с моим домашним помощником. Чуть позже научил ассистента самостоятельно отправлять мне сообщения, например, с номером аудитории следующей пары в начале каждой перемены. Не успел всем похвастаться в колледже, как кто-то стал спамить мне домой. Пришлось добавить авторизацию: логин и пароль задавались хардкодом в приложении, а на сервере была проверка в стиле.

    if ($login == ‘markparker’ && $password == ‘MyVeryStrongP@ssw0rd!’) <>;

    Репозитории приложения были приватные, а сервер был вообще без репы (зачем репа на один файл до 100 строк?), так что такого уровня безопасности мне более чем хватало.

    Чуть позже в системе появился первый автоматический триггер команды. Через небольшой костыль в моем приложении я смог ловить событие, когда на телефоне срабатывает будильник. Этот триггер запускал первый полноценный сценарий: одновременно открывались шторы, ассистент озвучивал время, погоду и расписание пар в колледже. Если в комнате все еще было темно, плавно включалась лампа. В этот момент я чувствовал себя настоящим Тони Старком.

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

    Это осознание привело меня к решению отделить голосового ассистента и сделать умный дом самостоятельным проектом, ориентируясь уже на управление устройствами, а не на голосовые команды. И я решил делать это сразу по-взрослому, с полноценным сервером, базами данных, авторизацией и мобильным приложением. Чуть позже преподаватель в колледже подсказал, что вместо моего костыля с записью массива в файл на php, можно использовать вебсокеты. Именно так я и реализую позже управление устройствами через интернет. Спасибо, Александр Анатолиевич!

    В остальном общая концепция не изменилась: хаб в виде одноплатного компьютера управляет ардуинами через радиомодуль nrf24l01. Подробнее про архитектуру я расскажу в следующей статье.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *