Pull to refresh
14
0.1
Алексей Ткаченко @a-tk

Разработчик ПО

Send message

6 хороших практик по HTML и CSS

Reading time4 min
Views26K

Можно легко найти хорошие практики по любой технологии, но, к сожалению, по HTML и CSS это сделать не так просто. Недолго думая, я написал свой список из 6 кейсов, когда вы можете сделать удобный или не удобный интерфейс для пользователя только через HTML и CSS.

Читать далее

Полное визуальное руководство/шпаргалка по CSS Grid

Reading time7 min
Views398K

Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство.


Что такое CSS Grid?



Грид — это макет для сайта (его схема, проект).


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


Вот простой пример макета сайта, созданного с помощью Грида.

Читать дальше →

Современный CSS для динозавров

Reading time20 min
Views71K

— Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript!
[Вставь тут гифку из «Гриффинов»] — Ха!
Иллюстрации из Dinosaur Comics Райана Норта


Как ни странно, CSS считается одновременно одним из самых простых и одним из самых сложных языков для веб-разработчика. Определённо он достаточно прост в начале — вы определяете свойства стиля, значения для конкретных элементов и… это практически всё, что нужно знать! Однако в больших проектах ситуация становится довольно запутанной и сложной, чтобы организовать CSS каким-то осмысленным образом. Изменение любой строчки CSS для стилизации элемента на одной странице часто ведёт к непредвиденным последствиям для элементов на других страницах.

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

Цель этой статьи — показать исторический контекст, как развивались техники и инструменты CSS до их нынешнего состояния в 2018 году. Поняв эту историю будет легче понять каждый подход и как с выгодой его использовать. Итак, начнём!
Читать дальше →

Представляем Windows Package Manager 1.0

Reading time3 min
Views20K

Мы начали путь к созданию собственного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию диспетчера пакетов Windows на Microsoft Build 2020. Мы выпустили проект на GitHub как совместный с открытым исходным кодом, и участие сообщества было очень важным аспектом! И вот недавно прошла конференция Microsoft Build 2021.

И мы рады объявить о выпуске Windows Package Manager 1.0! Подробности под катом!

Читать далее

Как Unix-way убивает десктопный Linux

Reading time28 min
Views95K

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

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил

Отладочный вывод на микроконтроллерах: как Concepts и Ranges отправили мой printf на покой

Reading time7 min
Views6.7K

Здравствуйте! Меня зовут Александр и я работаю программистом микроконтроллеров.

Начиная на работе новый проект, я привычно набрасывал в project tree исходники всяческих полезных утилит. И на хедере app_debug.h несколько подзавис.

Дело в том, что в декабре прошлого года у GNU Arm Embedded Toolchain вышел релиз 10-2020-q4-major, включающий все GCC 10.2 features, а значит и поддержку Concepts, Ranges, Coroutines вкупе с другими, менее "громкими" новинками С++20.

Воодушевленное новым стандартом воображение рисовало мой будущий С++ код ультрасовременным и лаконично-поэтичным. И старый добрый printf("Debug message\n") в это благостное видение не очень-то вписывался.

Хотелось бескомпромиссной плюсовой функциональности и стандартных удобств!

Например, таких:

1 CPU 1 Гб – а я хочу мониторинг, как у больших дядей

Reading time14 min
Views58K


Я обожаю читать на хабре статьи про то, как устроены системы больших интернет-компаний. Кластеры SQL-серверов, монг и редисов. Тут у нас кластер ELK собирает трейсинг, там – сборка логов, здесь балансер выдает входящим запросам traceID и можно отслеживать, как запрос ходит по всем нашим микросервисам. Класс. Но, допустим, у вас совсем маленький проект и вы можете себе позволить лишь VPS минимальной конфигурации. Реально ли на ней сделать мониторинг не хуже, чем у больших проектов? Я решил – надо попробовать.
Читать дальше →

Уменьшить размер консольного .NET 5.0 приложения

Reading time3 min
Views5.5K

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

В чём проблема и как решить?

Читать далее

Как в GitHub смотреть красивые отчеты об ошибках с помощью SARIF

Reading time7 min
Views3.6K

Вы пользуетесь GitHub, пишете код и делаете прочие веселые штуки. Для повышения качества своей работы и оптимизации своего времени используете статический анализатор. И вот вам приходит идея - а почему бы не смотреть на ошибки, которые выдал анализатор, прямо в GitHub? Да и еще, чтобы это красиво выглядело. Что же делать в этом случае? Ответ очень простой. Ваш выбор – SARIF. О том что это такое, как это настроить, и будет рассказано в данной статье. Приятного чтения.

Читать далее

Наследование в Nuget-пакетах

Reading time5 min
Views4.5K
image

Nuget-пакет — это не только архив с переиспользуемыми сборками, но и контент с target-скриптами, которые задают поведение MsBuild при сборке приложения. Это дает нам возможность рассматривать nuget-пакет в качестве самостоятельного объекта, у которого есть состояние и поведение.

А раз у нас есть объект, то что мешает попробовать посмотреть на работу с ним со стороны объектно-ориентированной парадигмы? Давайте попробуем применить для nuget-пакетов один из основных принципов ООП — наследование.
Читать дальше →

Nuke. Быстрый старт

Reading time6 min
Views8.6K

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

Представляю Getting Started по другой системе сборки, основанной на C# — Nuke.

Читать далее

Оживляем деревья выражений кодогенерацией

Reading time8 min
Views12K

Expression Trees — это, пожалуй, самое удобное средство манипуляции кодом в run-time.

Расширять код метапрограммами в compile-time позволяют Roslyn Source Generators, с ними это стало проще, чем когда-либо.

Пора использовать одно во благо другого, даже если мир к этому еще не совсем готов.

Читать далее

Заменяем события C# на Reactive Extensions с помощью кодогенерации

Reading time11 min
Views17K

Недавно прошла приуроченная к выходу .NET 5 конференция .NETConf 2020. На которой один из докладчиков рассказывал про C# Source Generators. Поискав на youtube нашел еще неплохое видео по этой теме. Советую их посмотреть. В них показывается как во время написания кода разработчиком, генерируется код, а InteliSense тут же подхватывает сгенерированный код, предлагает сгенерированные методы и свойства, а компилятор не ругается на их отсутствие. На мой взгляд, это хорошая возможность для расширения возможностей языка и я попробую это продемонстрировать.

Читать далее

Печатные формы документов для Eloquent в 0 строчек кода

Reading time3 min
Views4.7K

Недавно в проекте на Laravel+Eloquent понадобилось сделать печатные формы документов — счетов, договоров в формате Word. Так как в системе много разных документов, то решил сделать универсально, чтобы можно было потом использовать и в других проектах.


В итоге получилась реализация, которая требует минимум затрат на интеграцию в проект.


Читать дальше →

Chuwi выпустила крохотный ПК с 6 ГБ ОЗУ и четырехъядерным процессором

Reading time2 min
Views60K

Летом китайская компания Chuwi выпустила миниатюрный ПК, который помещается на ладони, но при этом способен служить медиацентром или офисным ПК с ОС Windows или Linux. Конечно, его можно использовать и для решения других задач.

Сейчас этот ПК усилили, снизив при этом цену. Размеры компьютера, который называется Chuwi LarkBox Pro, не изменились — 2.4″ x 2.4″ x 1.7″. О характеристиках и возможностях — под катом.

Выбор CSS макета — Grid или Flexbox?

Reading time9 min
Views91K


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

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

Языки программирования помогают сделать сайты «живыми», но в основе каждой страницы по-прежнему лежит старый добрый HTML. При рассмотрении макетов необходимо учитывать факторы, определяющие их качество, а именно отзывчивость, порты просмотра, устройства отображения, браузеры и размеры экранов пользователей. Грамотный макет не только здорово смотрится, но также может сохранять задуманную структуру, вписываясь в экраны с любым возможным соотношением сторон. Как раз за эту подстройку и отвечает CSS. В текущей статье мы в общих чертах рассмотрим два его мощнейших инструмента: Flexbox и Grid.
Читать дальше →

Переменные CSS — курс молодого бойца

Reading time12 min
Views24K

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

Основная цель статьи: я хочу иметь место, где собрано все, что я знаю о переменных CSS, чтобы узнать и понять больше. Здесь вы прочитаете обо всем, что должны знать о переменных CSS, включая примеры применения в коде. Вы готовы? Тогда погружаемся.
Приятного чтения!

PMP, кому и когда это нужно

Reading time4 min
Views49K
Всем привет!

Сегодня хочу рассказать о своем опыте подготовки и сдачи экзамена PMP (Project Management Professional). Эта статья из-за объема разделена на две.

Первая статья будет полезна следующим категориям читателей:

  • тем, кто ищет возможности для подтверждения своего профессионального уровня в сфере управления проектами;
  • тем, кто рассматривает сдачу PMP и хочет узнать о потенциальных профитах подробнее.

Вторая статья будет полезна тем, кто уже готовится к сдаче PMP и хочет понять формат проведения экзамена и как к нему подготовиться. Перейти ко второй статье можно по этой ссылке: habr.com/ru/post/531474

1. Краткий вывод


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

Стоимость сдачи PMP без учета затрат на обучающие материалы и курсы составит 405 или 555 долларов США в зависимости от членства в PMI. По моим оценкам срок подготовки составит примерно 2-3 месяца при условии, что вы тратите около 10 часов в неделю на подготовку к экзамену.
Читать дальше →

Нам нужно поговорить про Linux IIO

Reading time11 min
Views14K

IIO (промышленный ввод / вывод) — это подсистема ядра Linux для аналого-цифровых преобразователей (АЦП), цифро-аналоговых преобразователей (ЦАП) и различных типов датчиков. Может использоваться на высокоскоростных промышленных устройствах. Она, также, включает встроенный API для других драйверов.


Читать дальше →

Эмулятор RFID

Reading time14 min
Views74K

Эмулятор карт EM Marine



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

Information

Rating
4,095-th
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Software Developer, Software Architect
Lead
From 1,000,000 $
C#
.NET
C++
Git