Pull to refresh
106
0.1
Александр Борисович @Alexufo

IT анахорет

Send message

Руководство по реализации отзывчивого дизайна в 2023 году

Level of difficulty Medium
Reading time 17 min
Views 29K

Сегодня построение отзывчивых макетов уже не основывается на контрольных точках (breakpoints) с фиксированной шириной. Вместо этого современные макеты должны работать на устройствах практически любого размера. Однако, к своему удивлению, я всё ещё встречаю сайты, где используется паттерн отзывчивого дизайна – когда присутствует контейнер, получающий новое значение max-width в соответствии с шириной области просмотра.

Термин «отзывчивый» сегодня отражает уже очень многое. У нас есть медиа-запросы, которые проверяют пользовательские настройки, а также современные возможности CSS, которые помогают создавать отзывчивые макеты вообще без использования медиа-запросов. Отзывчивость нынче изменилась, и мы живём в поистине прекрасное время.
Читать дальше →
Total votes 65: ↑61 and ↓4 +57
Comments 27

Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose

Reading time 7 min
Views 19K

Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.

Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут сложного? Ну раз надо, то разрабатывай, где тут могут быть сложности? Но вот беда, ранее я не сталкивался с задачей развертывания проекта, тем более было много вопросов касаемо получения SSL сертификата так как Telegram API работает только с HTTPS протоколом. Увы после долгих поисков я так и не нашел статьи, которая ответила бы на все вопросы, поэтому процесс деплоя затянулся из-за того, что пришлось собирать весь материал по кусочкам. Теперь, когда у меня получилось разобраться с этой проблемой, я бы хотел вам рассказать как это сделать, чтобы сэкономить вам время и бонусом 2000 рублей за SSL сертификат.

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

Python для детей

Reading time 4 min
Views 12K

До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия по Python, C++ и Arduino.

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

В этой статье я порекомендую книги, сайты и видео для эффективного изучения Python.

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

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

«Почему я не могу нормально зарабатывать?» 5 особенностей мышления, которые мешают это делать

Level of difficulty Easy
Reading time 6 min
Views 90K

Думаю, как и я, очень многие задавались вопросом: «Почему несмотря на хорошее образование, любознательность, способности и трудолюбие, они зарабатывают меньше, чем им хочется. Где баг, который мешает зарабатывать больше?»

Читать далее
Total votes 133: ↑113 and ↓20 +93
Comments 145

Как победить настрой удаленщика — вредные советы по организации рабочего места

Reading time 6 min
Views 8.8K

Что-то случилось, а вы все еще продуктивно работаете на удаленке и к культуре хаоса приобщиться никак не получается? Если ваша самоорганизация настолько сильна, придется начинать с фундамента - с оснащения рабочего места. И новый год - отличное время, чтобы оборудовать его заново, поменяв свое отношение к делу в целом.

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

Читать далее
Total votes 21: ↑16 and ↓5 +11
Comments 6

Алгоритмы сортировки и их производительность

Reading time 17 min
Views 43K

Здравствуйте, давно читаю Хабр и все хотел написать кому-нибудь статью, но не знал с чего начать и о чем писать. Но решил что тянуть кота за причинное место. Надо просто взять и написать обзор о чем то что я знаю и что будет просто для начало. Поэтому решил описать алгоритмы сортировки в размере 37 штук. Я понимаю, что на Хабре есть подобные статьи, одна постараюсь их добавить количеством алгоритмов и приведением небольшого числа графиков.

Читать далее
Total votes 79: ↑77 and ↓2 +75
Comments 29

10 задач с JavaScript Promise для подготовки к собеседованиям

Reading time 7 min
Views 69K

Promise — это отличительная особенность JavaScript как асинхронного языка программирования. Нравится вам это или нет, понять его в любом случае придется. В этой статье я привожу 10 примеров кода с Promise, начиная от базового уровня заканчивая продвинутым.

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

Изучение TypeScript — Полное руководство для начинающих. Часть 1 — Введение и примитивные типы данных

Reading time 5 min
Views 77K

Всем привет. Меня зовут Лихопой Кирилл и я - Fullstack-разработчик.

Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).

Другие части:
Часть 2 - Ссылочные типы данных
Часть 3 - Классы и интерфейсы
Часть 4 - Литералы и дженерики
Часть 5 - Строгий режим и сужение типов

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

Пишем чистый код при помощи деструктуризации объектов в JavaScript

Reading time 4 min
Views 14K

Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScript

В этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом группы frontend-разработки в Skillbox Иваном Казанцевым.

Читать далее
Total votes 26: ↑21 and ↓5 +16
Comments 20

Objective-C с нуля

Reading time 23 min
Views 434K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8 +147
Comments 61

Работа не волк, часть 1. Поиск работы: 9 кругов HR-a

Reading time 16 min
Views 68K
Поиск работы вызывает неприятные тревожно-азартные ощущения и у вчерашнего студента, и у профессионала с годами опыта за плечами. Это не признак неуверенности в себе, это проблема всей отрасли поиска персонала: мы идём на собеседование и понимаем, что не всё может зависеть от профессионализма, что кому-то не понравятся наши софт-скиллы или внешний вид, кто-то упрется в вопрос о причинах ухода с предыдущего места. На Хабре может выйти 200 статей-обращений к HR-службами IT-компаний, где сами соискатели будут с пеной у рта рассказывать, как с ними (нами!) нужно разговаривать, как оценивать, но на первой встрече с будущим работодателем вам всё равно подсунут психологический тест, зададут странные вопросы и посмотрят на вас, как будто вы уже что-то нарушили и идёте в компанию, чтобы порушить устои и корпоративную культуру. Поэтому мы не будем рассказывать компаниям, в чём они не правы — мы расскажем вам, как с этим жить. 


Это первая часть нашего нового цикла «Работа не волк», который будет состоять из пяти частей, каждая из которых раскрывает важнейшие аспекты, связанные с трудоустройством. Как и в случае с циклом про образование, статьи будут субъективными, честными и основанными на обширной экспертизе. Вот что вас ждёт:

Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Читать дальше →
Total votes 52: ↑45 and ↓7 +38
Comments 37

Профсоюзный дайджест. Цифровое подавление, бригады “удоленщиков”, 10 суток ареста, зарплатный железный занавес, IT 90-е

Reading time 8 min
Views 18K

Syn ack, Хабр!

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

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

Читать далее
Total votes 39: ↑32 and ↓7 +25
Comments 21

Продукт VS проект: отличия подходов

Reading time 6 min
Views 37K

На связи Factory5 (входит в группу Ctrl2GO) — российский разработчик аналитических решений для бизнеса на базе умных алгоритмов обработки данных. У нас есть опыт объединения двух разных команд и мы хотели бы им поделиться. С одной стороны, мы развиваем свой продукт, который активно распространяется через партнерскую сеть. И есть команда, которая этим занимается — продуктовая. С другой стороны, мы занимаемся коммерческой разработкой. И для этого тоже есть команда — проектная.

И там и там разработчики, тестировщики, devops-ы, аналитики, менеджеры. Они обмениваются знаниями, напитывают друг друга идеями. Продуктовая команда может передать проект для проверки технологических и продуктовых гипотез в проектную команду, а проектная может сложить результат проекта как технологию в продукт. И то и другое вполне легально происходит, но вот люди из одной команды в другую не переходят никогда. Так как между ними есть большая разница. Она заключается и в процессах работы, и структуре, и целеполагании и даже профиле новых кандидатов. Это бывает сложно объяснить тем, кто не погружен, но Резеда Несынова, исполнительный директор Factory5, разложила всё по полочкам.

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

Все, что вам нужно знать о маршрутизации между страницами Flutter

Reading time 5 min
Views 7.2K

В Winkl, когда мы начали играть с анимацией, мы поняли, что переход на страницу может действительно сделать ваш пользовательский интерфейс красивым. Если вы хотите иметь слайд-переход, как IOS вы используете CupertinoPageRoute. Вот и все, ничего больше.

Но для пользовательского перехода Flutter предоставляет различные виджеты перехода. Давайте посмотрим, как мы можем их использовать.

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

WSN-LTE шлюз на CC1310 и WP8548. Часть 1

Reading time 4 min
Views 3.8K

Приветствую, Habr! В данной статье рассмотрен процесс разработки Wireless Sensor Network (WSN) шлюза для передачи данных от беспроводных датчиков на сервер через мобильную связь. В качестве начинки будем использовать Sub-1GHz SoC CC1310 и программируемый модуль WP8548 от Sierra Wireless. AirPrime WP8548 - это промышленный модуль LGA-239. Его беспроводной модем обеспечивает передачу данных в сетях HSPA, WCDMA, EDGE и GPRS, а также прием GPS сигнала.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 5

YC Startup Library на русском: Как создавать и тестировать идеи для стартапов (Майкл Сайбл)

Reading time 4 min
Views 4K
9 ноября 2020 стартовала Школа стартапов для будущих основателей (Startup School for Future Founders от Y Combinator) и мы будем публиковать полезные переводы для тех, кто планирует стать основателем стартапа международного уровня. Следите за новостями в телеграм-канале YC library на русском.

image

Майкл Сайбл — сооснователь (в 25 лет) стартапов Justin.tv/Twitch (капитализация $15 млрд) и Socialcam, член правления Reddit. На данный момент исполнительный директор (CEO) Y Combinator.

Многие заблуждаются, считая, что для создания компании их идея обязательно должна быть «великой». И для начала я хочу разбить это заблуждение. Я был одним из основателей компании Justin.tv, которая позднее была переименована в Twitch и продана Amazon почти за миллиард долларов. Наша изначальная идея заключалась в создании онлайн реалити-шоу. Трудно найти связь между этой идеей и созданием сайта для стриминга видео, где люди наблюдают за геймерами и общаются в чате со своими друзьями, а ведь именно таким и стал сервис. Итак, не попадайтесь в эту ловушку – не думайте, что ваша идея обязана быть «великой» (что бы это ни значило).

Отталкивайтесь от проблемы


Вот о чем стоит рассуждать вместо этого: для начала я советую отталкиваться от проблемы. Я считаю, что генерировать идеи сложно, ведь люди хотят немедленно их оценивать. Намного проще оттолкнуться от некой проблемы и оценить ее. Когда вы думаете о проблеме, вам следует спросить себя:

  • Есть ли у меня личная связь с этой проблемой?
  • Сталкиваюсь ли я сам с этой проблемой?
  • Сталкиваются ли с ней мои друзья?
  • Сталкиваются ли с ней члены моей семьи?
  • Существует ли эта проблема в контексте работы?
  • Существует ли эта проблема в моем окружении и обществе?

Формулирование личных связей с проблемой может помочь по двум причинам:
Total votes 15: ↑11 and ↓4 +7
Comments 6

От желания до оффера: как программисту организовать подготовку к интервью

Reading time 3 min
Views 8.8K
Пару месяцев назад из-за пандемии мне пришлось искать работу и подойти к этому я решила системно. Со всей своей любовью к планированию, записям и визуальным отражением прогресса. Пройдя путь от белого листа до офферов, представляю свой план, по которому выбирала компании и готовилась к собеседованиям.

Выбор компании


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

Формируем портрет желаемой компании, я сделала 3 колонки:

  • Цели в работе
  • Желания на ближайшие годы
  • Рекомендации (советы друзей о выборе компании)


Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Comments 8

Сервис на языке Dart: доменное имя, SSL

Reading time 6 min
Views 4.1K
Оглавление
  1. 1. Введение
  2. 2. Backend
  3. 2.1. Инфраструктура.
  4. 2.2. Доменное имя. SSL (мы находимся здесь)
  5. 2.3. Серверное приложение на Дарт.
  6. ...
  7. 3. Web
  8. 3.1. Заглушка “Under construction”
  9. ...
  10. 4. Mobile
  11. ...


disclaimer (по комментариям к предыдущей статье)
  • Эта статья не является в полной мере самостоятельной и является продолжением серии Сервис на языке Дарт. Начало здесь.
  • Предмет данной статьи только то, что вынесено в заголовок: доменное имя и шифрование соединения.
  • Облаков, оркестрации, масштабирования, K8s, AWS, GKE здесь нет. Автору известно, что данный подход не является современным и модным. Более того, автор признаёт, что общается в окружении «ретроградов», многие из которых вообще считают неприемлемым передачу критических данных и сервисов за пределы контролируемого периметра.
  • Автор не может отказаться от использования Дарт на сервере в пользу других языков и технологий, поскольку сама концепция данной серии статей заключается в реализации работоспособного сервиса на языке Дарт для всех уровней приложения: сервера, веб и мобильных клиентов.
  • Список подлежащих рассмотрению в ходе реализации приложений вопросов выбран автором по собственному усмотрению. Список может быть расширен читателем соответствующим комментарием к этой или последующим статьям. Предлагайте, попробуем сделать.
  • Список вопросов
    • Декомпозиция приложения на компоненты и слои
    • Dependency injection (кодогенерация boilerplate)
    • Генерация нативного серверного приложения
    • ORM. Генерация схемы и миграций для БД.
    • oAuth2 + JWT авторизация. Изолированный сервер авторизации.
    • Deeplinks (Universal links/ App links). Бесшовная интеграция web/app
    • Маршрутизация в приложениях
    • Взаимодействие реального времени (websockets)
    • Адаптивная верстка flutter



Доменное имя


В прошлый раз мы закончили на том, что в докер контейнере запустили веб-сервер NGINX, раздающий статический файл index.html. В этот раз мы расширим функциональность веб-сервера, добавив шифрование данных и принудительную переадресацию с http на https.


Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 11

Правила компоновки во Flutter, которые должен знать каждый

Reading time 14 min
Views 72K


Когда новичок во Flutter спрашивает, почему какой-то виджет с width: 100 не ширины 100 пикселей, обычно ему отвечают, что надо обернуть этот виджет в Center, верно?


Не надо так делать


Если так отвечать, то к вам будут возвращаться снова и снова, спрашивая, почему какой-то FittedBox не работает, почему этот Column переполнен или как работает IntrinsicWidth.


Сначала объясните, что Flutter компоновка очень отличается от HTML компоновки (особенно, если говорите с веб-разработчиком), а затем скажите, что необходимо запомнить следующее правило:


Ограничения для виджетов объявляются в родителях. Размеры (желаемые) задаются в самом виджете. Позиция виджета на экране устанавливается родителем

На мой взгляд, это правило нужно изучить, как можно раньше, так как без него по-настоящему понять компоновку во Flutter нельзя.

Total votes 25: ↑25 and ↓0 +25
Comments 6

Хабр в студию! Кровь, слезы и победы на этой чертовой удаленке. Выпуск 1: Фриланс vs корпорация

Reading time 3 min
Views 12K
Привет, Хабр! Пока за окном на солнце греются котики, проносится лето, сходит на нет (или нет?) коронавирус, мы всей контент-студией четвертый месяц работаем удаленно. Все шутки отшучены, все стадии стресса пройдены, а работа со слезами и кровью адаптирована под распределенный режим. 

Мы понимаем, что такая ситуация у всех, поэтому решили взглянуть на проблемы удаленки с разных сторон и показать, что с трудностями сталкиваются и фрилансеры, и большие компании — и все более-менее успешно их преодолевают. Для этого мы решили выслушать участников хабрасообщества и вместе с нашим партнером по интернет-трансляции SBTG.RU организовали серию видеокастов, которая стартует завтра. 

Итак, все подробности под катом.
Total votes 48: ↑37 and ↓11 +26
Comments 14

Information

Rating
2,593-rd
Location
Тула, Тульская обл., Россия
Registered
Activity