Pull to refresh
16
0
Денис @den_admin

User

Send message

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficulty Medium
Reading time 33 min
Views 88K

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 216: ↑214 and ↓2 +212
Comments 77

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficulty Easy
Reading time 8 min
Views 180K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Total votes 191: ↑184 and ↓7 +177
Comments 177

Через тернии к звёздам или LILYGO TTGO T-Internet-POE ESP32 LAN8720A

Reading time 13 min
Views 29K
image
Попалась мне на глаза плата LILYGO TTGO T-Internet-POE ESP32 LAN8720A и конечно я не мог пройти мимо такой интересной новинки: ESP32, LAN8720A, POE, SD карта, Wi-Fi+Ethernet… Было интересно пощупать это произведение сумрачного китайского гения своими руками и протестировать в реальной работе, ведь TTX платы сулили очень интересные перспективы для использования в IoT, DIY и вообще в области «Wi-Fi+Ethernet и на что фантазии хватит».

Но, как всегда, путь от рекламных проспектов на сайтах продавцов и производителя до запуска платы и проведения на ней тестов оказался очень непростым и тернистым. Далее предлагаю вашему вниманию отчёт о моих увлекательных изысканиях по этой теме.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 33

11 языков программирования для DevOps и их применение

Reading time 17 min
Views 22K

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

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

Изучаем пешку (часть 5)

Reading time 9 min
Views 24K

Давно не писал продолжения курса преподавания шахмат, но на то были объективные причины - переезд в другую страну, 2020-2021 годы "дружбы с Ковидом", осмысление онлайна в педагогических шахматах... Поэтому эта статья будет состоять из двух частей - про пешку и про онлайн преподавание шахмат. Разбивать на две статьи смысла не вижу, поэтому постараюсь написать покороче и не так занудно. Ах да, будет еще заключение в виде планов :)

Надеюсь будет интересно выполнить некоторые задания даже тебе читатель.

К статье о Пешке
Total votes 23: ↑21 and ↓2 +19
Comments 34

React: разрабатываем хук для загрузки дополнительных данных

Reading time 9 min
Views 8.7K


Привет, друзья!


В этой статье я хочу поделиться с вами опытом разработки хука для загрузки дополнительных данных (авось кому-нибудь пригодится).


На самом деле, хуков будет целых 2 штуки:


  • useLoadMore — для загрузки дополнительных данных при нажатии кнопки "Загрузить еще"
  • useLoadPage — для постраничной загрузки данных (аля пагинация на основе курсора)

Первый хук попроще, второй посложнее.


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

Читать дальше →
Total votes 3: ↑2 and ↓1 +1
Comments 9

Как настроить Apollo для работы с GraphQL в Android

Reading time 5 min
Views 7.5K

Зачем статья


Недавно у меня появилась необходимость реализовать работу с бэком на GraphQL. Туториалов по настройке на Android, в отличие от REST не так много и большинство из них уже не совсем актуальны.

Что такое GraphQL


GraphQL — модная альтернатива REST API, которая позволяет запрашивать данные более оптимизированным способом, отдавая только нужные вам данные.

Настройка окружения


Делать запросы к серверу мы будем через Apollo — самая популярная библиотека для работы с GraphQL на данный момент.

Приступим к работе. Первым делом давайте добавим в манифест нужные разрешения для работы с сетью:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Далее необходимо подключить apollo. Идём в основной build.gradle и в разделе dependencies добавляем следующую строчку:

classpath 'com.apollographql.apollo:apollo-gradle-plugin:2.0.0'

Теперь необходимо в файле build.gradle модуля app подключить дополнительные зависимости:

implementation("com.apollographql.apollo:apollo-runtime:2.0.0")
implementation "com.apollographql.apollo:apollo-android-support:2.0.0"

Кроме того, в самый верх файла добавим подключение плагина:

apply plugin: 'com.apollographql.apollo'

После того, как проект синхронизировался, нам нужно настроить кодогенерацию моделей, с помощью которых мы будем делать запросы к GraphQL.

Свернем среду разработки и откроем терминал. Переходим в папку с вашим проектом:
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 1

Асинхронность в программировании

Reading time 26 min
Views 90K

В области разработки высоконагруженных многопоточных или распределенных приложений часто возникают дискуссии об асинхронном программировании. Сегодня мы подробно погрузимся в асинхронность и изучим, что это такое, когда она возникает, как влияет на код и язык программирования, которым мы пользуемся. Разберемся, зачем нужны Futures и Promises и затронем корутины и операционные системы. Это сделает компромиссы, возникающие во время разработки ПО, более явными.


В основе материала — расшифровка доклада Ивана Пузыревского, преподавателя школы анализа данных Яндекса.


Читать дальше →
Total votes 71: ↑67 and ↓4 +63
Comments 70

Пишем Reverse socks5 proxy на powershell.Часть 2

Reading time 11 min
Views 3.5K
История об исследовании и разработке в 3-х частях. Часть 2 — разработческая.
Буков много — пользы еще больше.

В первой части статьи мы познакомились с некоторым инструментарием по организации обратных туннелей, посмотрели на их преимущества и недостатки, изучили механизм работы Yamux мультиплексора и описали основные требования к вновь создаваемому powershell-модулю. Настало время заняться разработкой клиентского powershell модуля к уже готовой реализации обратного туннеля RSocksTun.

Прежде всего, нам необходимо понять, в каком режиме будет работать наш модуль. Очевидно, что для прима-передачи данных нам необходимо будет использовать механизм windows сокетов и предоставляемые .Net возможности по потоковому чтению-записи в сокеты. Но, с другой стороны, т.к. наш модуль должен обслуживать несколько yamux-стримов одновременно, то все операции ввода-вывода не должны полностью блокировать выполнение нашей программы. Отсюда напрашивается вывод о том, что наш модуль должен использовать программную многопоточность и выполнять операции чтения-записи с yamux-сервером, а так же операции чтения-записи к серверам назначения в разных программных потоках. Ну и само собой необходимо предусмотреть механизм взаимодействия между нашими параллельными потоками. Благо, powershell предоставляет широкие возможности по запуску и управлению программными потоками.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 2

Пишем Reverse socks5 proxy на powershell.Часть 1

Reading time 6 min
Views 7.6K
История об исследовании и разработке в 3-х частях. Часть 1 — исследовательская.
Буков много — пользы еще больше.

Постановка задачи


В ходе проведения пентестов и RedTeam кампаний не всегда удается воспользоваться штатными средствами Заказчиков, такими как VPN, RDP, Citrix и т.д. в качестве закрепления для захода во внутреннюю сеть. Где-то штатный VPN работает по MFA и в качестве второго фактора используется железный токен, где-то он жестоко мониторится и наш вход по VPN сразу же становится виден, как говорится — со всеми вытекающими, а где-то таких средств попросту нет.

В подобных случаях постоянно приходится делать так называемые «обратные туннели» — соединения из внутренней сети к внешнему ресурсу или контролируемому нами серверу. Внутри такого туннеля мы уже можем работать с внутренними ресурсами Заказчиков.

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

Конечно же, со своей стороны разработчики защитных решений не стоят в стороне и активно детектируют подобные действия.

К примеру, MSF-сессии успешно детектируются современными IPS от Cisco или Positive Tech, а обратный SSH- туннель можно задетектить практически любым мало-мальским нормальным файерволлом.

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

Давайте попробуем найти или изобрести нечто подобное.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 0

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity