Pull to refresh
0
0

Senior Software Engineer

Send message

Внедряем Brotli с помощью Nginx — экономим байты почти бесплатно

Reading time5 min
Views44K
Эта статья пригодится всем, кто неравнодушен к скорости доставки своего веб-приложения пользователю и хочет выжать дополнительные миллисекунды и килобайты экономии.


Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments4

Webpack 4 и разделение конфигурационного файла на модули

Reading time3 min
Views19K
Привет, Хабр! Сегодня я расскажу вам о Webpack 4 с разделением кода на отдельные модули, а также о интересных решениях, которые помогут вам быстрее собрать сборку на webpack 4. В конце, я предоставлю свою базовую сборку на webpack c самыми необходимыми инструментами, которую вы в последствие сможете расширить. Данная сборка вам поможет понять данный материал, а также возможно поможет быстрее написать свою реализацию и быстрее решить возможные проблемы.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments11

Гори, но не сгорай: что такое эмоциональное выгорание и как с ним бороться

Reading time7 min
Views30K

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

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

А как хорошо всё начиналось…

Читать далее
Total votes 19: ↑9 and ↓10+5
Comments31

Как пилить стартап с хакатона в свободное время

Reading time10 min
Views3.5K

Вы знаете, что такое линия Кармана? Я вот не знал, пока не вступил в команду с таким названием. Команду на финале хакатона Цифровой прорыв 2019, на котором нам удалось одержать победу по треку Минздрава. Про этот самый финал написано не менее десятка статей, а я хотел бы рассказать, что было с нами после, и поделиться парой лайвхаков, как не забросить проект и не растерять команду.

И как же?
Total votes 8: ↑8 and ↓0+8
Comments8

Удалённая разработка в VS Code: ваша жизнь никогда не будет прежней

Reading time3 min
Views67K

У нас в TestMace Visual Studio Code является одним из самых популярных инструментов. И тем более отрадно, что он развивается семимильными шагами. Вашему вниманию предлагается перевод статьи об еще одной вкусной фиче, которая доступна пока только в VS Code Insiders.


Согласен, немного переборщил с заголовком, просто меня переполняют эмоции. Я решил поделиться своими первыми впечатлениями от удалённой разработки в VS Code, на момент написания статьи доступной в VS Code Insiders.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments10

MVP: что это такое и как работает?

Reading time14 min
Views331K
Читая новости про проекты и сервисы, вы могли часто сталкиваться с понятием MVP. Но что скрывается под этой аббревиатурой и почему MVP так часто используют на начальных этапах развития продукта? Давайте прямо сейчас вместе разберемся в этом.

Что собой представляет MVP


image
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments3

Знакомимся с defer

Reading time2 min
Views10K

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

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

RxJS Challenge: Неделя 1

Reading time5 min
Views13K

Работая с Angular волей-неволей будешь использовать RxJS, ведь он лежит в основе фреймворка. Это очень мощный инструмент для обработки событий и не только. Однако далеко не каждый проект использует его по полной. Часто это просто запросы на бэк, нехитрые преобразования данных и подписка. Мы с Ромой очень любим RxJS и решили собрать несколько интересных кейсов из нашей практики. Мы сделали из этого что-то вроде челленджа на 20 задачек, которые мы предлагаем решить с помощью RxJS и попрактиковать свои навыки.

Каждая задачка будет иметь некий бойлерплейт, чтобы вам было просто начать. Под спойлером я положу ссылку на свое решение и небольшое пояснение к нему. В целом задачи будут идти от простого к сложному, а полное собрание с ответами и пояснениями на английском доступно на GitHub.

Решить челлендж!
Total votes 14: ↑14 and ↓0+14
Comments9

TypedAPI: клиент-сервер для TypeScript

Reading time5 min
Views2.8K


Предлагаю вашему вниманию TypedAPI: библиотеку API клиента-сервера для проектов, в которых фронт и бэк написаны на TypeScript. Акцент делается на максимальной простоте использования. Суть такая: вы пишете API как обычный TypeScript класс с некоторыми ограничениями, потом автоматом из класса строится интерфейс, которым будет пользоваться клиентское приложение. Также генерируется некоторая служебная информация. Остается только настроить коннекторы (доступны HTTP и WebSocket). Валидацию, хранение подключений, и др. берет на себя TypedAPI. Есть поддержка событий.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Еще один подход к построению архитектуры на фронте

Reading time11 min
Views9.3K

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

В рамках статьи я постараюсь просто рассмотреть и дать ответы на следующие темы:

что такое архитектура и почему она должна быть чистая;

как написать архитектуру, которая основана на сервисах;

пример построения архитектуры для приложения заметок;

интеграция архитектуры с реактом.

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments20

Полезные консольные Linux утилиты

Reading time13 min
Views116K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 96: ↑92 and ↓4+110
Comments110

Запрещаем говнокод, или полезные плагины для ESLint

Reading time4 min
Views60K

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


Сегодня я хочу затронуть тему ESLint'а, прекрасного инструмента для проверки JavaScript проектов на наличие ошибок.


Я не буду писать в этой статье об очевидных моментах, вроде настройки eslint'а для вашего проекта: надеюсь, вы сможете самостоятельно прочесть документацию по этой части и подключить его к себе. А здесь мы обсудим, какой дополнительный «обвес» можно подключить к изначальному инструменту и как его можно настроить, чтобы заставить работать его с наибольшей пользой для вас.

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments20

Продвинутые дженерики в TypeScript. Доклад Яндекса

Reading time14 min
Views17K
Дженерики, или параметризованные типы, позволяют писать более гибкие функции и интерфейсы. Чтобы зайти дальше, чем параметризация одним типом, нужно понять лишь несколько общих принципов составления дженериков — и TypeScript раскроется перед вами, как шкатулка с секретом. AlexandrNikolaichev объяснил, как не бояться вкладывать дженерики друг в друга и использовать автоматический вывод типов в ваших проектах.

— Всем привет, меня зовут Александр Николаичев. Я работаю в Yandex.Cloud фронтенд-разработчиком, занимаюсь внутренней инфраструктурой Яндекса. Сегодня расскажу об очень полезной вещи, без которой сложно представить современное приложение, особенно большого масштаба.
Читать дальше →
Total votes 7: ↑5 and ↓2+5
Comments1

А на прошлом месте работы было по-другому

Reading time9 min
Views6.6K

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

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

Читать далее
Total votes 14: ↑7 and ↓7+3
Comments1

Введение в GTK

Reading time4 min
Views135K
На ХабраХабре наконец-то появился новый блог, посвящённый GTK. Присоединяйтесь! :-)

Привет, %username%!

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

GTK+ — это фреймворк для создания кроссплатформенного графического интерфейса пользователя (GUI). Наряду с Qt он является одной из двух наиболее популярных на сегодняшний день библиотек для X Window System.

Изначально эта библиотека была частью графического редактора GIMP, но позже стала независимой и приобрела популярность. GTK+ — это свободное ПО, распространяемое на условиях GNU LGPL и позволяющее создавать как свободное, так и проприетарное программное обеспечение.


Читать дальше →
Total votes 72: ↑64 and ↓8+56
Comments68

Как я получил награду Facebook по баунти-программе дважды

Reading time8 min
Views6.1K

В марте 2020 года началась пандемия, поэтому у меня появилось множество свободного времени. Им нужно было распорядиться с умом, и я решил получить сертификат OSWE. Сдав 8 августа экзамен, я взял пару недель отдыха, а затем в середине сентября сказал сам себе: “Знаешь что? Моё имя не появлялось в зале славы Facebook в 2020 году, хотя бывает там ежегодно. Пора решить эту задачу!”.

Мне никогда не доводилось находить уязвимости на одном из поддоменов Facebook, поэтому я изучил статьи и нашёл один пост про поддомен Facebook, привлёкший моё внимание. Это отличный пост, рекомендую его прочитать: [Баг преобразования HTML в PDF приводит к RCE на сервере Facebook].

Прочитав этот пост, я понял, что в таком огромном веб-приложении можно найти множество уязвимостей.

Моей основной мишенью стал https://legal.tapprd.thefacebook.com, я намеревался реализовать RCE (Remote Code Execution, удалённое выполнение кода) или нечто подобное.
Читать дальше →
Total votes 10: ↑8 and ↓2+8
Comments1

Что делать, если украли смартфон

Reading time10 min
Views173K
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →
Total votes 133: ↑123 and ↓10+147
Comments486

Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron

Reading time4 min
Views38K
Здравствуйте, коллеги!

Хочу поделиться поделиться своим решением проблемы, которая указана в заголовке. Написанием статьи вдохновился от коллеги brnovk, который не поленился и предложил частичное (для меня) решение проблемы. Я сделал свой «костыль», который помог мне. Делюсь с вами.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments59

Хакеры быстрого приготовления

Reading time13 min
Views32K

Сертифицированный этичный хакер на зарплате, баунтихантер(не, ну есть же репорт на хакерване, значит – зачет по пункту), ресечер и автор публикаций CVE, гик с брейном, скилованный без фабрики, гений, миллиардер, плейбой, филантроп.

Сертификаты: CEH Master, OSCE, OSWE и другая мелочь, о которой поговорим ниже.

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

К счастью, для тех, кто еще только начинает путь и выбирает, где учиться практике, я решил поделиться знаниями об известных платных курсах с позиции человека с опытом и в прохождении курсов и в работе по профилю и рассказать о своем опыте обучения на некоторых платных курсах по теме ИБ с уклоном в offensive как от российских школ, так и зарубежных, высказать мнение «стоит ли оно того», а также дать небольшие подсказки по приобретению схожих знаний и навыков без финансовых затрат. К тому же я помню, что школы сами просят отзывы и, по слухам, не боятся публиковать правдивые.

Читать далее
Total votes 25: ↑24 and ↓1+36
Comments19

Автоматическая виртуализация рендеринга произвольной вёрстки

Reading time29 min
Views23K

Здравствуйте, меня зовут Дмитрий Карловский и я.. прибыл к вам из недалёкого будущего. Недалёкого, потому что там уже всё и все тормозят. Писец подкрался к нам незаметно: сначала перестали расти мощности компьютеров, потом пропускная способность сетей. А пользователи… они продолжали генерировать контент как не в себя. В итоге, за считанные годы UX интерфейсов деградировал настолько, что ими стало невозможно пользоваться и многие пользователи поспешили перейти на облачный стриминг своих браузеров, которые работают на суперкомпьютерах, принадлежащих корпорациям, которые не дают людям устанавливать на них блокировщики рекламы. Поэтому я пришёл к вам именно сейчас, в этот момент, когда проблема уже заметна, но ещё можно всё исправить, пока не стало слишком поздно.

Лонгрид
Total votes 20: ↑16 and ↓4+15
Comments57

Information

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

Specialization

Frontend Developer, Fullstack Developer
Lead
From 200,000 ₽
Git
Python
Linux
Bash
JavaScript
TypeScript
Vue.js
Webpack
Node.js