7 722
Подписчики
-324 часа
-117 дней
-6930 дней
Архив постов
7 722
Инструменты для мониторинга безопасности
Эти инструменты помогают отслеживать угрозы безопасности в реальном времени, а также анализировать логи и события.
• Splunk: Платформа для анализа данных и мониторинга безопасности, которая может обрабатывать огромные объемы логов в реальном времени.
• Prometheus + Grafana: Используются для мониторинга состояния приложений и инфраструктуры, включая выявление аномалий.
• ELK Stack (Elasticsearch, Logstash, Kibana): Система для сбора, хранения, анализа и визуализации логов, что помогает выявлять проблемы с безопасностью.
• Datadog: Обеспечивает мониторинг приложений и инфраструктуры, включая управление безопасностью и анализ логов.
7 722
Андерхуд с разработчиком о балансе между кодом и жизнью
Чувствуете, что выгореть перед Новым Годом готова не только гирлянда? Тогда вам к нам ❤️
На целую неделю канал Merk/daily полностью отдаёт эфир своему Flutter-разработчику Александру! Он расскажет о балансе между личной жизнью и разработкой – со всеми плюсами и минусами работы в международной IT-компании.
А еще:
- честные истории о буднях flutter-разработчика
- забавные и поучительные рассказы о собеседованиях.
- Путь в IT: от выбора стека до работы в Merk Team.
- И даже история о том, как мы его чуть не потеряли!
Подписывайтесь на канал Merk/daily, чтобы ничего не пропустить ⚡
Подписаться
#реклама
О рекламодателе
7 722
Инструменты для анализа инфраструктуры как кода (IaC)
Эти инструменты позволяют проверять конфигурации инфраструктуры на наличие уязвимостей до её развертывания.
• Terraform (с плагином Terraform Sentinel): Инструмент для управления инфраструктурой как кодом с возможностью интеграции политик безопасности.
• CloudFormation (с CloudFormation Guard): Инструмент AWS для работы с IaC, который позволяет проверять безопасность конфигураций.
• Checkov: Открытый инструмент для проверки безопасности конфигураций в Terraform, CloudFormation и других IaC шаблонах.
• Kics (Keeping Infrastructure as Code Secure): Открытый инструмент для сканирования шаблонов IaC на наличие уязвимостей.
7 722
Инструменты для динамического анализа приложений (DAST)
Эти инструменты проверяют приложение в рабочем состоянии, имитируя атаки, чтобы выявить уязвимости.
• OWASP ZAP (Zed Attack Proxy): Один из самых популярных инструментов для динамического тестирования безопасности веб-приложений.
• Burp Suite: Мощный инструмент для тестирования безопасности веб-приложений, включая перехват запросов и сканирование на уязвимости.
• Acunetix: Инструмент для автоматического сканирования веб-приложений на наличие уязвимостей, таких как XSS или SQL-инъекции.
7 722
В DevSecOps используется ряд инструментов для автоматизации и улучшения процессов обеспечения безопасности на разных этапах разработки, тестирования и эксплуатации ПО.
Здесь, (и далее в постах) основные категории инструментов, применяемые в DevSecOps:
Инструменты для статического анализа кода (SAST)
Эти инструменты анализируют исходный код программы на наличие уязвимостей до его компиляции или выполнения.
• SonarQube: Анализирует качество кода, находит ошибки, уязвимости и плохие практики программирования.
• Checkmarx: Проводит статический анализ для выявления уязвимостей на уровне исходного кода.
• Fortify: Инструмент для анализа безопасности на разных уровнях разработки, включая статический анализ кода.
• Veracode: Обеспечивает анализ безопасности на уровне исходного кода, а также на уровне скомпилированных приложений.
7 722
DevSecOps — интеграция практик безопасности в процесс разработки программного обеспечения и операционных процессов, который часто используется в рамках подхода DevOps. Термин состоит из трех частей:
Dev — разработка (Development)
Sec — безопасность (Security)
Ops — операционные процессы (Operations)
Идея DevSecOps заключается в том, чтобы обеспечивать безопасность на всех этапах разработки и эксплуатации ПО, а не только в конце, когда продукт уже готов. Это подход, который встраивает процессы безопасности в непрерывную интеграцию (CI), непрерывное развертывание (CD) и управление инфраструктурой.Основные принципы DevSecOps: • Интеграция безопасности с самого начала: Вместо того чтобы "добавлять" безопасность в конце процесса разработки, её рассматривают как неотъемлемую часть всего жизненного цикла разработки. • Автоматизация процессов безопасности: Использование инструментов для автоматического тестирования и проверки кода на наличие уязвимостей. • Обратная связь в реальном времени: Разработчики получают уведомления о потенциальных проблемах безопасности во время написания и тестирования кода, что позволяет быстро их устранять. • Совместная работа команд: DevSecOps способствует тесному взаимодействию между командами разработчиков, специалистов по безопасности и операционными командами для обеспечения качественного и безопасного ПО. • Постоянная защита и мониторинг: Мониторинг безопасности осуществляется на всех этапах разработки и эксплуатации.
7 722
Применение формальных языков и грамматик
• Программирование: Формальные грамматики используются для определения синтаксиса языков программирования. Например, грамматика Python или C++ определяет, какие конструкции допустимы в этих языках.
• Обработка естественного языка: Формальные языки применяются в лингвистике для анализа и синтаксического разбора предложений.
• Автоматы: Формальные языки тесно связаны с теориями автоматов, такими как конечные автоматы и стековые автоматы.
• Системы компиляции: Грамматики важны для создания компиляторов, которые могут анализировать исходный код и трансформировать его в машинный код.
7 722
Аукцион выделенных серверов от Selectel!
Популярные конфигурации выделенных серверов становятся дешевле в реальном времени.
Успейте арендовать их, пока это не сделал кто-то другой!🏃♂️
Забронировать
#реклама
selectel.ru
О рекламодателе
7 722
Типы формальных языков
Существует несколько типов формальных языков, каждый из которых определяется своей грамматикой:
• Регулярные языки: Их можно описать с помощью регулярных выражений или конечных автоматов. Пример: язык всех строк, содержащих хотя бы одну букву "
a".
• Контекстно-свободные языки: Их можно описать с помощью контекстно-свободных грамматик. Пример: язык правильно сбалансированных скобок.
• Контекстно-зависимые языки: Языки, которые требуют контекста для замены символов в строках. Эти языки могут быть описаны с помощью контекстно-зависимых грамматик.
• Рекурсивно перечислимые языки: Это самые общие языки, которые могут быть описаны алгоритмом.7 722
ТОП-4 Курса по Программированию
⚡Tutortop — маркетплейс курсов №1 по количеству школ-партнеров, курсов и реальных отзывов студентов.
✅Хотите стать программистом, но не знаете с какого языка начать?
Помогаем разобраться в самых популярных и востребованных языках программирования.
Подарок в конце подборки!
Выбрать
#реклама 16+
tutortop.ru
О рекламодателе
7 722
Формальные языки и грамматики
Важные концепты в теории автоматов и теории формальных языков, которые изучают структуры, используемые для описания и анализа различных типов языков, включая языки программирования, естественные языки и другие формализованные системы.Формальные языки: Множество строк (или слов), составленных из алфавита. Алфавит состоит из конечного набора символов, которые называются символами. Язык — это множество слов, построенных из этих символов. Пример: • Алфавит:
Σ={a,b} (два символа: a и b).
Язык, состоящий из всех строк, содержащих четное количество символов a: L={ϵ,aa,abba,aabaa,…}.
Грамматики
Набор правил, которые определяют, как можно строить строки формального языка из символов алфавита. Грамматики обычно делятся на несколько типов, в зависимости от их мощности и применимости.
1. Бэкусовская форма (Context-Free Grammar, CFG)
Это один из самых популярных типов грамматик. В CFG правила состоят из замен, где левая часть состоит из одного нетерминала, а правая — из последовательности терминалов и нетерминалов.
Пример: Грамматика для арифметических выражений:
E → E + T
E → E - T
E → T
T → T * F
T → T / F
T → F
F → ( E )
F → number
Здесь:
• E,T,F — нетерминалы.
• +,−,∗,/,(,),number — терминалы.
• Применяя эти правила, мы можем строить выражения, такие как number+number∗number.
2. Грамматики типа 0 (Rug grammar)
Это самая общая форма грамматик, где правила могут быть произвольными, и левые части правил могут содержать несколько символов, в том числе нетерминалы.
3. Грамматики типа 1 (Context-sensitive grammar)
Правила грамматики могут заменять строку, состоящую из нескольких символов, только если на определенной позиции в строке находится подходящий контекст.
4. Грамматики типа 2 (Context-free grammar)
В этих грамматиках правила заменяют один нетерминал на строку из терминалов и нетерминалов, не завися от контекста. Это наиболее популярный тип грамматик, применяемых в компиляторах и других системах.
5. Грамматики типа 3 (Regular grammar)
Самые простые грамматики, где правила имеют ограниченную форму. Например, они могут быть описаны с помощью регулярных выражений.7 722
Школьник + бесплатные курсы по ИТ = новые возможности
Хотите прокачать мышление, научиться решать задачи по математике и информатике и познакомиться с ИТ? Бесплатные курсы для школьников в этом помогут. Занятия включают теорию и практические задачи, а само обучение не будет отнимать много времени - нужно 2-3 часа в неделю. После успешного прохождения одного из курсов вам выдадут сертификат - им можно пополнить портфолио.
Чтобы начать учиться, выберите подходящую программу и оставьте заявку на сайте Т-Образования.
Подать заявку
#реклама 16+
education.tbank.ru
О рекламодателе
7 722
Системы контроля версий
1. Git
Тип: Распределённая система контроля версий (DVCS).
Особенности:
• Очень популярна среди разработчиков.
• Каждый разработчик имеет полную копию репозитория, что позволяет работать автономно и эффективно.
• Поддерживает ветвление (branching) и слияние (merging), что позволяет работать над несколькими функциями или исправлениями одновременно.
• Часто используется с сервисами для хостинга репозиториев, такими как GitHub, GitLab и Bitbucket.
• Инструмент командной строки, но также существует множество графических интерфейсов и интеграций с IDE.
Популярные инструменты и сервисы:
- GitHub: Онлайн-платформа для хостинга репозиториев, совместной работы и обмена кодом.
- GitLab: Платформа для разработки и хостинга репозиториев с дополнительными функциями CI/CD.
- Bitbucket: Платформа для хостинга репозиториев, разработанная компанией Atlassian, часто используется в связке с JIRA.
2. Subversion (SVN)
Тип: Централизованная система контроля версий.
Особенности:
• Все изменения хранятся на центральном сервере, и доступ к репозиторию осуществляется через этот сервер.
• Поддерживает создание веток и слияние изменений, но не так гибко, как Git.
• Простой в освоении, поэтому используется в более традиционных и крупных компаниях для сохранения простоты процесса разработки.
• Может быть полезен для проектов, где важен строгий контроль над версионностью и доступом.
Популярные инструменты:
- Apache Subversion: Основной сервер для работы с SVN.
- TortoiseSVN: Популярный клиент для SVN на Windows, который интегрируется с проводником Windows.
3. Mercurial (Hg)
Тип: Распределённая система контроля версий.
Особенности:
• Принципиально схож с Git, но интерфейс проще и более интуитивно понятен.
• Подходит для проектов, где требуется более простая настройка и меньшее количество команд, чем в Git.
• Используется в меньших командах и для меньших проектов, однако всё ещё поддерживает ветвление и слияние.
Популярные инструменты:
- Bitbucket (также поддерживает Mercurial, хотя сейчас он больше ориентирован на Git).
- TortoiseHg: Графический клиент для Mercurial.
4. CVS (Concurrent Versions System)
Тип: Централизованная система контроля версий.
Особенности:
• Одна из старейших систем контроля версий, в настоящее время используется реже из-за своей ограниченности по сравнению с более современными СКВ.
• Хранит все данные на центральном сервере, и доступ к изменениям осуществляется через него.
• Меньше поддерживает сложные операции с ветвлением и слиянием по сравнению с Git или SVN.
5. Perforce (Helix Core)
Тип: Централизованная система контроля версий.
Особенности:
• Применяется в больших проектах с большим количеством данных, таких как видеоигры или большие программные продукты.
• Быстрая и масштабируемая, поддерживает работу с большими бинарными файлами, что делает её популярной в индустрии разработки игр.
• Предоставляет возможности для централизованного контроля версий с высокой производительностью.
6. Bazaar (bzr)
Тип: Распределённая система контроля версий.
Особенности:
• Разработана компанией Canonical (создатель Ubuntu) для работы с проектами с открытым исходным кодом.
• Поддерживает как распределённый, так и централизованный режим работы.
• Хотя она менее популярна, чем Git, её можно интегрировать с другими системами контроля версий.
7. Fossil
Тип: Распределённая система контроля версий.
Особенности:
• Меньше известна, но обладает встроенной поддержкой веб-интерфейса, отслеживания ошибок, обсуждений и управления проектом.
• Простота и гибкость делают её интересной для небольших проектов и команд.
7 722
Обучение на Frontend-разработчика. С нуля за 9 месяцев.
На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика.
Персональный наставник middle/senior уровня.
14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования.
Освоите JavaScript, React, TypeScript
Официальный диплом и сертификат школы.
Поддержка наставника по JS в течение 3-х месяцев после диплома.
Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14
С 9 по 30 ноября 2024 г. скидка 40% на все программы Result School
Узнать больше
#реклама 16+
result.school
О рекламодателе
7 722
7. Проверка строки на наличие только цифр
Регулярное выражение:
^\d+$
Объяснение:
• ^ — начало строки.
• \d+ — одна или более цифр.
• $ — конец строки.
Пример:
let regex = /^\d+$/;
let str = "12345";
console.log(regex.test(str)); // true
8. Поиск всех URL в тексте
Регулярное выражение: \bhttps?:\/\/\S+\b
Объяснение:
• https? — соответствует "http" или "https".
• :\/\/ — соответствует "://".
• \S+ — соответствует одному или более не пробельным символам (весь URL).
Пример:
let regex = /\bhttps?:\/\/\S+\b/g;
let text = "Посетите сайт https://example.com или http://test.com";
console.log(text.match(regex)); // ["https://example.com", "http://test.com"]7 722
Москвич 3 – надежно для вас и ваших увлечений
Современный городской кроссовер Москвич 3. Ежемесячный платеж 17 500 рублей.
Подробности уточняйте на официальном сайте moskvich.ru.
Перейти на сайт
Финансовые услуги оказывает: АО "Авто Финанс Банк", ПАО "Совкомбанк".
#реклама
moskvich.ru
О рекламодателе
7 722
4. Замена всех пробелов на дефисы
Регулярное выражение:
\s+
Объяснение:
• \s — соответствует любому пробельному символу (пробел, табуляция, новая строка и т.д.).
• + — означает "один или более".
Пример:
let regex = /\s+/g;
let text = "Этот текст с пробелами";
let result = text.replace(regex, "-");
console.log(result); // "Этот-текст-с-пробелами"
5. Проверка строки на пустое значение
Регулярное выражение: ^\s*$
Объяснение:
• ^ — начало строки.
• \s* — соответствует нулю или более пробельным символам.
• $ — конец строки.
Пример:
let regex = /^\s*$/;
let str = " "; // строка из пробелов
console.log(regex.test(str)); // true
6. Поиск даты в формате "дд/мм/гггг"
Регулярное выражение: \b\d{2}/\d{2}/\d{4}\b
Объяснение:
• \b — граница слова.
• \d{2} — точно 2 цифры (для дня и месяца).
• / — слэш между числами.
• \d{4} — точно 4 цифры для года.
• \b — граница слова.
Пример:
let regex = /\b\d{2}\/\d{2}\/\d{4}\b/;
let str = "Дата рождения: 25/12/1999.";
console.log(str.match(regex)); // ["25/12/1999"]7 722
Основы Java-разработки с наставником со скидкой 50%
Да, быть разработчиком непросто. Но нет ничего невозможного, если у вас есть желание разобраться🎓
А если не уверены, что именно язык Java «ваш», то добро пожаловать на подготовительный курс «Java-разработчик» от онлайн-школы Хекслет.
Практика с первого дня обучения, 4 живых стрима, помощь наставника, 62 онлайн-урока, собственный проект по окончании программы – и все это даже при нулевом уровне подготовки.
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 495 рублей по промокоду JAVA!) – гарантируем.
На все это вам будет отведено 2 недели и 1 наставник-эксперт, который поможет справиться с трудностями.
📅Cтарт уже 10 декабря, так что свмое время зарегистрироваться!
Зарегистрироваться
#реклама 16+
pre.hexlet.io
О рекламодателе
7 722
Несколько примеров регулярных выражений (RegExp) для различных задач:
1. Поиск чисел в строке
Регулярное выражение:
\d+
Объяснение: \d означает "цифра", а + — означает "одна или более цифры".
Пример:
let regex = /\d+/;
let str = "В этом тексте есть числа 123 и 456.";
console.log(str.match(regex)); // ["123"]
Это регулярное выражение найдет первое число в строке.
2. Поиск адреса электронной почты
Регулярное выражение: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Объяснение:
• ^ и $ означают начало и конец строки соответственно.
• [a-zA-Z0-9._%+-] соответствует допустимым символам в части до знака @.
• [a-zA-Z0-9.-] соответствует символам в доменной части (после знака @).
• \. соответствует точке (не забудьте экранировать точку).
• {2,} — обозначает, что доменная зона (например, .com) должна состоять как минимум из двух символов.
Пример:
let regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
let email = "example@domain.com";
console.log(regex.test(email)); // true
3. Поиск всех слов, начинающихся с буквы "a" (или "A")
Регулярное выражение: \b[aA]\w*\b
Объяснение:
• \b — граница слова.
• [aA] — соответствует либо букве "a", либо "A".
• \w* — соответствует нулю или более буквенно-цифровым символам.
• \b — снова граница слова.
Пример:
let regex = /\b[aA]\w*\b/g;
let text = "Апельсин и ананас - оба фрукты.";
console.log(text.match(regex)); // ["Апельсин", "ананас"]7 722
Erid: 2VtzqubHjSF
⚡️Всероссийский Хакатон ФИЦ 2024
🚀Попробуйте себя в одном из предложенных кейсов:
Кейс №2. Выявление трендов в сфере бухгалтерского учета, поиск «болей» бухгалтера: разработать алгоритм для поиска новых трендов и проблем бухгалтера.
Кейс №8. Формирование фото и видео контента с использованием нейросетей на основе биографии и фото персоны.
Кейс №10. Цифровая карта подземных коммуникаций с использованием Cesium.
Кейс №12. Цифровой сервис для ведения реестра зеленых насаждений города Москвы.
Кейс №17. Стартовый (профилактический) комплаенс: предотвращение рисков с помощью AI.
Кейс №19. Parallax-scroll лендинг для сайта Insidium.
И другие 19 кейсов смотрите на сайте: https://фиц2024.рф/hackathon
Хакатон пройдет в 2 этапа: Отборочный этап в Онлайн, Финал в Офлайн.
🏆Призовой фонд: 6 000 000 руб.
🔥Дедлайн регистрации: 28 ноября, 23:59
📅Даты отборочного этапа: 29 ноября - 2 декабря
🦾Даты финала: 3 - 4 декабря
Зарегистрируйтесь для участия в хакатоне: https://фиц2024.рф/hackathon
Реклама: ООО «Акселератор Возможностей» ИНН: 9704005146
