• Карманная книга по TypeScript. Часть 1. Основы

    • Перевод

    С сегодняшнего дня мы начинаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".


    Каждое значение в JavaScript при выполнении над ним каких-либо операций ведет себя определенным образом. Это может звучать несколько абстрактно, но, в качестве примера, попробуем выполнить некоторые операции над переменной message:


    // Получаем доступ к свойству `toLowerCase`
    
    // и вызываем его
    
    message.toLowerCase()
    
    // Вызываем `message`
    
    message()
    

    На первой строке мы получаем доступ к свойству toLowerCase и вызываем его. На второй строке мы пытаемся вызвать message.


    Предположим, что мы не знаем, какое значение имеет message — обычное дело — поэтому мы не можем с уверенностью сказать, какой результат получим в результате выполнения этого кода.


    • Является ли переменная message вызываемой?
    • Имеет ли она свойство toLowerCase?
    • Если имеет, является ли toLowerCase вызываемым?
    • Если оба этих значения являются вызываемыми, то что они возвращают?

    Ответы на эти вопросы, как правило, хранятся в нашей памяти, поэтому остается только надеяться, что мы все помним правильно.

    Читать дальше →
  • Возможные неопределенности в карьере программиста. Часть 2

      Доброго времени суток, Хабровчане!

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

      Что начал делать Ваня чтобы повысить свои навыки? Как прошел интервью в новую компанию? Обо всем по порядку.

      Читать далее
      • –1
      • 5,4k
      • 7
    • Возможные неопределенности в карьере программиста

      Здравствуй, Хабр!

      Давно собирался написать данную статью, но, как и, возможно, у многих, не хватало времени это сделать. Речь пойдет об одном «программисте», не скажу, что прям обо мне который пытается развиваться как профессионал, и строить свою карьеру в IT-сфере. Пусть, условно, его будем звать Ваней. Но, обо всем по порядку.
      Читать дальше →
    • Швейцарский нож отладки JavaScript



        Кажется, что все в начале пути разработчика отлаживали код при помощи console.log(). Я уверен, что и сейчас среди читателей найдётся человек, который сможет отладить код любой сложности при помощи вывода информации в консоль.

        Признаюсь честно, я и сам достаточно долго просто выводил что-то в консоль, пытаясь понять, что пошло не так. Я понимал, что использовать breakpoint быстрее и продуктивнее, даёт больше возможностей, ну и в целом выглядит солиднее, но по-прежнему пользовался консолью.
        Читать дальше →
      • Трёхпроходный алгоритм рефакторинга Front End

        • Tutorial

        Попался мне достаточно крупного размера проект написанный на React + Typescript.
        Покопался в коде. Всё круто, контейнеры, компоненты, типы везде стоят, линтер настроен, styled-components, даже storybook есть и некий react-query.

        Ну просто счастье, а не проект!

        Сажусь делать простую таску – какую-то страничку собрать из компонентов.
        Пишу в коде But… и IDE мне предлагает 16 Button компонентов.

        Блииин…

        Дальше больше...
      • Мой топ книг о Python

          Привет, Хабр! Я Слава, руководитель команды «Профессиональные инструменты» в Циане, член ПК Moscow Python Conf и член core-команды авторов в Яндекс.Практикуме.

          Вместе с ребятами мы развиваем курс «Мидл python-разработчик», и сегодня я хочу поделиться моим личным списком книг, которые помогут вам структурировать и углубить свои знания о разработке на языке Python.


          Читать дальше →
          • +30
          • 21,1k
          • 3
        • Как создают и поддерживают веб-страницы tinkoff.ru

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

            Читать далее
            • +23
            • 12,9k
            • 8
          • Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал



              Доброго времени суток, друзья!

              Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

              Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

              В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

              Без дальнейших предисловий.


              Читать дальше →
              • +6
              • 42,5k
              • 7
            • Полное руководство по Flexbox

              • Перевод
              Полное руководство по CSS flexbox. Это полное руководство объясняет все о flexbox, сосредотачиваясь на всех возможных свойствах для родительского элемента (контейнер flex) и дочерних элементов (элементы flex). Оно также включает в себя историю, демонстрации, шаблоны и таблицу поддержки браузеров.
              Читать дальше →
              • +11
              • 156k
              • 5
            • Полное руководство по CSS Flex + опыт использования

                Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

                Когда я начал изучать Flex, я хотел увидеть все, на что он способен. Но мне не удалось найти подробное руководство с примерами всех возможностей. Поэтому я решил самостоятельно создать диаграммы свойств Flex с «высоты птичьего полета».

                Читать!
              • В открытом доступе опубликованы 40 самых важных научно-популярных книг на русском языке



                  Более 40 самых важных научно-популярных книг опубликованы в рамках проекта «Дигитека». Акция не имеет аналогов в российской практике, сказано на сайте проекта.
                  Читать дальше →
                • Бесплатные сервисы для разработчиков — огромный список


                    Бесплатное хранилище артефактов PackageCloud

                    Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

                    Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

                    Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
                    Читать дальше →
                  • Клетки-зомби, оживающие в мозге человека после смерти

                    • Перевод
                    Что происходит с организмом человека, когда он умирает?

                    Мы представляем себе, что всё перестает работать: без кровообращения и дыхания системы и органы просто не смогут функционировать. Однако вот ведь какое странное дело, причуда природы: оказывается, внутри нас существует «живые мертвецы» — это клетки, продолжающие жить внутри неживого тела. И они не просто живут, их активность даже увеличивается.


                    Читать дальше →
                  • Программист ли я, или просто хорошо гуглю?

                      Письмо Скотту Хансельману


                      «Иногда в моей голове звучит вопрос — действительно ли я разработчик или просто хорошо гуглю. Я не знаю правильного ответа — я гуглер или разработчик. Скотт, пожалуйста, помоги мне выяснить»

                      От переводчика


                      Всем привет, с вами Максим Иванов, и сегодня мы поговорим об одном из постов Скотта Хансельмана (Scott Hanselman), который он написал по причине довольно серьезного и хорошо сформулированного письма к нему. В общем-то, меня вдохновила одна из статей на нашем ресурсе под названием Google-oriented programming. Больше всего мне понравилось то, что в программистах порой может появиться синдром самозванца. Конечно, труды Хансельмана не единственны в этом мире с точки зрения психологии, но он дает четко нам понять, что это нормально. Как он пишет: «Но вот в чем дело. Мы все иногда чувствуем себя обманщиками. Мы все обманщики. Это часть роста. Мы попадаем в ситуации, которые немного сложнее того, с чем мы можем справиться. Но мы справляемся с ними, мы не обманщики, и мы двигаемся к следующему испытанию.» Так давайте же разберемся, какие решения и выводы Скотт предлагает нам в своем посте. Приступим.
                      Читать дальше →
                    • Руководство по HTML/CSS/JavaScript

                        Frontend Guidelines

                        Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

                        От переводчика

                        Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
                        Читать дальше →
                      • Проблемы CSS. Часть 2

                        • Перевод
                        Продолжение перевода статьи «Проблемы CSS. Часть 1».

                        Когда использовать width / height равный 100%?


                        Height: 100%

                        Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

                        Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

                        Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

                        Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

                        Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
                        Читать дальше →
                      • Проблемы CSS. Часть 1

                        • Перевод
                        От переводчика
                        Статья большая решил разбить на две части.

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

                        Для многих вещей, css, не был предназначен изначально, например для таких как: многоколоночность, отзывчивый веб дизайн и т.д. Вот почему он стал языком полным хаков и глюков, как какая-то древняя машина с кучей расширений.

                        В лучшем случае — работу с css можно назвать веселым занятием. И это то, благодаря чему мы имеем работу. Потому что, как я считаю, генерация эффективных и кроссбраузерных css стилей невозможна и не будет возможна в ближайшее время.
                        Читать дальше →
                      • 5 плохих CSS практик

                        • Tutorial

                        Бытует мнение, что CSS сложный. Существует много костылей, магии. Легко выстрелить себе в колено. Меня это печалит, потому что я так не считаю. Немного подумав, что можно сделать, я собрал 5 привычек разработчиков, которые мне не нравятся, и показал, как их избежать.

                        Читать дальше →
                      • Отменим ли мы Web?

                        • Перевод

                        Этот пост написан Ханной Вулфман-Джонс, но включает ответ эксперта по гражданским правам Надин Строссен, экс-президента ACLU

                        Рождение движения

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

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

                        К началу 80-х Столлман основал движение за свободное программное обеспечение и стал одним из самых плодовитых его участников, запрограммировав операционную систему GNU, целью которой было создание полностью бесплатного программного обеспечения. Он проводил кампании и бесплатно кодировал бесплатное программное обеспечение, в то время как его менее талантливые коллеги-информатики зарабатывали миллионы.

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

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

                          image


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

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

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