Pull to refresh
1
0
Send message

Joomla 4 – шаблон Cassiopeia – советы и хитрости

Reading time21 min
Views43K

Обзор возможностей шаблона по умолчанию Joomla 4 - Cassiopeia, а так же советы по кастомизации. Демонстрация доступности сайта для слабовидящих, соответствущей международным стандартам (WCAG 2.1) и их российским аналогам (ГОСТ Р 52872-2019). Анонс некоторых новых функций Joomla 4.1. Полезные ресурсы в конце статьи.

Читать далее

F-строки в Python мощнее, чем можно подумать

Reading time5 min
Views156K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее

Изучаем Docker, часть 1: основы

Reading time6 min
Views709K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья

Reading time16 min
Views12K

Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать на ошибки допускаемых младшими специалистами при выполнении подобной настройки. Также указать на какие то вещи, которые сделают troubleshooting простым и удобным.

Это не совсем стэк LEMP, так как здесь используется Apache2, но вы можете использовать PHP-FPM вместо этого, если разработчик не против внедрения такого решения.

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

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

Предыдущие части статей доступны по следующим ссылкам:

Читать далее

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.8M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

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

Чек-лист внедрения VDI: что учесть, чтобы виртуальные рабочие столы работали как надо

Reading time8 min
Views12K

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

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

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

Читать далее

Network automation. Случай из жизни

Reading time10 min
Views6.7K
Привет, Хабр!

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

К вопросу о странном (опять) и о выборе транзисторов

Reading time9 min
Views15K

Найди всему причину и ты многое поймешь


Очередная загадка появилась в устройстве, спроектированном одним моим молодым коллегой (далее ММК). Устройство предназначено для входного контроля аккумуляторов серии 18650 (нет, Илон Маск может спать спокойно, наша фирма не собирается делать электромобили, это совсем для других изделий) и реализовано на довольно-таки известной микросхеме BQ29700, которая отличается от множества подобных ей контроллеров аккумулятора наличием двух раздельных выводов для управления ключами и возможностью контроля тока («не забудь, дружок, про подтяжки»). Схема реализована в полном соответствии с рекомендациями производителя (смотрите КДПВ), вопросов быть вообще не должно, но… они есть.



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

Разворачиваем Active Directory всеми возможными методами

Reading time4 min
Views55K
Одним из реально полезных нововведений в Windows Server 2019 является возможность вводить серверы, не делая Sysprep или чистую установку.  Развернуть инфраструктуру на виртуальных серверах с Windows Server никогда еще не было так просто.


Сегодня поговорим о том, насколько же, оказывается, просто устанавливать и управлять Active Directory через Powershell.
Читать дальше →

CreateRemoteThread для Linux

Reading time46 min
Views15K

Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.


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


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


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

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

Как Программисту 1С стать Java developer'ом

Reading time8 min
Views29K
Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а количество фрэймворков бесконечным. Было совершенно непонятно: что учить, что не учить, что нужно в работе, а что никто не использует. Если ты хочешь в Джаву, теряешься в бесконечных названиях технологий и фрэймворков и хочешь узнать какие же из них надо изучать, а на какие не обращать внимания — эта статья для тебя!


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

Связка OpenVPN на Windows Server и Mikrotik с миграцией этого добра в Linux

Reading time8 min
Views8.8K
Доброго!

Каждому предприятию рано или поздно, внезапно, становится необходим удаленный доступ.
С необходимостью организовать удаленный доступ к своим сетям на предприятии сталкивается практический каждый АйТишник.
Меня, как и многих, эта потребность накрыла с грифом “вчера”. Проанализировав все «за» и «против», а также перелопатив тонны информации и поковырявшись немного в теории, я решил приступить к установке.
Читать дальше →

Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм

Reading time7 min
Views29K
Задача кажется простой, когда ничего про нее не знаешь и когда решил.

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

Мне нравится Телеграм заложенными в него возможностями в том числе и ботами, поэтому канал в виде блога был создан там. Начал искать ботов, помогающих оформлять сообщения…. а так как мне хочется не нашел. Что ж, напишем сами. Умные люди посоветовали писать на Python.

Прочитал первый попавшийся в инете самоучитель на 149 страниц. Я знаком с Pascal, FoxPro, Interbase и даже (ха-ха 3 раза) 20 лет назад продавал свои программы, а потом как-то не сложилось, ушел в торговлю. Работа программистом мне сильно помогла в постановке задач для кодеров кстати. Но вернемся к Python, кажется, ничего сложного, ведь и на BASIC программировать можно было и это не мой институтский диплом с программно-аппаратным комплексом генератора поверки МИГа на Assembler. Одна проблема, всё это было давно, так что возвращаясь к заголовку — кажется что просто, потому что пока ничего не знаю про задачу, но попробовать стоит.

Я решил, что удобнее всего делать проект со смартфона на Андроид, ибо он всегда под рукой. Итак ставим:

  1. Pydroid 3 — IDE for Python 3 Собственно Питон для Андроид.
  2. @BotFather, В Телеграм устанавливаем отца всех ботов — он понадобится чтобы получить идентификатор вашего бота и сделать основные настройки.
  3. Rebootr Приложение для запуска проекта на heroku.
  4. GIT Приложение для онлайн-хостинга репозиториев.
  5. Windscribe Без VPN никуда?
  6. Termux Эмулятор терминала и среды Linux.

И что в сухом остатке? Программировать на смартфоне можно в теории, но невозможно на практике. Максимум проверить код, исправить ошибку, исследовать работоспособность.
Читать дальше →

Удаленное управление компьютером через браузер

Reading time1 min
Views59K
Около полугода назад задумал сделать программу для управления компьютером через браузер. Начал с простого односокетного HTTP сервера, который передавал картинки в браузер и получал координаты курсора для управления.

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

Сначала попробовал использовать библиотеку которую предоставляет Google, но после компиляции она занимает 500MB. Пришлось реализовать весь WebRTC стек почти с нуля, удалось все уместить в exe файл размером 2.5MB. Друг помог с интерфейсом на JS, вот что в итоге получилось.
Читать дальше →

VMware NSX для самых маленьких. Часть 1

Reading time6 min
Views84K


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

Около каких-то правил, если повезет, прописаны комментарии «Попросил сделать Вася» или «Это проход в DMZ». Сетевой администратор увольняется, и все становится совсем непонятно. Потом кто-то решил почистить конфиг от Васи, и упал SAP, потому что когда-то Вася просил этот доступ для работы боевого SAP.



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

Курс лекций по JavaScript и Node.js в КПИ

Reading time2 min
Views125K

100 лекций по программированию в Киевском политехническом институте


Товарищи инженеры, как и было обещано в анонсе, половина лекций (а это 51) уже доступны для просмотра на ютюбе и я продолжу их записывать в 2019 году. Часть из нужно будет перезаписать, потому, что в первых лекциях не самый лучший звук и потому, что очень простые темы у меня пока не очень хорошо получаются. Лучше вышли сложные и актуальные темы, которые мне и самому более интересно рассказывать. Я бы не сказал, что это курс для начинающих, скорее, это курс для тех, кто уже знает синтаксис. За это время поступило множество предложений, как улучшить способ подачи материала: делить на более короткие лекции, подготовить задачи для практического освоения, записывать семинары и ответы на вопросы студентов, добавить в программу разбор целого ряда спорных и холиварных тем. Но не все сразу, я и так посвящаю этому треть жизни.

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

Выборочный обход блокировок на маршрутизаторах с прошивкой Padavan и Keenetic OS

Reading time23 min
Views382K
Инструкций с разными вариантами обхода блокировок Интернет-ресурсов опубликовано огромное количество. Но тема не теряет актуальности. Даже всё чаще звучат инициативы на законодательном уровне заблокировать статьи о методах обхода блокировок. И появились слухи, что Роскомнадзор получит ещё одну пачку денег налогоплательщиков на «более лучшие» блокировки. Опытные пользователи ничего нового и полезного из статьи не узнают. А вот другие получат готовые пошаговые инструкции для простого и эффективного выборочного обхода блокировок на популярных маршрутизаторах с прошивкой Padavan и Keenetic.


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

Тенденции сетевой безопасности в 2019-м году

Reading time15 min
Views33K
Так принято, что в конце каждого года компании напоминают о себе, делясь своими достижениями и публикуя прогнозы, которые, по счастливой случайности, связаны с продуктами компании. Я не стану нарушать эту традицию с двумя небольшими дополнениями. Я не буду рассказывать о наших достижениях за прошедший год; возможно, я напишу про это в нашем корпоративном блоге. Да и с прогнозами ситуация не столь очевидно рекламная. Нам много что есть сказать в контексте кибербезопасности, но я попробую сфокусироваться на том, что обычно не упоминают другие компании, но при этом является очень важным и что стоит учитывать в своей стратегии ИБ в 2019-м году. Кроме того, не буду скрывать, к части из описываемых тенденций мы сами приложили руку. Среди прочего мы поговорим об уязвимостях BGP и CDN, взломе сетевых устройств, грядущих TLS 1.3 и сетях 5G, API и киберучениях.

Гадаю на кофейной гуще
Читать дальше →

Как я осилил английский

Reading time13 min
Views352K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →

Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 1

Reading time15 min
Views144K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
1

Information

Rating
Does not participate
Location
Украина
Registered
Activity