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

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

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

Можно ли заработать на Аркадном автомате с купюроприемником?

Время на прочтение5 мин
Количество просмотров13K
Всем привет. В прошлой статье мы изготовили детали, подобрали и установили комплектующие, обжали провода и даже один раз включили паяльник. После собрали три Аркадных автомата с купюроприемниками и монетоприемниками для того, чтобы поставить их в барах и воплотить мечту о заработке лежа на диване. Но как говорится – «Мечтай в одну руку, сри в другую и потом посмотри, какая быстрей заполнится». Что из этого вышло? Читайте дальше.


Воодушевляющее начало
Всего голосов 32: ↑32 и ↓0+32
Комментарии47

Web Scraping

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

Введение


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


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


print('Part 1. Get started')

Инструменты


  • Язык программирования и соответствующие библиотеки
    Конечно, без него никуда. В нашем случае будет использован Python. Данный язык является довольно сильным инструментом для написания скраперов, если уметь правильно пользоваться им и его библиотеками: requests, bs4, json, lxml, re.
  • Инструменты разработчика
    Каждый современный браузер имеет данную утилиту. Лично мне удобно пользоваться Google Chrome или Firefox. Если вы пользуетесь другим браузерами, рекомендую попробовать один из вышеперечисленных. Здесь нам понадобятся практически все инструменты: elements, console, network, application, debuger.
  • Современная IDE
    Здесь выбор остаётся за вами, единственное, что хотелось бы посоветовать — наличие компилятора, debuger'a и статического анализатора в вашей среде разработке. Я отдаю своё предпочтение PyCharm от JetBrains.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+10
Комментарии23

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Время на прочтение3 мин
Количество просмотров19K
Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать.

Для всего этого нам понадобится (или правильнее будет сказать, что было использовано мной):

  1. Apache 2.2.24
  2. OpenSSL (входящий в установку апача)
  3. 1C (с модулями веб-сервера)
  4. Свой домен
  5. Созданный бот в Телеграм (не буду описывать его создание, т.к. оно достаточно тривиально)

Предполагается, что весь софт у вас установлен.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии7

Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 2

Время на прочтение5 мин
Количество просмотров30K
В процессе первых пяти шагов, описанных в статье Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1 мы объединили виртуальной сетью три географически удалённых друг от друга узла. Один из которых расположен в физической сети, два других — в двух разнесённых ДЦ.  


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

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

Сетевой мост (также бридж с англ. bridge) — сетевое устройство второго уровня модели OSI, предназначенное для объединения сегментов (подсети) компьютерной сети в единую сеть.

Историей о том, как я это сделал, я и хочу поделиться в этой статье.. 
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии5

Книга «Компьютерные сети. Принципы, технологии, протоколы: Юбилейное издание»

Время на прочтение10 мин
Количество просмотров39K
image Это издание в некотором смысле особенное — прошло ровно 20 лет с момента выхода книги в свет. 20 лет — это немаленький срок, за это время дети наших первых читателей подросли и, возможно, стали интересоваться компьютерными сетями. И, возможно, у них в руках окажется 6-е издание книги «Компьютерные сети. Принципы, технологии, протоколы». Эта книга значительно отличается от той, которую читали их родители. Многое из того, что интересовало читателей конца 90-х годов — например, правило 4-х хабов, согласование сетей IP и IPX или сравнение технологий 100VG-AnyLAN и FDDI, — совсем не упоминается в последних изданиях. За 20 лет немало технологий прошли полный цикл от модного термина и всеобщего признания к практически полному забвению. Каждое новое издание книги в той или иной мере отражало изменения ландшафта сетевых технологий.

Не является исключением и данное издание — оно значительно переработано, около трети материала представляет собой или совсем новую информацию, или существенно переработанное изложение тем. Например, в книге появилась новая часть «Беспроводные сети», полностью переработана часть, посвященная технологиям первичных сетей SDH, OTN и DWDM.

Издание предназначено для студентов, аспирантов и технических специалистов, которые хотели бы получить базовые знания о принципах построения компьютерных сетей, понять особенности традиционных и перспективных технологий локальных и глобальных сетей, изучить способы создания крупных составных сетей и управления такими сетями.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии10

pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way

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

КДПВ


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


Для этой цели существует немало инструментов: PyInstaller, cx_Freeze, py2exe, py2app, Nuitka и многие другие… Но что, если вы используете в своей программе PyQt? Несмотря на то, что многие (если не все) из выше перечисленных инструментов умеют упаковывать программы, использующие PyQt, существует другой инструмент от разработчиков самого PyQt под названием pyqtdeploy. К моему несчастью, я не смог найти ни одного вменяемого гайда по симу чуду, ни на русском, ни на английском. На хабре и вовсе, если верить поиску, есть всего одно упоминание, и то — в комментариях (из него я и узнал про эту утилиту). К сожалению, официальная документация написана довольно поверхностно: не указан ряд опций, которые можно использовать во время сборки, для выяснения которых мне пришлось лезть в исходники, не описан ряд тонкостей, с которыми мне пришлось столкнуться.


Данная статья не претендует на всеобъемлющее описание pyqtdeploy и работы с ним, но, в конце концов, всегда приятно иметь все в одном месте, не так ли?

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии10

Aсинхронный PHP

Время на прочтение14 мин
Количество просмотров49K
Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переписывать на чем-то побыстрее.

Параллельно велась разработка библиотеки ReactPHP с применением концепции Event Loop для обработки сигналов от ОС и представления результатов для асинхронных операций. Развитие идеи ReactPHP — AMPHP. Эта библиотека использует тот же Event Loop, но поддерживает корутины, в отличие от ReactPHP. Они позволяют писать асинхронный код, который выглядит как синхронный. Возможно, это самый актуальный фреймворк для разработки асинхронных приложений на PHP.



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

Об этом и поговорит Антон Шабовта (zloyusr) — разработчик в компании Onliner. Опыт больше 10 лет: начинал с десктопных приложений на С/С++, а потом перешел в веб-разработку на PHP. «Домашние» проекты пишет на C# и Python 3, а в PHP экспериментирует с DDD, CQRS, Event Sourcing, Async Multitasking.
Всего голосов 60: ↑60 и ↓0+60
Комментарии104

Работаем с аудио: прогресс и визуализация данных

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


Доброго времени суток, друзья!

Хочу поделиться опытом работы с аудио. Под «аудио» я подразумеваю HTMLAudioElement и Web Audio API.

Что будем делать?

Мы создадим нечто вроде плеера для одного трека (о полноценном проигрывателе — в одной из следующих статей).

Условия:

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

В сети полно материалов как по HTMLAudioElement, так и по WAAPI, поэтому я сделаю акцент на практической составляющей. Кроме аудио, мы будем работать с drag-drop и canvas.

Без дальнейших предисловий…
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии12

Как выбрать усилитель сотовой связи и мобильного интернета

Время на прочтение9 мин
Количество просмотров105K
Чтобы разобраться в этом вопросе, нужно понимать основные принципы и условия работы данного устройства. Усилитель сотовой связи или по-другому репитер, повторитель сигнала, решает поставленную перед ним задачу в связке с другими компонентами — приёмопередающими антеннами — внешней и внутренней, а также высокочастотным кабелем, объединяющем все устройства в единую систему усиления сигнала.

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

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

Принцип работы усилителя сотовой связи


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

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

image
Читать дальше →
Всего голосов 13: ↑12 и ↓1+19
Комментарии36

Пишем генератор галереи изображений со встроенным слайдером

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


Доброго времени суток, друзья!

Вместо введения (постановка задачи)


Все началось с изучения чужих слайдеров (готовых решений в сети, типа bxslider, owlcarousel и slick). Когда-нибудь я напишу подробные руководства по работе с этими инструментами (sweet dreams). Появилось желание написать свой слайдер. Однако вскоре (в том числе, после прочтения нескольких статей на Хабре) пришло осознание, что просто слайдер — это для слабаков. Нужно что-то более радикальное.

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

Условия:

  • Возможность загружать любое количество изображений (из любого места на жестком диске).
  • Галерея состоит из загруженных изображений, разметка формируется «на лету» с соблюдением семантики HTML5.
  • Галерея одинаково хорошо смотрится на экранах с различным разрешением.
  • При клике на любом изображении генерируется слайдер.
  • При генерации слайдера затемняется фон.
  • Изображение, по которому кликнули — первый слайд.
  • Переключение слайдов реализовано через DOM.
  • Слайды переключаются плавно.
  • Возможность управлять переключением слайдов с помощью кнопок и клавиатуры.
  • Возможность вернуться к галерее при клике на текущем слайде и кнопке, а также с помощью клавиатуры.
  • Чистый JavaScript (вся разметка через JS).
  • Минимум кода.

Итак, поехали (как сказал Гагарин, отправляясь в космос).
Читать дальше →
Всего голосов 7: ↑6 и ↓1+10
Комментарии5

Детский ReactJS из 135 строк кода

Время на прочтение7 мин
Количество просмотров5.3K
Про ReactJS статей уже много. Но чтобы приступить к изучению начинающему программисту, нужно найти то самое начало, где основы его сотворения. Мне захотелось показать, что нет ничего сложного в понимании принципов разработки фронтенда на этом фреймворке.

JavaScript for Babies

Одна методика изучения позволила мне понять устройство многих сложных программных систем и сводится к тому, что нужно переписать изучаемый проект так, чтобы получился какой нибудь неведомый зверь, который хотя бы чуть-чуть шевелился и был в чем-то схож со своим прообразом.
Читать дальше →
Всего голосов 7: ↑4 и ↓3+5
Комментарии12

О работе ПК на примере Windows 10 и клавиатуры ч. 1

Время на прочтение16 мин
Количество просмотров110K
image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Читать дальше →
Всего голосов 69: ↑62 и ↓7+71
Комментарии412

Как «поиметь» Google и Яндекс: чёрное и белое SEO-продвижение сайтов. Шестаков | Люди PRO #74

Время на прочтение49 мин
Количество просмотров29K
В 74-м выпуске Сергей Павлович беседует с Олегом Шестаковым, основателем и совладельцем Rush-analytics.ru и Rush-agency.ru.

Сергей Павлович (далее – СП): – Друзья, привет! Новый выпуск «Люди Pro» в эфире, и сегодня говорим о SEO, о «чёрном» SEO (прим. автора: далее – СЕО) и как поиметь «Гугл» и «Яндекс», как говорится, не снимая штанов.
Всего голосов 28: ↑11 и ↓17-1
Комментарии15

Алиса помнит всё

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


Сегодня мы будем делать навык (приложение) для Алисы — своеобразную записную книжку (или стикер на холодильник): если во фразе пользователя (он же на профессиональном сленге юзер) есть слово "Запомни" — вся фраза сохраняется, и при следующем запуске навыка — будет любезно зачитана пользователю. Код приложения мы пишем на Node.js, для выполнения кода будем использовать Yandex Cloud Functions, а хранить данные — в Firebase Cloud Firestore. В результате у нас должен получиться точно такой же навык как "Запомни и Забудь", опубликованный в каталоге навыков Алисы.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+14
Комментарии2

Ретродайджест: 30 интересных ресурсов о технике и играх ушедших лет

Время на прочтение3 мин
Количество просмотров5.6K
2019 год уже вот-вот подойдет к концу. С наступлением нового десятилетия некоторые компьютерные устройства переместятся в стан ретро-техники, о которых наши потомки (или даже мы сами) будем дискутировать и писать статьи.

Минувшая осень в нашем блоге ознаменовалась циклом статей о становлении интернета в СССР и на постсоветском пространстве. С ребятами из команды «ИТ-ГРАД» мы обсудили наиболее заинтересовавшие нас проекты и ресурсы, посвященные ретротематике, и решили сделать для вас подборку ссылок на них. В статье вы найдете ссылки на Youtube-каналы, сайты и другие ресурсы о ретрогейминге на консолях и ПК, интересной технике из прошлого, а также компьютерах ZX Spectrum и его клонах, Amiga и Commodore 64.


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии10

1С — Добро и зло. Расстановка точек в холиварах вокруг 1С

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

image


Друзья и коллеги, в последнее время на Хабре участились статьи с хейтом в адрес 1С, как платформы для разработки, и выступлениями ее защитников. Эти статьи обозначили одну серьезную проблему: чаще всего, критики 1С критикуют ее с позиции "не осиливших", ругая проблемы, которые де-факто, легко решаются, и, напротив, не задевая проблемы, которые действительно важны, стоят обсуждения и не решаются вендором. Полагаю, что имеет смысл провести трезвый и взвешенный обзор платформы 1С. Того, что она умеет, того что она не умеет, того что она должна бы делать, но не делает и, на сладкое — то, что она делает на ура, а ваши разработчики на %technology_name% будут делать стопицот лет, выкинув на ветер не один годовой бюджет.


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


Под катом — масса толстых набросов на 1С, на критиков 1С, на Java, .NET и вообще… Вентилятор заправлен, добро пожаловать!

Читать дальше →
Всего голосов 66: ↑52 и ↓14+52
Комментарии799

40 каналов и чатов для тех, кто интересуется DevOps

Время на прочтение3 мин
Количество просмотров24K
Сфера DevOps развивается очень стремительно. Команда DevOpsDays Moscow составила список каналов и чатов для тех, кто интересуется DevOps и хочет оставаться в центре событий. Мы сами читаем эти каналы, а некоторыми даже руководим.

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


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

Как разработчику развиваться в небольшом и не самом айтишном городе

Время на прочтение7 мин
Количество просмотров53K
Привет, меня зовут Серёжа, мне 31 год, я живу в Брянске — и это точно не технологическая столица мира. Первая за десять лет ИТ-конференция прошла в нашем городе в этом октябре, а названия местных компаний, за исключением пары федеральных аутсорсов, едва ли что-то вам скажут. Тем не менее живя в самой настоящей провинции, я смог выпустить ряд книг по программированию (и они даже приносят доход), стать гостем зарубежных подкастов и начал как докладчик выезжать на различные конференции.

Нет, это не история о том, какой я уникум. Несколько лет назад я не знал, что такое SOLID — и на просьбу расшифровать аббревиатуру честно спросил: “А что это?”. Много лет я плыл по течению, пока не осел в уютном “болоте”. Но потом очнулся и, кажется, за несколько лет смог выбраться на твердую землю. Не повторяйте моих ошибок)



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

Как начать деградировать, но не поддаться

Всего голосов 145: ↑137 и ↓8+129
Комментарии103

56 проектов на Python с открытым исходным кодом

Время на прочтение13 мин
Количество просмотров99K
image

1. Flask


Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создания приложений, а также является масштабируемым и легким. Он основан на проектах Werkzeug и Jinja2. Вы можете узнать больше о нем в последней статье DataFlair о Python Flask.

2. Keras


Keras — нейросетевая библиотека с открытым исходным кодом, написанная на Python. Она удобна для пользователя, модульная и расширяемая, а так же может работать поверх TensorFlow, Theano, PlaidML или Microsoft Cognitive Toolkit (CNTK). В Keras есть все: шаблоны, целевые и передаточные функции, оптимизаторы и многое другое. Он также поддерживает сверточные и рекуррентные нейронные сети.

Работа над последним проектом с открытым исходным кодом на основе Keras — Классификация рака молочной железы.
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии21

9 лучших опенсорс находок за октябрь 2019

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

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


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, Swift, TypeScript, JavaScript, Go, Scala, Python.
Тематика: веб и мобильная разработка, визуализация данных, инструменты разработчика, документация.


Прошлый выпуск.

Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии13

Информация

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