Pull to refresh
5
0
Артем Карпов @muz1kand

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

Доменные имена с валидным SSL для локальных Docker-контейнеров

Level of difficulty Easy
Reading time 6 min
Views 7.1K
Website development *Programming *DNS *
Tutorial

image


Ранее (11 февраля 2019) пост уже публиковался мной с таким заголовком, но был отправлен в небытие по причине смерти домена, а как следствие и сервиса с ним связанного. Причин тогда было две — статистика скачивания докер-образа оставляла желать лучшего, и цена за продление домена (что был зарегистрирован в nic) стала для меня неожиданно выше той, которую я был морально готов заплатить за него.


Но есть время не продлять домены разбрасывать камни, а есть время извиниться за сделанную ошибку. Все, кому сервис был полезен, кто им пользовался и однажды заметил что он (localhost.tools) не резолвится — приношу свои извинения, и исправляю ситуацию (лучше поздно чем никогда, верно?).


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

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 28

Вот почему мы всегда пишем селекторы на XPath

Reading time 7 min
Views 19K
Website development *IT systems testing *CSS *HTML *Web services testing *

Привет, Хабр! Сегодня хочется поговорить про XPath — мощный и гибкий инструмент для работы с веб-интерфейсами, который при этом почему-то остается не особенно популярным. Статей и мануалов по XPath очень много, и в этом посте я постараюсь рассказать, как мы применяем данный инструмент и почему считаем его более эффективным, чем другие подходы. Если вам знаком термин “селектор”, а тем более — если вы слышали про XPath, добро пожаловать под кат, там много полезного!

Читать далее
Total votes 19: ↑15 and ↓4 +11
Comments 21

Песочница для Nginx

Reading time 5 min
Views 8.7K
Nginx *
Translation

Как-то я болтала с приятелем о том, как было бы здорово, если бы был такой сайт-песочница, где бы можно было просто скопировать-вставить конфиг Nginx-а и протестировать его. И я поняла, что это не так уж сложно сделать, поэтому погрузилась в тему и сделала: nginx-playground.wizardzines.com.


screenshot

Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 21

Django Admin с миллионами записей — 11 практик оптимизаций для начинающих

Reading time 8 min
Views 16K
Website development *Python *

Django — самый популярный Python web-framework. За больше чем 10 лет оброс огромным слоем возможностей. Среди них можно выделить — Django Admin — это готовый CRUDL интерфейс с поиском, фильтрами и хитрыми настройками.


Каждый раз стартуя проект на Django, удивляюсь насколько круто иметь админку — web интерфейс просмотра данных. Да еще и бесплатно.


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


В этой статье я постараюсь привести 11 практик, которые позволят избегать тормозов админки максимально долго.

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 10

Полезные консольные Linux утилиты

Reading time 13 min
Views 90K
*nix *

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 118: ↑114 and ↓4 +110
Comments 110

Как создать свою собственную Луну

Reading time 6 min
Views 7.2K
SkillFactory corporate blog Lua *3D printers DIY Lifehacks for geeks
Tutorial
Translation

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

Приятного чтения
Total votes 11: ↑9 and ↓2 +7
Comments 1

Масштабируемый Продакшн-реди Телеграм бот на Django

Reading time 6 min
Views 33K
Python *Django *GitHub *DevOps *
Tutorial

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

Читать далее
Total votes 25: ↑22 and ↓3 +19
Comments 20

Файловый сервер на Samba, видимый отовсюду

Reading time 2 min
Views 18K
Configuring Linux *System administration *
В этой краткой заметке я не буду касаться настройки Samba, благо таких материалов в сети более, чем достаточно.

Я хотел бы рассказать о том, как сделать доступ к файловому серверу удобнее.



TL;DR: настройка Avahi и WSD, чтобы файловый сервер отображался в сетевом окружении в Windows, в MacOS и в Ubuntu (и в других дистрибутивах, разумеется, но в них я не проверял).
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 3

Среда разработки PHP на базе Docker

Reading time 12 min
Views 47K
Website development *PHP *MySQL *PostgreSQL *DevOps *

Решение на базе Docker, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 - 40 минут. Несколько версий PHP — 7.3 и 7.1 с набором наиболее востребованных расширений. Готовый к работе монитор процессов Supervisor. Предварительно сконфигурированный веб-сервер Nginx. Базы данных: MySQL 5.7MySQL 8PostgreSQLMongoDB 4.2Redis. Настройка основных параметров окружения через файл .env. Возможность модификации сервисов через docker-compose.yml.

Читать далее
Total votes 23: ↑21 and ↓2 +19
Comments 38

Vue.js компонент для справки/документации

Reading time 4 min
Views 3.5K
Website development *JavaScript *VueJS *

VB-preview


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

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 1

Пять интересных способов использования Array.reduce() (и один скучный путь)

Reading time 7 min
Views 61K
JavaScript *
Sandbox

Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi.


Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce().


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


Сегодня рассмотрим некоторые интересные вещи, которые можно сделать с помощью Array.reduce().

Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Comments 78

Знакомьтесь, <details>

Reading time 3 min
Views 55K
HTML *
Tutorial

Я хочу рассказать о замечательном элементе <details> и показать несколько примеров его использования, от простых до безумных.

Total votes 66: ↑63 and ↓3 +60
Comments 37

Админка за 5 минут. Фронтэнд — react-admin, бэкэнд — Flask-RESTful

Reading time 5 min
Views 45K
ReactJS *Flask *
Tutorial


Если нужно на коленке получить быстро админку, где фронтендом будет react-admin, а бэкендом Flask-RESTful api, то ниже минимальный код в несколько десятков строк, чтобы это реализовать.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 41

Arduino и прерывания таймера

Reading time 8 min
Views 134K
Developing for Arduino *
Sandbox

Привет, Хабр! Представляю вашему вниманию перевод статьи "Timer interrupts" автора E.


Предисловие


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


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


Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 19

Радиолюбительская технология: производство печатной платы прототипа на китайской фабрике

Reading time 6 min
Views 18K
DIY Electronics for beginners
Tutorial

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


Как уже было написано ранее, творчество радиолюбителей имеет ограниченный возможностями семьи бюджет и имеет ограничение по отнятому у семьи времени. В борьбе с этими ограничениями радиолюбителям помогает применение CAD/CAM. Причём, CAD может быть установлен на домашнем компьютере, а CAM располагаться в другой части света.


В этой статье описано: как подготовить и выгрузить из CAD Eagle 7.7.0 задание в формате Gerber RS274X для CAM, расположенной в КНР; как оформить заказ на изготовление печатной платы и её доставку в РФ.

Читать дальше →
Total votes 35: ↑26 and ↓9 +17
Comments 37

Реверс-инжиниринг бинарного формата на примере файлов Korg SNG. Часть 2

Reading time 7 min
Views 4K
Reverse engineering *Sound


В прошлой статье я описал ход рассуждений при разборе неизвестного двоичного формата данных. Используя Hex-редактор Synalaze It!, я показал как можно разобрать заголовок двоичного файла и выделить основные блоки данных. Так как в случае формата SNG эти блоки образуют иерархическую структуру, мне удалось использовать рекурсию в грамматике для автоматического построения их древовидного представления в понятном человеку виде.

В этой статье я опишу похожий подход, который я использовал для разбора непосредственно музыкальных данных. С помощью встроенных возможностей Hex-редактора я создам прототип конвертера данных в распространенный и простой формат Midi. Нам придется столкнуться с рядом подводных камней и поломать голову над простой на первый взгляд задачей конвертации временных отсчетов. Наконец, я объясню как можно использовать полученные наработки и грамматику двоичного файла для генерации части кода будущего конвертера.
Total votes 11: ↑11 and ↓0 +11
Comments 2

JSON API – работаем по спецификации

Reading time 23 min
Views 136K
Конференции Олега Бунина (Онтико) corporate blog Website development *Open source *JavaScript *Programming *
В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции.

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

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


Total votes 71: ↑68 and ↓3 +65
Comments 110

«CMS» на базе Google Spreadsheets для статических сайтов

Reading time 2 min
Views 9.6K
CMS *JavaScript *HTML *Google API *
Tutorial


Все чаще для рассказа о мероприятии/товаре/услуге компании создают сайты на базе каких либо конструкторов. Либо своими силами, либо привлекая дизайнеров и без участия программиста. Современные конструкторы позволяют собрать классный, яркий, эффектный сайт, но статичный. Любые изменения нужно вносить «ручками в редакторе» и перепубликовать страницу. Но что делать, если данные меняются очень часто или хочется добавить немного автоматизации — вот тут и могут помочь Гугл Таблицы и Charts Query Language (и знакомы программист).
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 4

27 отличных open source-инструментов для веб-разработки

Reading time 3 min
Views 50K
NIX corporate blog Web design *Website development *Development for e-commerce *Web services testing *
Translation


Перевод 27 Amazing Web Development Tools for the Past Year (v.2018)

В 2017-м мы сравнили около 7 500 open source-инструментов для веб-разработки, из которых выбрали 27 лучших (0,4%). Это крайне конкурентный список, в который вошли инструменты, библиотеки и проекты, опубликованные в течение 2017-го. Mybridge AI оценивает их качество на основании популярности, заинтересованности и новизне. Чтобы было понятно, у выбранных продуктов среднее количество звёзд на Github — 5260.

Open source-инструменты могут почти даром повысить вашу продуктивность. Также вы можете чему-то научиться, читая исходный код и создавая что-нибудь на основе этих проектов. Так что рекомендуем уделить время и поэкспериментировать с инструментами из нашей подборки, возможно, какие-то из них прошли мимо вас.
Читать дальше →
Total votes 70: ↑55 and ↓15 +40
Comments 10

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

Reading time 7 min
Views 37K
Programming *Development for iOS *Development of mobile applications *Algorithms *Development for Android *
Sandbox


Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ультразвука, но у каждого из способов мы обнаружили критичные в нашем случае недостатки.

В итоге мы придумали новый способ. Он основан на поиске совпадения окружающего шума: если устройства слышат одно и то же, то, скорее всего, они находятся рядом.

В статье мы расскажем о принципе его работы, а также рассмотрим достоинства и недостатки других распространенных способов обнаружения устройств.
Читать дальше →
Total votes 77: ↑77 and ↓0 +77
Comments 45

Information

Rating
Does not participate
Location
Псков, Псковская обл., Россия
Date of birth
Registered
Activity