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

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

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

Как поднять свой сервер на RaspberryPI на основе docker

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

Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея.


Введение (или как всё начиналось)


Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN и прокси я не очень доверял, поэтому решил поднять DigitalOcean со своим прокси. Так уж вышло, что со временем сервер с прокси оброс разными разностями: от файлового хранилища (Syncthing) до CI (Jenkins).


По возвращении в Россию было принято решение уходить с DO на какой-то self-hosting. Покупать для этого отдельный сервер не хотелось — дорого, да и пока незачем, по этой причине взял Raspberry PI 4B. Естественно, пришлось переносить все основные сервисы с DO на эту машинку, о чем и будет данный пост.

Читать дальше →

Знакомимся с Web Animations API

Время на прочтение5 мин
Количество просмотров21K
Доброго времени суток, друзья!

Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми браузерами, другие по-прежнему находятся на стадии разработки.

Одним из API, находящимся на стадии разработки, является Web Animations API или WAAPI. Несмотря на то, что первый вариант спецификации был опубликован в 2012 году, а сам API впервые реализован в браузерах Firefox и Chrome в 2014 году, я узнала о нем совсем недавно (я тоже раньше о нем не слышал — прим.пер.).

Он позволяет разработчикам работать с CSS анимацией средствами JavaScript. Его синтаксис похож на синтаксис традиционной CSS анимации, но имеет некоторые особенности, которые облегчают разработчикам создание и изменение анимации.

Давайте рассмотрим этот API на простом примере.
Читать дальше →

Разработка мобильных приложений на Python. Библиотека KivyMD

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

Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании виджетов. Что-то похожего на туториал по разработке мобильных приложений на Python для новичков здесь не будет, так что если впервые слышите о фреймворке Kivy, вряд ли вам будет все это интересно. Ну, а мы погнали под кат!

Обзор базовых возможностей ES6

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

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


История


Новые добавления в язык называются ECMAScript 6. Или ES6 или ES2015+.


С момента появления в 1995, JavaScript развивался медленно. Новые возможности добавлялись каждые несколько лет. ECMAScript появился в 1997, его целью было направить развитие JavaScript в нужное русло. Выходили новые версии – ES3, ES5, ES6 и так далее.



Как видите, между версиями ES3, ES5 и ES6 есть пропуски длиной в 10 и 6 лет. Новая модель – делать маленькие изменения каждый год. Вместо того, чтобы накопить огромное количество изменений и выпустить их все за раз, как это было с ES6.

Читать дальше →

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

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

1. Flask


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

2. Keras


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

Работа над последним проектом с открытым исходным кодом на основе Keras — Классификация рака молочной железы.
Читать дальше →

Введение в Git

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

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →

Docker + php-fpm + PhpStorm + Xdebug

Время на прочтение8 мин
Количество просмотров65K
Не так давно тимлид нашей команды сказал: ребята я хочу, чтобы у всех была одинаковая среда разработки для наших боевых проектов + мы должны уметь дебажить всё — и web приложения, и api запросы, и консольные скрипты, чтобы экономить свои нервы и время. И поможет нам в этом docker.

Сказано — сделано. Подробности под катом.
Читать дальше →

5 способов полезного использования Raspberry Pi

Время на прочтение5 мин
Количество просмотров167K
Привет Хабр.

Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для использования которых код писать не придется совсем.

Для тех кому интересно, подробности под катом. Статья рассчитана для начинающих.
Читать дальше →

5 способов сделать Python-сервер на Raspberry Pi. Часть 2

Время на прочтение9 мин
Количество просмотров26K
Привет, Хабр.

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



Статья рассчитана для начинающих.
Читать дальше →

5 способов сделать Python-сервер на Raspberry Pi. Часть 1

Время на прочтение6 мин
Количество просмотров58K
Привет, Хабр.

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



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

Статья расчитана для начинающих, профи вряд ли найдут здесь что-то кардинально новое, ну а новичкам в Linux надеюсь, будет полезно. Для тех кому интересно, продолжение под катом.
Читать дальше →

Запускаем PHP-скриптики через php-fpm без web-сервера. Или свой FastCGI-клиент (под капотом)

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

Приветствую всех читателей "Хабра".


Дисклеймер


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


Вступление


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

Читать дальше →

Идентификация клиентов на сайтах без паролей и cookie: заявка на стандарт

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

Уважаемые Хаброжители! Уважаемые эксперты! Представляю на вашу оценку новую концепцию идентификации пользователей на веб-сайтах, которая, как я надеюсь, с вашей помощью станет открытым интернет-стандартом, сделав этот интернет-мир чуточку лучше. Это вариант черновика протокола беспарольной идентификации, оформленный в виде вольной статьи. И если идея, положенная в его основу, получит от вас, уважаемый читатель, положительную оценку, я продолжу публикацию его на reddit.com и rfc-editor.org. И надеюсь, мне удастся заинтересовать в его реализации разработчиков ведущих браузеров. Потому ожидаю от вас конструктивную критику.

Внимание: очень много текста.

Рецензировать

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Время на прочтение21 мин
Количество просмотров639K
Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.

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

Итак, поехали.

image
Читать дальше →

YIMP — Панель управления для Yii 2 на Bootstrap 4

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

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


Работая над новой версией, я постарался обобщить весь свой опыт по этой теме, и в результате получился YIMP — велосипед, которым не стыдно поделиться: GitHub, LiveDemo, API Documentation.


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

Читать дальше →

Создание слайдера диапазона значений для фильтра без использования jQuery

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

Очень часто на сайтах интернет-магазинов, и не только, можно фильтры со слайдером выбора диапазона значений. В одном из проектов мне тоже понадобилось сделать такой слайдер.


Первое, что приходит в голову — найти уже готовый и вставить себе на сайт. Тут то я и столкнулся с проблемой. Найденный мною плагин JqueryUI.slider отказался работать на некоторых мобильных устройствах. Проблему я выявить не смог (да не особо и хотел ковыряться в чужом коде) и решил сделать свой "велосипед".

Читать дальше →

Обмен сайта на Битрикс и 1С: решение основных проблем

Время на прочтение3 мин
Количество просмотров38K
В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению
Статья будет полезна как программистам 1С, так и Битрикс разработчикам.

Текст структурирован по принципу: проблема — варианты решения. Если есть конкретная задача, то сразу переходите по внутренней ссылке.

Аккордеон, faq, спойлер и другие раскрывающиеся виджеты

Время на прочтение7 мин
Количество просмотров85K
Аккордеон и faq

Создать аккордеон, faq, спойлер и подобное, можно при помощи Div и JavaScript.
Но лучше: Details и Summary

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

  1. Людям с ограниченными возможностями проще будет пользоваться вашим сайтом! Их софт (скринридеры и подобное) прекрасно понимает html5 теги и будет правильно обрабатывать их и правильно информировать людей о содержимом.
  2. Улучшится связанность текста, и поисковики смогут более качественно индексировать сайт, так как будут лучше понимать, как связаны между собой видимый и скрытый текст.
  3. Будет доступно управление элементами с клавиатуры и других устройств.
  4. Уменьшается количество javascript кода, который нужно подгружать, что увеличивает скорость загрузки страницы, скорость обработки и корректность.
  5. Улучшаются показатели в Lighthouse, Google PageSpeed и других подобных инструментах.
  6. Работает при выключенном javascript.

Ищем баги в PHP коде без статических анализаторов

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

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


Пример гипотезы:


Функции strpos легко передать аргументы в неправильном порядке. 

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


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



Под катом:


  • Поиск и разбор багов в open source проектах.
  • Quick start по phpgrep.
  • Принцип работы синтаксического поиска.



Читать дальше →

С чего начать изучение Python: книги для начинающих

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

Друзья, забирайте в закладки подборку из 17 книг по Python.

Подборка поможет вам освоить язык программирования с нуля или с минимальными знаниями.
Готовы приступить к изучению Python?

Тогда начнем!
Читать дальше →

Sampler. Консольная утилита для визуализации результата любых shell команд

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

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →

Информация

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