Pull to refresh
1
0
Дмитрий Павлов @dsp25no

User

Send message

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Views122K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее
Total votes 42: ↑41 and ↓1+65
Comments25

Выгорание программиста. Интересная работа — самая опасная

Level of difficultyEasy
Reading time7 min
Views29K

Среди айтишников мало жизнерадостных людей… Скорее наоборот, многие выглядят несчастными, а если провести анкетирование, то 83% проявляют признаки выгорания, хотя до крайней степени истощения и цинизма ещё не дошли. Но постоянная когнитивная нагрузка и хронический стресс ведут к закономерному результату:

  • выгорание,
  • физическая деградация,
  • депрессия,
  • ранний уход из профессии.

Все эти последствия хорошо предсказуемы. Поэтому их можно предотвратить.
Читать дальше →
Total votes 64: ↑58 and ↓6+71
Comments173

Playwright и Puppeteer в 2023 году: что выбрать

Level of difficultyEasy
Reading time11 min
Views8.3K

Дебаты по поводу выбора между Playwright и Puppeteer — это большая дискуссия, поскольку они обе являются фантастическими библиотеками Node.js для автоматизации браузера. Хотя эти библиотеки делают практически одно и то же, между Puppeteer и Playwright есть несколько заметных различий.

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

Топ полезных SQL-запросов для PostgreSQL

Reading time7 min
Views97K

Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.

Читать далее
Total votes 70: ↑68 and ↓2+78
Comments16

Является ли психология наукой и есть ли сознание у кошки

Reading time15 min
Views32K

В прошлый вторник у нас выступала Ира Овчинникова — научная сотрудница Лаборатории междисциплинарных исследований развития человека СПбГУ, ассистентка-исследовательца в University of Houston.

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

Делимся с вами записью и расшифровкой эфира.



Меня зовут Ира Овчинникова, я – научный сотрудник Лаборатории междисциплинарных исследований развития человека в СПБГУ. Еще я пишу диссертацию в университет Хьюстона, поэтому я сейчас в Хьюстоне, на 9 часов назад от Москвы, и у меня сейчас где-то середина дня.

Q: психология – это наука?


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

Ответ простой: все то, что соответствует критериям научности и маркируется как наука – это наука. В 30-х годах прошлого века Карл Поппер ввел критерий фальсифицируемости теорий: то есть, любая теория может считаться научной, если ее можно опровергнуть какими-либо фактами, экспериментами на эмпирическом материале. Проблема психологии здесь очевидна: теория будет связана с общими понятиями, которые являются абстрактными, но материальный мир – он здесь и сейчас.
Total votes 35: ↑24 and ↓11+30
Comments143

Светодиодные лампы IKEA TRÅDFRI и умный дом Xiaomi

Reading time2 min
Views35K
В этом году в российских магазинах IKEA появились умные светодиодные лампы TRÅDFRI (Тродфри), управляемые по протоколу Zigbee.

Для управления этими лампами можно использовать zigbee-шлюзы умного дома Xiaomi.

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

О сложностях мониторинга работающих процессов в Linux

Reading time9 min
Views11K
Все знают о том, как наблюдать за работающими процессами в Linux-системе. Но почти никто не добивается в подобных наблюдениях высокой точности. На самом деле, всем методам мониторинга процессов, о которых пойдёт речь в этом материале, чего-то не хватает.



Давайте, прежде чем приступить к экспериментам, определим требования к системе наблюдения за процессами:

  1. Логироваться должны сведения обо всех процессах, даже о короткоживущих.
  2. У нас должны быть сведения о полном пути к исполняемому файлу для всех запущенных процессов.
  3. У нас, в пределах разумного, не должно возникать необходимости в модификации или перекомпиляции нашего кода для разных версий ядра.
  4. Дополнительное требование: если хост-система является узлом Kubernetes или использует Docker, то у нас должна быть возможность определить то, к какому именно поду/контейнеру принадлежит процесс. Для этого обычно достаточно знать cgroup ID процесса. Дело в том, что с точки зрения ядра нет такого понятия, как «контейнер» или «идентификатор контейнера». Ядро оперирует лишь такими понятиями, как «контрольные группы», «сетевые пространства имён», «пространства имён процессов», оно работает с различными независимыми API, с помощью которых средства контейнеризации вроде Docker реализуют механизмы контейнеризации. Если попытаться идентифицировать контейнеры посредством ID уровня ядра, нужен уникальный идентификатор контейнера. В случае с Docker данному требованию удовлетворяют идентификаторы контрольных групп.

Поговорим об обычных API Linux, которые могут помочь в решении этой задачи. Мы, чтобы не усложнять повествование, уделим особое внимание процессам, создаваемым с помощью системных вызовов execve. Если же говорить о более полном решении задачи, то при его реализации нужно, кроме того, мониторить процессы, созданные с помощью системных вызовов fork/clone и их вариантов, а так же — результаты работы вызовов execveat.
Читать дальше →
Total votes 24: ↑22 and ↓2+33
Comments0

Распространенные ошибки безопасности в приложениях Laravel

Reading time14 min
Views19K

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

CyberPanda Team

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

Понимаем планы PostgreSQL-запросов еще удобнее

Reading time4 min
Views18K
Полгода назад мы представили explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL.



За прошедшие месяцы мы сделали про него доклад на PGConf.Russia 2020, подготовили обобщающую статью по ускорению SQL-запросов на основе рекомендаций, которые он выдает… но самое главное — собирали ваши отзывы и смотрели за реальными use case.

И теперь готовы рассказать о новых возможностях, которыми вы можете пользоваться.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments10

Данные всех стран, не объединяйтесь

Reading time4 min
Views21K
Радует, когда на диаграмме кроме новых созвездий находится нечто похожее на зависимость. В таком случае мы строим модель, которая хорошо объясняет связь между двумя переменными. Но исследователь должен понимать не только, как работать с данными, но и какая история из реального мира за ними лежит. В противном случае легко сделать ошибку. Расскажу о парадоксе Симпсона — одном из самых опасных примеров обманчивых данных, который может перевернуть связь с ног на голову.
Читать дальше →
Total votes 109: ↑109 and ↓0+109
Comments10

Давайте отключим vacuum?! Алексей Лесовский

Reading time20 min
Views27K

Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!"


Примечание редактора: Любые рекомендации по изменению параметров всегда стоит сравнивать в других докладах


Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на эти грабли, и мне с коллегам по Data Egret нередко приходится разгребать последствия, так как потом всё становится ещё хуже. Но если обратить внимание на сам вакуум, то, пожалуй, нет такого человека, который бы использовал Postgres, и при этом ничего не знал про него. Ведь история вакуума начинается относительно давно, и в интернете можно найти массу как старых, так и новых постов про вакуум, объемные дискуссии в списках рассылки. Несмотря на то, что тема вакуума подробно описана в официальной документации к PostgreSQL, новые посты и новые дискуссии будут появляться и дальше. Возможно, поэтому с вакуумом связано очень много мифов, баек, страшилок и заблуждений. Между тем, вакуум является одним из важнейших компонентов PostgreSQL, и его работа напрямую сказывается на производительности. В одном докладе невозможно рассказать про вакуум абсолютно всё, но я бы хотел раскрыть ключевые моменты, связанные с вакуумом, такие как его внутреннее устройство, основные подходы к его настройке, наблюдение за производительностью, мониторинг, и что делать в случае, когда вакуум — главный подозреваемый во всех бедах. Ну и, конечно же, хочется развеять распространенные мифы и заблуждения, связанные с вакуумом.


Total votes 31: ↑31 and ↓0+31
Comments14

Карманное руководство по Z3

Reading time3 min
Views9.4K

Преамбула


image


"Человеческий мозг это пустой чердак. Дурак так и делает: тащит туда нужное и не нужное. И наконец наступает момент, когда самую необходимую вещь туда не запихнешь, или наоборот не достанешь..."

В.Б. Ливанов (из к/ф "Шерлок Холмс и доктор Ватсон")

Данное руководство не охватывает весь функционал SMT решателя. Оно написано для таких ситуаций, когда человеку срочно нужно вспомнить, подсмотреть как реализовать ту или иную его идею, не тратя много времени на поиск информации, отладку и т.д. Иными словами это руководство — шпаргалка, затрагивающая лишь часто применяемое.

Читать дальше
Total votes 9: ↑7 and ↓2+12
Comments3

Рецепты для хворающих SQL-запросов

Reading time7 min
Views59K
Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL.

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



Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)

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

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



Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
Total votes 23: ↑23 and ↓0+23
Comments28

10 интересных репозиториев на GitHub, полезных любому разработчику

Reading time4 min
Views83K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Total votes 69: ↑64 and ↓5+78
Comments14

Подборка книг о кибербезопасности: как провести пентест и что противопоставить социальной инженерии

Reading time4 min
Views22K
Книги из списка вышли в 2018–2019 году. Их рекомендуют на Hacker News и Reddit. Под катом — рассказы о тонкостях работы хакеров, размышления президента Microsoft о перспективах и рисках в ИТ, а также советы по пентестированию от специалиста, работавшего с DARPA, NSA и DIA.

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

Похек Wi-Fi встроенными средствами macOS

Reading time13 min
Views66K


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
  • Брутим хеши на онлайн-фермах и локально

Йоу, камон мазафака
Total votes 45: ↑44 and ↓1+60
Comments29

Вышел PHP 7.4! Нюансы перехода на новую версию

Reading time4 min
Views27K
Сегодня, наконец, опубликован релиз PHP 7.4!


Его новые фичи уже были многократно описаны, в том числе и на Хабре. Это стрелочные функции, типизированные свойства классов и ещё много всякого синтаксического сахара. Но больше всего мы ждали новый релиз из-за производительности: в версии 7.4 не только появился preload, но и сам PHP стал значительно быстрее.

Плохая (или хорошая?) новость — с выходом PHP 7.4 прекращается активная поддержка PHP 7.2. Его последний релиз запланирован на середину декабря. Мы давно проводим эксперименты с PHP 7.4, а недавно активно занялись переходом на него, так как сейчас мы на уже почти не поддерживаемой версии 7.2.

Поздравляю всех с долгожданным релизом! А ниже расскажу немного о том, как мы переходим на новую версию.
Читать дальше →
Total votes 104: ↑102 and ↓2+100
Comments27

Курс по C++ в CS центре, первая часть

Reading time3 min
Views26K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.

Первая часть курса нужна, чтобы нарастить базу по С++: к концу семестра студенты с большой вероятностью получат достаточно навыков программирования на этом языке для решения своих задач. Пока без move semantics, sfinae, но для начала этого, скорее всего, будет достаточно.

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

Приятного просмотра!
Смотреть видео
Total votes 20: ↑20 and ↓0+20
Comments5

Как получить NextGen Firewall себе домой абсолютно бесплатно

Reading time4 min
Views16K


Всем привет! Сегодня речь пойдет о том, как получить продукт энтерпрайз класса с полным функционалом себе домой абсолютно бесплатно.
Для дома я использую следующие функции:

  • фильтрую веб-трафик домашних пользователей (современный интернет даже при легитимном использовании может быть коварным для домашних);
  • организую связь между квартирами и дачей (это позволяет гнать multicast поток фильма в 4К с minidlna сервера через VPN туннель на телевизор в другой квартире (UpLink’и по 100 Мбит))
  • защищаю локальный сервер Nextcloud с помощью WAF

Интересно? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments41

Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров

Reading time14 min
Views98K
Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.



В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments11

Information

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