Pull to refresh
0
0

.NET программист

Send message

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: свойство display

Level of difficulty Medium
Reading time 7 min
Views 8.7K


За свою карьеру у меня было достаточно много собеседований. Конечно, одной из основных тем вопросов была вёрстка. Немного похвалюсь. Не было вопроса, на который я не ответил.


Недавно у меня появилось желание снова проверить себя и показать сообществу свои ответы на самые популярные вопросы по вёрстке. Может же быть так, что мои ответы были неполными или некорректными. Если это так, то я научусь новому. А если всё хорошо, то они помогут другим людям в подготовке к собеседованию. Кажется, это в любом случае будет полезно.


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


Сегодня я дам ответ на следующий вопрос: «Зачем нужно использовать свойство display

Читать дальше →
Total votes 54: ↑54 and ↓0 +54
Comments 9

Всё /var/lib/docker пожрал … docker

Level of difficulty Easy
Reading time 2 min
Views 4.2K

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

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

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

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 9

Организация SQL скриптов крупного проекта

Level of difficulty Medium
Reading time 7 min
Views 10K

Если проект использует реляционную СУБД обязательно возникнет вопрос - как организовать скрипты для сохранения гибкости и уменьшения трудозатрат.

Погружаемся
Total votes 20: ↑17 and ↓3 +14
Comments 16

Немного про OR в SQL запросах

Level of difficulty Easy
Reading time 6 min
Views 12K

Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR. Я не собираюсь здесь рассматривать простые случаи, а сразу возьму быка за рога и рассмотрю случай, когда OR должно привести к двум разным выборкам по разным индексам одной и той же таблицы.

Читать далее
Total votes 26: ↑23 and ↓3 +20
Comments 26

Да кто такой этот ваш impl Trait

Level of difficulty Medium
Reading time 4 min
Views 4.7K

В преддверии выхода Rust 1.75.0, наполненным async trait-ами и return-position impl Trait in trait, надо разобраться, что такое impl Trait и с чем его едят.

После прочтения статьи вы сможете битбоксить с помощью новых акронимов понимать, что за наборы символов RPIT, RPITIT и т.д. используют в Rust сообществе.

Читать далее
Total votes 17: ↑17 and ↓0 +17
Comments 6

Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались

Level of difficulty Easy
Reading time 5 min
Views 132K

Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.

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

Читать далее
Total votes 172: ↑167 and ↓5 +162
Comments 277

Поднимаем Kubernetes с нуля

Level of difficulty Medium
Reading time 10 min
Views 44K

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

Читать далее
Total votes 36: ↑33 and ↓3 +30
Comments 55

32 полезных Rust крейта, о которых вы могли не знать

Level of difficulty Easy
Reading time 19 min
Views 7.4K

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

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

Математический подход к выбору девушки*. Правило 37%

Level of difficulty Easy
Reading time 7 min
Views 44K


В наше время многие находят вторую половинку в интернете: на тематических форумах и в онлайн-сообществах, в играх, на сайтах знакомств и приложениях вроде «Тиндера», где знакомства вообще поставлены на конвейер. Если десять лет назад 22% всех браков в США начинались со знакомства в интернете, то сейчас доля онлайн-знакомств превысила 39%. По сути, интернет стал основным способом знакомства мужчин и женщин, как долговременного, так и краткосрочного. Это очень удобно для гиков и специалистов с техническим образованием, поскольку мы получаем конкурентное преимущество, используя привычные инструменты. Например, можно поддерживать десятки чат-сессий в десктопном приложении или применять методы численного анализа в Excel/Google Sheets.

*Примечание. Под «девушкой» здесь и далее подразумевается любой объект, поочерёдно рассматриваемый из ограниченного пула схожих объектов с отличающимися характеристиками. Это может быть не только девушка, но и мужчина, квартира для съёма, автомобиль на вторичном рынке, домик в деревне, работодатель и т. д.
Читать дальше →
Total votes 71: ↑67 and ↓4 +63
Comments 188

Современные Source Generators в .NET, часть 2

Level of difficulty Medium
Reading time 19 min
Views 6.9K

Это вторая часть серии (надеюсь) статей про современные Source Generators в .NET. Мотивация и общее описание есть в первой части, рекомендую начинать знакомство с неё.

В этой части мы поговорим про типовые сценарии разработки генераторов.

К сценариям
Total votes 11: ↑10 and ↓1 +9
Comments 6

Как на самом деле работает Async/Await в C# (Часть 5)

Level of difficulty Hard
Reading time 6 min
Views 9.9K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

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

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

Reading time 5 min
Views 36K

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

Читать далее
Total votes 99: ↑99 and ↓0 +99
Comments 101

Укрепление Nginx с помощью Fail2ban: тестируем и оцениваем «профит»

Reading time 10 min
Views 19K

«Только запустил Nginx-приложение, а в access.log уже десятки записей с непонятными запросами, переборами паролей и другого» — типичная ситуация для незащищенного сервера. Это следствие работы «ботов» для сканирования белых сетей, поиска открытых портов, сбора информации о версиях запущенных служб и подбора паролей к сервисам.

В статье расскажу, как с помощью open source-инструмента Fail2ban укрепить Nginx и защитить сервисы от взлома. А также продемонстрирую способы блокирования DDoS-атак. Подробности под катом.
Читать дальше →
Total votes 53: ↑51 and ↓2 +49
Comments 47

Офлайновый мир: обзор инструментов цифровых «выживальщиков» на 2022 год

Reading time 7 min
Views 12K

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

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

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

Раздоры вокруг <div>

Reading time 11 min
Views 21K
Тег <div> — это самый универсальный и широко используемый HTML-элемент. Сам по себе <div> не представляет ничего, но он, в то же время, позволяет разработчикам превратить его почти во всё что угодно. Делается это посредством использования CSS (для стилизации), JavaScript (для функционала) и ARIA (для обеспечения доступности контента).

Эта универсальность позволяет использовать теги <div> для множества самых разных целей, но, к сожалению, такая вседозволенность может легко привести к злоупотреблениям. Когда тегом <div> пользуются недостаточно осмотрительно, в итоге может получиться <div>-суп, контент, лишённый семантического значения, интерактивные элементы, не отличающиеся доступностью, или некая комбинация этих нехороших явлений.

Грубые нарушения при использовании <div> выявить сравнительно просто (подробнее об этом поговорим ниже). Но мы дошли до того, что кто-то может назвать «образцом недоступности контента» полностью правильное использование <div>, или, как минимум, пример лёгкого отклонения от правильности. В таких ситуациях говорят о том, что «кому-то стоило бы вместо <div> воспользоваться семантическим HTML-элементом».

Тег <div> приходит на вечеринку, где его встречает команда A11y

Ладно. Притормозим немного. Прежде чем дружно задирать нос перед применением тегов <div> — давайте вспомним о том, что контекст — это важно.

Конечно, всегда, когда это возможно, нужно использовать семантические элементы. Но предлагаю проявить осторожность, создавая такую атмосферу, когда может показаться, что любой вариант использования <div> — это плохо… или — что замена некоего <div> на «более семантический» элемент способна улучшить доступность некоего документа.

Прежде чем об этом поговорить — ненадолго вернёмся в прошлое и заглянем туда, откуда взялся тег <div>.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 12

Just-in-Time Kubernetes: Руководство начинающим для понимания основных концепций Kubernetes

Reading time 11 min
Views 26K

Итак, вы хотите освоить Kubernetes. Это такой технологический хайп, о котором, кажется, говорят все. Я затрудняюсь сказать, сколько рекрутеров обращались ко мне с предложением поработать с Kubernetes. Kubernetes — это определенно круто!

Читать далее
Total votes 12: ↑9 and ↓3 +6
Comments 18

Домашний веб-сервер для чайников

Reading time 14 min
Views 229K

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.

В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover). 

Статья, в общем-то, рассчитана на новичков, обладающих какими-то техническими знаниями — школьников старших классов, студентов и просто любителей — а потому вряд ли будет интересна серьёзным профессионалам.

Читать далее
Total votes 27: ↑25 and ↓2 +23
Comments 29

Работа по ИП или ТК РФ (выбор «IT-шника»)

Reading time 12 min
Views 42K


В этой статье хочу провести анализ особенностей работы в качестве ИП, раскрыть некоторые юридические аспекты, провести сравнение ИП и работы в штате, также затронуть финансовую сторону вопроса (куда же без этого). Я надеюсь, что информация, представленная в статье, окажется полезной, особенно тем, кто сейчас также стоит перед подобным нелегким выбором или только начинает задумываться на эту тему.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 202

Профессиональный React стек для создания сложных приложений в 2022 году

Reading time 10 min
Views 30K

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

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

Читать далее
Total votes 23: ↑11 and ↓12 -1
Comments 100

Хакаем CAN шину авто. VAG диагностический бортовой компьютер

Reading time 5 min
Views 32K

С огромным увлечением исследую протоколы CAN шины и разрабатываю устройства взаимодействующие с автомобилем. У меня уже есть голосовое управление центральным замком, виртуальная панель приборов и даже мобильное приложение для моей Skoda Octavia A5.

Теперь я решил разработать диагностический бортовой компьютер для автомобилей группы VAG (VW, Audi, Skoda, Seat). Моими техническими требованиями было: OLED дисплей, лёгкая установка и подключение, множество диагностических параметров. В качестве компонентной базы выбрал:
Читать дальше →
Total votes 76: ↑76 and ↓0 +76
Comments 41

Information

Rating
3,872-nd
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
C#
Rust