Pull to refresh
1
0
Send message

Работаем с Git: первые шаги в GitHub

Reading time15 min
Views150K

Бывает, что начинающие разработчики проблематично осваивают Git и не с первого захода понимают логику работы сервиса. Но стоит создать пару репозиториев или, ещё лучше, погрузиться в реальную историю по установке стартапа на рельсы DevOps, как работа с ветками станет дружелюбной, а PR и MR больше не вызовут путаницы. Ошибки в любом случае появятся, но вы будете к ним готовы!

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments5

Bash скрипты

Level of difficultyEasy
Reading time13 min
Views134K

Работа с командной строкой Linux & Shell скрипты для начинающих.

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

В этой статье мы обсудим основы написания сценариев bash, включая переменные, команды, ввод/вывод и отладку. Каждый пункт сопроводим примерами.

Начнем.

Читать далее
Total votes 16: ↑9 and ↓7+6
Comments81

Основы python в бизнесе

Level of difficultyEasy
Reading time7 min
Views8.3K

Господа, приветствую! Решил описать результаты изучения абсолютно бесплатных курсов и статей по языку программирования python, любые комментарии с одобрениями/осуждениями/пожеланиями приветствуются.

И так, дело было вечером - делать было нечего.... Бесплатный(пробный) курс на Я.Практикуме подтолкнул зафиксировать полученные знания хоть как-нибудь, так родилась идея создания Калькулятора Лазерной Резки(далее КЛР), аплодисменты в студию!! Видео на ютубе "Учим python за 7 часов! Уроки Python Полный курс обучения программированию на python с нуля" канала Python Hub Studio придало уверенность.

Читать далее
Total votes 11: ↑8 and ↓3+8
Comments33

Инструкция по установке LineageOS 20 + MicroG на Google Pixel 6 Pro

Level of difficultyMedium
Reading time8 min
Views33K

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

Читать далее
Total votes 11: ↑7 and ↓4+4
Comments32

Оптимизируем изображения в HTML

Level of difficultyEasy
Reading time8 min
Views16K

Вместе со Стивом Сьюэллом, CEO Builder.io, разбираемся, почему с точки зрения оптимизации производительности изображения лучше загружать через HTML, а не через CSS. 

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments10

Полное понимание асинхронности в браузере

Reading time24 min
Views110K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Total votes 78: ↑78 and ↓0+78
Comments26

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

Level of difficultyMedium
Reading time16 min
Views41K

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

Читать дальше →
Total votes 42: ↑40 and ↓2+55
Comments18

Планировщик задач: не замораживаем вкладку при открытии страницы

Reading time21 min
Views5.8K

Современные сайты — это сложные проекты, требующие много времени на обработку JavaScript. А современные пользователи — это требовательные люди, готовые убежать к конкуренту при ощущении «что-то сайт подтормаживает». Такое ощущение у пользователя может вызываться большим Total Blocking Time, когда он подолгу не может взаимодействовать со страницей.

Что в такой ситуации делать? На нашей конференции HolyJS Виктор Хомяков из Яндекса рассказал о том, как там делали инициализацию скриптов на странице поиска более дружественной к человеку и не блокирующей UI. А также о том, как и вам уменьшить TBT, не ухудшая другие показатели.

Доклад понравился зрителям, поэтому теперь для Хабра мы сделали текстовую версию. Далее повествование идёт от лица Виктора.

Читать далее
Total votes 19: ↑18 and ↓1+21
Comments13

Импорт полной базы ФИАС за 9 часов, How To

Reading time12 min
Views7.7K

Год назад ФНС прекратила выкладывать базу ФИАС в формате DBF, теперь база доступна только в формате XML. Данные из DBF можно было вставлять в базу как есть, с XML так не получается, перед вставкой в базу, XML надо парсить, и это занимает время. Полная база ФИАС занимает 290 GB, парсинг такого объёма занимает значительное время.

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

Я разработал несколько скриптов для создания и импорта базы. Эта статья будет о том как с помощью этих скриптов развернуть базу ФИАС за 9 часов на 6-ти ядерном процессоре.

Читать далее
Total votes 8: ↑5 and ↓3+3
Comments15

Список ненужных задач в Планировщике заданий Windows

Reading time7 min
Views32K
Автоматическая установка операционных систем семейства Windows требует от системного администратора тщательной проработки всех этапов выполнения. Давно интересуюсь данной темой, однако, в ходе многолетнего опыта по созданию собственных настроенных и обновлённых сборок Windows мной был упущен аспект работы с Планировщиком заданий. Разработчики Windows закладывают задачи, выполняемые в будущем по-расписанию, но ненужные и порой вредные «рядовому» пользователю. Список этих задач предлагаю к рассмотрению и обсуждению в данной статье.
Читать дальше →
Total votes 32: ↑12 and ↓20-4
Comments133

PHPStorm + XDebug + Docker

Reading time3 min
Views33K

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

Шагов, на самом деле, немного, все очень простые, нужно лишь...

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments13

Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит

Reading time9 min
Views48K
Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.

И здесь мы подходим к личности автора, талантливого и суперпродуктивного программиста Марка Руссиновича. Он показал, что один умный парень способен интеллектуально продавить мегакорпорацию. И той придётся заплатить ему огромные деньги, и даже взять на работу. Потому что повторить его программы она не сумела…
Читать дальше →
Total votes 93: ↑87 and ↓6+109
Comments62

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views186K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее
Total votes 86: ↑82 and ↓4+88
Comments112

7 полезных книг по Python для старта и развития навыков: выбор сотрудников Selectel

Reading time6 min
Views25K

Попросили коллег порекомендовать книги по изучению Python, которые когда-то помогли им прокачать свои навыки. Сохраняйте подборку в закладки — она пригодится и начинающим, и опытным специалистам. А также делитесь своими вариантами в комментариях.
Читать дальше →
Total votes 34: ↑33 and ↓1+42
Comments11

Укрепление Nginx с помощью Fail2ban: тестируем и оцениваем «профит»

Reading time10 min
Views23K

«Только запустил Nginx-приложение, а в access.log уже десятки записей с непонятными запросами, переборами паролей и другого» — типичная ситуация для незащищенного сервера. Это следствие работы «ботов» для сканирования белых сетей, поиска открытых портов, сбора информации о версиях запущенных служб и подбора паролей к сервисам.

В статье расскажу, как с помощью open source-инструмента Fail2ban укрепить Nginx и защитить сервисы от взлома. А также продемонстрирую способы блокирования DDoS-атак. Подробности под катом.
Читать дальше →
Total votes 45: ↑43 and ↓2+49
Comments47

Колдовской NeoVIM. Часть вторая. “Конфиг Всевластья”

Reading time10 min
Views18K

Никто не любит конфиги (я уж точно). Они скучные и нединамичные.

Но со своим конфигом Nvim’а я ношусь, как Голлум с кольцом Всевластья. Моя прелесссссть. Я боюсь потерять свой конфиг, боюсь, что с ним что-то случится. Другие хотят забрать тебя, моя прелессссть. Саша тебя им не отдаст, нет-нет...

Если кто-то отнимет мой конфиг - я буду гнаться за ним до Роковой Горы и даже прыгну в жерло вулкана.

В этой статье я расскажу, как создать такой Конфиг Всевластья и как завоевать Гондор.

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments21

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 2

Reading time25 min
Views17K

Представляю вашему вниманию вторую часть статьи о создании расширения web-браузера Chrome, которое позволяет извлечь все изображения с web-страницы.

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

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments5

Старый компьютер, Windows 7, 1 Гб оперативки, Firefox и интернет

Level of difficultyMedium
Reading time127 min
Views145K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

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

— Firefox
— Дополнения к браузеру
— Драйверы
— Windows 7
— BIOS
— Советы по аппаратной части
Читать дальше →
Total votes 53: ↑37 and ↓16+21
Comments984

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 1

Reading time15 min
Views89K

Расширения браузера это web-приложения, которые устанавливаются в web-браузер чтобы расширить его возможности. Обычно для того чтобы воспользоваться расширением, пользователю нужно найти его в Chrome Web Store и установить.

В этой статье я покажу как создать расширение для браузера Google Chrome с нуля. Это расширение будет использовать API браузера для того чтобы получить доступ к содержимому web-страницы любой открытой вкладки. С помощью этих API можно не только читать информацию с открытых web-сайтов, но и взаимодействовать с этими страницами, например, переходить по ссылкам или нажимать на кнопки. Таким образом расширения браузера могут использоваться для широкого круга задач автоматизации на стороне клиента, таких как web-scrape или даже автоматизированное тестирование фронтенда.

Мы создадим расширение, которое называется Image Grabber, которое будет содержать интерфейс для подключения к web-странице и для извлечения из нее информации о всех изображениях. Далее, при нажатии на кнопку "GRAB NOW" список абсолютных URL этих изображений будет скопирован в буфер обмена. В этом процессе вы познакомитесь с фундаментальными строительными блоками, которые в дальнейшем можно будет использовать для создания других расширений.

Расширения, создаваемые таким образом для браузера Chrome совместимы с другими браузерами, основанными на движке Chromium и могут быть установлены, например, в Yandex-браузер или Opera.

В результате, при правильном выполнении всех шагов, вы получите расширение, которое будет выглядеть и работать так, как показано на следующем видео:

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments16

Как расширить возможности runtime KPHP

Reading time14 min
Views2.6K

Всем доброго дня, уважаемые читатели. В данной статье вы узнаете как добавить новые функции в runtime KPHP, чтобы ими можно было пользоваться как ни в чём не бывало.

В качестве задачи - добавления функций для парсинга файлов и строк в формате env.

Рассмотрим этапы сборки KPHP, реализациий функций, написание тестов.

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

Information

Rating
Does not participate
Registered
Activity