Привет, дорогой Хабр. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.
IT анахорет
Руководство по реализации отзывчивого дизайна в 2023 году
Сегодня построение отзывчивых макетов уже не основывается на контрольных точках (breakpoints) с фиксированной шириной. Вместо этого современные макеты должны работать на устройствах практически любого размера. Однако, к своему удивлению, я всё ещё встречаю сайты, где используется паттерн отзывчивого дизайна – когда присутствует контейнер, получающий новое значение
max-width
в соответствии с шириной области просмотра.Термин «отзывчивый» сегодня отражает уже очень многое. У нас есть медиа-запросы, которые проверяют пользовательские настройки, а также современные возможности CSS, которые помогают создавать отзывчивые макеты вообще без использования медиа-запросов. Отзывчивость нынче изменилась, и мы живём в поистине прекрасное время.
Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose
Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.
Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут сложного? Ну раз надо, то разрабатывай, где тут могут быть сложности? Но вот беда, ранее я не сталкивался с задачей развертывания проекта, тем более было много вопросов касаемо получения SSL сертификата так как Telegram API работает только с HTTPS протоколом. Увы после долгих поисков я так и не нашел статьи, которая ответила бы на все вопросы, поэтому процесс деплоя затянулся из-за того, что пришлось собирать весь материал по кусочкам. Теперь, когда у меня получилось разобраться с этой проблемой, я бы хотел вам рассказать как это сделать, чтобы сэкономить вам время и бонусом 2000 рублей за SSL сертификат.
Python для детей
До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия по Python, C++ и Arduino.
Программирование на Python отлично заходило детям, к тому же именно Python сейчас изучают в школе на уроках информатики. Он практически полностью вытеснил Pascal т.к. не уступает ему в простоте, а возможностей сделать разные интересные проекты гораздо больше. Поэтому вопрос как лучше изучать Python ребёнку актуален не только для родителей, но и для самих детей.
В этой статье я порекомендую книги, сайты и видео для эффективного изучения Python.
Материалов, специализированных для изучения Python детьми, много, но я расскажу про те, которые считаю лучшими, и которые лично сам использовал на реальной практике при работе со школьниками.
«Почему я не могу нормально зарабатывать?» 5 особенностей мышления, которые мешают это делать
Думаю, как и я, очень многие задавались вопросом: «Почему несмотря на хорошее образование, любознательность, способности и трудолюбие, они зарабатывают меньше, чем им хочется. Где баг, который мешает зарабатывать больше?»
Как победить настрой удаленщика — вредные советы по организации рабочего места
Что-то случилось, а вы все еще продуктивно работаете на удаленке и к культуре хаоса приобщиться никак не получается? Если ваша самоорганизация настолько сильна, придется начинать с фундамента - с оснащения рабочего места. И новый год - отличное время, чтобы оборудовать его заново, поменяв свое отношение к делу в целом.
Специально для вас я подготовил серию вредных советов, соблюдение которых точно вышибет вас из рабочей колеи. Только так вы сможете весь год прокрастинировать и обоснованно жаловаться на окружающую атмосферу!
Алгоритмы сортировки и их производительность
Здравствуйте, давно читаю Хабр и все хотел написать кому-нибудь статью, но не знал с чего начать и о чем писать. Но решил что тянуть кота за причинное место. Надо просто взять и написать обзор о чем то что я знаю и что будет просто для начало. Поэтому решил описать алгоритмы сортировки в размере 37 штук. Я понимаю, что на Хабре есть подобные статьи, одна постараюсь их добавить количеством алгоритмов и приведением небольшого числа графиков.
10 задач с JavaScript Promise для подготовки к собеседованиям
Promise — это отличительная особенность JavaScript как асинхронного языка программирования. Нравится вам это или нет, понять его в любом случае придется. В этой статье я привожу 10 примеров кода с Promise, начиная от базового уровня заканчивая продвинутым.
Изучение TypeScript — Полное руководство для начинающих. Часть 1 — Введение и примитивные типы данных
Всем привет. Меня зовут Лихопой Кирилл и я - Fullstack-разработчик.
Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).
Другие части:
Часть 2 - Ссылочные типы данных
Часть 3 - Классы и интерфейсы
Часть 4 - Литералы и дженерики
Часть 5 - Строгий режим и сужение типов
Пишем чистый код при помощи деструктуризации объектов в JavaScript
Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScript
В этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом группы frontend-разработки в Skillbox Иваном Казанцевым.
Objective-C с нуля
Работа не волк, часть 1. Поиск работы: 9 кругов HR-a
Это первая часть нашего нового цикла «Работа не волк», который будет состоять из пяти частей, каждая из которых раскрывает важнейшие аспекты, связанные с трудоустройством. Как и в случае с циклом про образование, статьи будут субъективными, честными и основанными на обширной экспертизе. Вот что вас ждёт:
Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Профсоюзный дайджест. Цифровое подавление, бригады “удоленщиков”, 10 суток ареста, зарплатный железный занавес, IT 90-е
Syn ack, Хабр!
Эта неделя выдалась очень горячей: массовые блокировки, арест председателя профсоюза курьер, попытки удаления постов о работодателях (и моих в том числе), возвращение эпохи 90-х в айти бизнесе, железный занавес для сотрудников компаний. Во всех этих случаях становится ясно - каждый сотрудник рискует остаться один на один с корпорацией и государством если им что-то не понравится, пока сотрудники не начнут объединяться в коллективы.
Пожалуй, лучше агитации за объединение сотрудников в профсоюзы и не придумаешь (позицию команды Навального не поддерживаю)
Продукт VS проект: отличия подходов
На связи Factory5 (входит в группу Ctrl2GO) — российский разработчик аналитических решений для бизнеса на базе умных алгоритмов обработки данных. У нас есть опыт объединения двух разных команд и мы хотели бы им поделиться. С одной стороны, мы развиваем свой продукт, который активно распространяется через партнерскую сеть. И есть команда, которая этим занимается — продуктовая. С другой стороны, мы занимаемся коммерческой разработкой. И для этого тоже есть команда — проектная.
И там и там разработчики, тестировщики, devops-ы, аналитики, менеджеры. Они обмениваются знаниями, напитывают друг друга идеями. Продуктовая команда может передать проект для проверки технологических и продуктовых гипотез в проектную команду, а проектная может сложить результат проекта как технологию в продукт. И то и другое вполне легально происходит, но вот люди из одной команды в другую не переходят никогда. Так как между ними есть большая разница. Она заключается и в процессах работы, и структуре, и целеполагании и даже профиле новых кандидатов. Это бывает сложно объяснить тем, кто не погружен, но Резеда Несынова, исполнительный директор Factory5, разложила всё по полочкам.
Все, что вам нужно знать о маршрутизации между страницами Flutter
В Winkl, когда мы начали играть с анимацией, мы поняли, что переход на страницу может действительно сделать ваш пользовательский интерфейс красивым. Если вы хотите иметь слайд-переход, как IOS вы используете CupertinoPageRoute. Вот и все, ничего больше.
Но для пользовательского перехода Flutter предоставляет различные виджеты перехода. Давайте посмотрим, как мы можем их использовать.
WSN-LTE шлюз на CC1310 и WP8548. Часть 1
Приветствую, Habr! В данной статье рассмотрен процесс разработки Wireless Sensor Network (WSN) шлюза для передачи данных от беспроводных датчиков на сервер через мобильную связь. В качестве начинки будем использовать Sub-1GHz SoC CC1310 и программируемый модуль WP8548 от Sierra Wireless. AirPrime WP8548 - это промышленный модуль LGA-239. Его беспроводной модем обеспечивает передачу данных в сетях HSPA, WCDMA, EDGE и GPRS, а также прием GPS сигнала.
Эксперимент в распознавании рукописных текстов на кириллице. Часть 2
Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукописных текстов.
Распознавание рукописного текста (англ. Handwritten Text Recognition, HTR) - это автоматический способ расшифровки записей с помощью компьютера. Оцифрованный текст рукописных записей позволило бы автоматизировать бизнес процессы множества компаний, упростив работу человека. В данной статье рассматривается модель распознавания рукописного текста на кириллице на основе искусственной нейронной сети. Архитектура данной нейронной сети состоит из слоев сверточной нейронной сети (англ. Convolutional neural network, CNN) и рекуррентной нейронной сети (англ. Recurrent neural network, RNN), а также имеет алгоритм декодирования на основе коннекционной временной классификации (англ. Connectionist Temporal Classification, CTC), который приводит текст к окончательному варианту.
YC Startup Library на русском: Как создавать и тестировать идеи для стартапов (Майкл Сайбл)
Майкл Сайбл — сооснователь (в 25 лет) стартапов Justin.tv/Twitch (капитализация $15 млрд) и Socialcam, член правления Reddit. На данный момент исполнительный директор (CEO) Y Combinator.
Многие заблуждаются, считая, что для создания компании их идея обязательно должна быть «великой». И для начала я хочу разбить это заблуждение. Я был одним из основателей компании Justin.tv, которая позднее была переименована в Twitch и продана Amazon почти за миллиард долларов. Наша изначальная идея заключалась в создании онлайн реалити-шоу. Трудно найти связь между этой идеей и созданием сайта для стриминга видео, где люди наблюдают за геймерами и общаются в чате со своими друзьями, а ведь именно таким и стал сервис. Итак, не попадайтесь в эту ловушку – не думайте, что ваша идея обязана быть «великой» (что бы это ни значило).
Отталкивайтесь от проблемы
Вот о чем стоит рассуждать вместо этого: для начала я советую отталкиваться от проблемы. Я считаю, что генерировать идеи сложно, ведь люди хотят немедленно их оценивать. Намного проще оттолкнуться от некой проблемы и оценить ее. Когда вы думаете о проблеме, вам следует спросить себя:
- Есть ли у меня личная связь с этой проблемой?
- Сталкиваюсь ли я сам с этой проблемой?
- Сталкиваются ли с ней мои друзья?
- Сталкиваются ли с ней члены моей семьи?
- Существует ли эта проблема в контексте работы?
- Существует ли эта проблема в моем окружении и обществе?
Формулирование личных связей с проблемой может помочь по двум причинам:
От желания до оффера: как программисту организовать подготовку к интервью
Выбор компании
Первое с чего нужно начинать — мои цели и желания на работе. Важно сесть и подумать, а чего я хочу достичь в ближайшие пару лет, где я хочу жить, чем заниматься, какие технологии использовать?
Формируем портрет желаемой компании, я сделала 3 колонки:
- Цели в работе
- Желания на ближайшие годы
- Рекомендации (советы друзей о выборе компании)
Сервис на языке Dart: доменное имя, SSL
- 1. Введение
- 2. Backend
- 2.1. Инфраструктура.
- 2.2. Доменное имя. SSL (мы находимся здесь)
- 2.3. Серверное приложение на Дарт.
- ...
- 3. Web
- 3.1. Заглушка “Under construction”
- ...
- 4. Mobile
- ...
- Эта статья не является в полной мере самостоятельной и является продолжением серии Сервис на языке Дарт. Начало здесь.
- Предмет данной статьи только то, что вынесено в заголовок: доменное имя и шифрование соединения.
- Облаков, оркестрации, масштабирования, K8s, AWS, GKE здесь нет. Автору известно, что данный подход не является современным и модным. Более того, автор признаёт, что общается в окружении «ретроградов», многие из которых вообще считают неприемлемым передачу критических данных и сервисов за пределы контролируемого периметра.
- Автор не может отказаться от использования Дарт на сервере в пользу других языков и технологий, поскольку сама концепция данной серии статей заключается в реализации работоспособного сервиса на языке Дарт для всех уровней приложения: сервера, веб и мобильных клиентов.
- Список подлежащих рассмотрению в ходе реализации приложений вопросов выбран автором по собственному усмотрению. Список может быть расширен читателем соответствующим комментарием к этой или последующим статьям. Предлагайте, попробуем сделать.
- Список вопросов
- Декомпозиция приложения на компоненты и слои
- Dependency injection (кодогенерация boilerplate)
- Генерация нативного серверного приложения
- ORM. Генерация схемы и миграций для БД.
- oAuth2 + JWT авторизация. Изолированный сервер авторизации.
- Deeplinks (Universal links/ App links). Бесшовная интеграция web/app
- Маршрутизация в приложениях
- Взаимодействие реального времени (websockets)
- Адаптивная верстка flutter
Доменное имя
В прошлый раз мы закончили на том, что в докер контейнере запустили веб-сервер NGINX, раздающий статический файл index.html. В этот раз мы расширим функциональность веб-сервера, добавив шифрование данных и принудительную переадресацию с http на https.
Information
- Rating
- 2,807-th
- Location
- Тула, Тульская обл., Россия
- Registered
- Activity