Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.
User
Выгорание программиста. Интересная работа — самая опасная
Среди айтишников мало жизнерадостных людей… Скорее наоборот, многие выглядят несчастными, а если провести анкетирование, то 83% проявляют признаки выгорания, хотя до крайней степени истощения и цинизма ещё не дошли. Но постоянная когнитивная нагрузка и хронический стресс ведут к закономерному результату:
- выгорание,
- физическая деградация,
- депрессия,
- ранний уход из профессии.
Все эти последствия хорошо предсказуемы. Поэтому их можно предотвратить.
Playwright и Puppeteer в 2023 году: что выбрать
Дебаты по поводу выбора между Playwright и Puppeteer — это большая дискуссия, поскольку они обе являются фантастическими библиотеками Node.js для автоматизации браузера. Хотя эти библиотеки делают практически одно и то же, между Puppeteer и Playwright есть несколько заметных различий.
Топ полезных SQL-запросов для PostgreSQL
Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.
Является ли психология наукой и есть ли сознание у кошки
В прошлый вторник у нас выступала Ира Овчинникова — научная сотрудница Лаборатории междисциплинарных исследований развития человека СПбГУ, ассистентка-исследовательца в University of Houston.
Большую часть времени на работе Ира исследует, как опыт раннего детства влияет на языковое развитие и как это отражается в мозговой активности, а также занимается изучением расстройств развития.
Делимся с вами записью и расшифровкой эфира.
Меня зовут Ира Овчинникова, я – научный сотрудник Лаборатории междисциплинарных исследований развития человека в СПБГУ. Еще я пишу диссертацию в университет Хьюстона, поэтому я сейчас в Хьюстоне, на 9 часов назад от Москвы, и у меня сейчас где-то середина дня.
Q: психология – это наука?
Это нормальный вопрос, которым задаются все. И студенты психфака, и люди, которые занимаются психологией.
Ответ простой: все то, что соответствует критериям научности и маркируется как наука – это наука. В 30-х годах прошлого века Карл Поппер ввел критерий фальсифицируемости теорий: то есть, любая теория может считаться научной, если ее можно опровергнуть какими-либо фактами, экспериментами на эмпирическом материале. Проблема психологии здесь очевидна: теория будет связана с общими понятиями, которые являются абстрактными, но материальный мир – он здесь и сейчас.
Светодиодные лампы IKEA TRÅDFRI и умный дом Xiaomi
Для управления этими лампами можно использовать zigbee-шлюзы умного дома Xiaomi.
О сложностях мониторинга работающих процессов в Linux
Давайте, прежде чем приступить к экспериментам, определим требования к системе наблюдения за процессами:
- Логироваться должны сведения обо всех процессах, даже о короткоживущих.
- У нас должны быть сведения о полном пути к исполняемому файлу для всех запущенных процессов.
- У нас, в пределах разумного, не должно возникать необходимости в модификации или перекомпиляции нашего кода для разных версий ядра.
- Дополнительное требование: если хост-система является узлом Kubernetes или использует Docker, то у нас должна быть возможность определить то, к какому именно поду/контейнеру принадлежит процесс. Для этого обычно достаточно знать
cgroup ID
процесса. Дело в том, что с точки зрения ядра нет такого понятия, как «контейнер» или «идентификатор контейнера». Ядро оперирует лишь такими понятиями, как «контрольные группы», «сетевые пространства имён», «пространства имён процессов», оно работает с различными независимыми API, с помощью которых средства контейнеризации вроде Docker реализуют механизмы контейнеризации. Если попытаться идентифицировать контейнеры посредством ID уровня ядра, нужен уникальный идентификатор контейнера. В случае с Docker данному требованию удовлетворяют идентификаторы контрольных групп.
Поговорим об обычных API Linux, которые могут помочь в решении этой задачи. Мы, чтобы не усложнять повествование, уделим особое внимание процессам, создаваемым с помощью системных вызовов
execve
. Если же говорить о более полном решении задачи, то при его реализации нужно, кроме того, мониторить процессы, созданные с помощью системных вызовов fork/clone
и их вариантов, а так же — результаты работы вызовов execveat
.Распространенные ошибки безопасности в приложениях Laravel
В большинстве случаев уязвимости безопасности возникают только из-за недостаточной осведомленности, а не из-за халатности. Хотя мы обнаружили, что большинство разработчиков заботятся о безопасности, но иногда они не понимают, как конкретный шаблон кода может привести к уязвимости, поэтому в электронной книге мы решили поделиться наиболее распространенными проблемами безопасности, которые мы видели во время помощи разным стартапам в защите своих приложений Laravel. С каждым примером атаки мы также покажем лучшие практики по защите вашего приложения от атак. Мы надеемся, что эта информация окажется полезной для вас и вашей команды разработчиков.
CyberPanda Team
Понимаем планы PostgreSQL-запросов еще удобнее
За прошедшие месяцы мы сделали про него доклад на PGConf.Russia 2020, подготовили обобщающую статью по ускорению SQL-запросов на основе рекомендаций, которые он выдает… но самое главное — собирали ваши отзывы и смотрели за реальными use case.
И теперь готовы рассказать о новых возможностях, которыми вы можете пользоваться.
Данные всех стран, не объединяйтесь
Давайте отключим vacuum?! Алексей Лесовский
Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!"
Примечание редактора: Любые рекомендации по изменению параметров всегда стоит сравнивать в других докладах
Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum
(далее по тексту просто "вакуум"). По опыту, многие наступают на эти грабли, и мне с коллегам по Data Egret нередко приходится разгребать последствия, так как потом всё становится ещё хуже. Но если обратить внимание на сам вакуум, то, пожалуй, нет такого человека, который бы использовал Postgres, и при этом ничего не знал про него. Ведь история вакуума начинается относительно давно, и в интернете можно найти массу как старых, так и новых постов про вакуум, объемные дискуссии в списках рассылки. Несмотря на то, что тема вакуума подробно описана в официальной документации к PostgreSQL, новые посты и новые дискуссии будут появляться и дальше. Возможно, поэтому с вакуумом связано очень много мифов, баек, страшилок и заблуждений. Между тем, вакуум является одним из важнейших компонентов PostgreSQL, и его работа напрямую сказывается на производительности. В одном докладе невозможно рассказать про вакуум абсолютно всё, но я бы хотел раскрыть ключевые моменты, связанные с вакуумом, такие как его внутреннее устройство, основные подходы к его настройке, наблюдение за производительностью, мониторинг, и что делать в случае, когда вакуум — главный подозреваемый во всех бедах. Ну и, конечно же, хочется развеять распространенные мифы и заблуждения, связанные с вакуумом.
Карманное руководство по Z3
Преамбула
"Человеческий мозг это пустой чердак. Дурак так и делает: тащит туда нужное и не нужное. И наконец наступает момент, когда самую необходимую вещь туда не запихнешь, или наоборот не достанешь..."
В.Б. Ливанов (из к/ф "Шерлок Холмс и доктор Ватсон")
Данное руководство не охватывает весь функционал SMT решателя. Оно написано для таких ситуаций, когда человеку срочно нужно вспомнить, подсмотреть как реализовать ту или иную его идею, не тратя много времени на поиск информации, отладку и т.д. Иными словами это руководство — шпаргалка, затрагивающая лишь часто применяемое.
Рецепты для хворающих SQL-запросов
За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подсказки, которые выглядят примерно так:
Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)
А если серьезно, то многие ситуации, которые делают запрос медленным и «прожорливым» по ресурсам, типичны и могут быть распознаны по структуре и данным плана.
В этом случае каждому отдельному разработчику не придется искать вариант оптимизации самостоятельно, опираясь исключительно на свой опыт — мы можем ему подсказать, что тут происходит, в чем может быть причина, и как можно подойти к решению. Что мы и сделали.
Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
10 интересных репозиториев на GitHub, полезных любому разработчику
Фото с ресурса Unsplash. Автор: Vishnu R Nair
GitHub — это лучшая платформа для обмена фреймворками, библиотеками и техническими решениями. Однако найти среди этого многообразия действительно полезные репозитории сложно. Поэтому я решил составить список из десяти интересных репозиториев, которые, на мой взгляд, пригодятся любому разработчику.
Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Подборка книг о кибербезопасности: как провести пентест и что противопоставить социальной инженерии
Похек Wi-Fi встроенными средствами macOS
TL;DR Встроенные средства macOS позволяют выполнить некоторые атаки на Wi-Fi-сети. В статье описывается, как с помощью встроенного в Macbook Wi-Fi адаптера AirPort и macOS похекать Wi-Fi.
Обычно для аудита безопасности Wi-Fi-сетей используется классическая связка: виртуалка с Kali Linux + внешний USB адаптер типа Alfa AWU-blabla1337. Но оказывается, что с помощью macOS и встроенного адаптера Broadcom тоже можно делать грязь.
Содержимое статьи:
- Мониторный режим на встроенном адаптере
- Расшифровываем WPA трафик
- Ловим хендшейки и PMKID
- Собираем под макось пацанские тулзы: hcxtools, hashcat, bettercap
- Брутим хеши на онлайн-фермах и локально
Вышел PHP 7.4! Нюансы перехода на новую версию
Его новые фичи уже были многократно описаны, в том числе и на Хабре. Это стрелочные функции, типизированные свойства классов и ещё много всякого синтаксического сахара. Но больше всего мы ждали новый релиз из-за производительности: в версии 7.4 не только появился preload, но и сам PHP стал значительно быстрее.
Плохая (или хорошая?) новость — с выходом PHP 7.4 прекращается активная поддержка PHP 7.2. Его последний релиз запланирован на середину декабря. Мы давно проводим эксперименты с PHP 7.4, а недавно активно занялись переходом на него, так как сейчас мы на уже почти не поддерживаемой версии 7.2.
Поздравляю всех с долгожданным релизом! А ниже расскажу немного о том, как мы переходим на новую версию.
Курс по C++ в CS центре, первая часть
Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.
Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.
Первая часть курса нужна, чтобы нарастить базу по С++: к концу семестра студенты с большой вероятностью получат достаточно навыков программирования на этом языке для решения своих задач. Пока без move semantics, sfinae, но для начала этого, скорее всего, будет достаточно.
Студентам с опытом использования С++ эта часть поможет закрыть пробелы. Например, в линковке, работе с памятью, лямбда-функциях и других темах. В лекциях будут представлены как ретроспектива устоявшихся практик, так и обзор возможностей, которые предоставляют последние стандарты языка. Курс построен так, чтобы студенты разного уровня могли найти в нём новый для себя материал.
Приятного просмотра!
Как получить NextGen Firewall себе домой абсолютно бесплатно
Всем привет! Сегодня речь пойдет о том, как получить продукт энтерпрайз класса с полным функционалом себе домой абсолютно бесплатно.
Для дома я использую следующие функции:
- фильтрую веб-трафик домашних пользователей (современный интернет даже при легитимном использовании может быть коварным для домашних);
- организую связь между квартирами и дачей (это позволяет гнать multicast поток фильма в 4К с minidlna сервера через VPN туннель на телевизор в другой квартире (UpLink’и по 100 Мбит))
- защищаю локальный сервер Nextcloud с помощью WAF
Интересно? Тогда добро пожаловать под кат.
Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров
В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity