• Введение в непрерывную поставку (CD) при помощи GitLab

    • Translation
    • Tutorial

    Введение в непрерывную поставку (CD) при помощи GitLab


    Введение в непрерывную поставку (CD) при помощи GitLab


    Данный туториал позволит вам быстро прочувствовать как происходит командная работа с использованием GitLab. В целом, начать практиковать DevOps/CD с GitLab проще чем с использованием других продуктов потому что GitLab — это решение "всё в одном".


    В процессе этого туториала мы


    • настроим базовое управления проектом на GitLab.com;
    • создадим конвейер непрерывной поставки
    • проведём несколько циклов работы с GitLab Flow
    • изучим метрики CI/CD в GitLab

    Желательны но необязательны базовые знания


    • Git;
    • Node.js;
    • React;
    • Docker;
    Читать дальше →
  • Почему в MIT больше не изучают SICP

      На днях широкое внимание привлекло состоявшееся в начале года на митапе NYC Lisp выступление Джеральда Джей Сассмана, — одного из авторов великого и могучего SICP, а также крестного отца Scheme. Всему виной — ответ на вопрос, почему в MIT прекратили преподавать ставший легендарным курс 6.001, построенный на основе книги Сассмана и Абельсона «Структура и интерпретация компьютерных программ» (вопрос задан на 59 минуте).



      Сассман назвал две причины; впрочем, сразу замечу, что в первой из них нет ничего особенного. К 1997 году Абельсон и Сассман уже устали рассказывать практически одно и то же с 80-ых, поэтому решили оставить преподавание и предложили главе кафедры самостоятельно решить, как поступить с самим курсом. Здесь удивляться действительно нечему — что угодно может осточертерть, если заниматься им достаточно долго.

      Впрочем, вторая причина гораздо серьезнее. По мнению Сассмана, они с Абельсоном осознали, что учебный план SICP больше не в силах подготовить инженеров к тому, что представляет собой «инжиниринг» сегодня. В 80-ых и 90-ых инженеры строили сложные системы, комбинируя простые и хорошо изученные «части». Целью SICP было предоставить язык абстракций для рассуждений о таких системах.
      Читать дальше →
    • Заметки верстальщика: Полезные расширения Google Chrome в 2019 году

      В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов.

      Читать дальше →
    • Что должно быть в макете сайта: шпаргалка для дизайнера

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

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

        Осторожно, в статье очень много иллюстраций.

        Читать далее
      • Начало работы с нейронными сетями

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

        Читать далее
      • Мир JavaScript в 2021 году

        • Translation
        Мир веб-разработки весьма изменчив. Изменения в нём происходят очень быстро. Что принесёт в него 2021 год? Здесь я хочу поделиться выводами о грядущих крупных JS-трендах, которые я сделал, проанализировав соответствующие исследования, проведённые в 2020 году.



        Сначала — пара слов о самих этих исследованиях. К сожалению, какое-то время нам придётся обходиться без свежих материалов отличного Front End Tooling Survey. Это усложняет поиск трендов. И хотя в этом году на одно хорошее исследование стало меньше, вместо него появилось одно новое — The State of Front End. Но оно проводится первый год, поэтому в нашем распоряжении нет его данных за прошлые годы, что, опять же, не способствует облегчению задачи поиска трендов. Правда, в нём приняло участие внушительное количество разработчиков со всего мира (4500), что, определённо, делает его ценным источником информации.
        Читать дальше →
      • Опыт Pixar: Как узнать, насколько ты хороший лидер

        • Translation
        image


        Али Рогани — работал в Pixar 9 лет (из них 6 лет — CFO, коммерческим директором). 2 года работал CFO в Twitter и еще 2 года COO. Руководит YC Continuity — программа для успешных выпускников YC.

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

        Так есть ли способ лучше?

        Это эссе описывает способ измерения лидерства, который, я надеюсь, будет полезен тем, кто стремится совершенствовать это качество. Он основан на наблюдениях, которые я сделал, работая в тесном сотрудничестве с четырьмя лидерами, которых я считаю выдающимися: Эд Катмулл (основатель Pixar), Стив Джобс (CEO Pixar), Джон Лассетер (главный креативный директор Pixar) и Боб Айгер (CEO Disney). К моему удивлению, эти люди не могли быть более разными по стилю, темпераменту и подходу. Они не соответствовали единой модели лидерства. Один был ученым-интровертом, а другой — художником-экстравертом. Один из них бросил колледж, основал компанию и прославился дерзким поведением, а другой был профессиональным руководителем, который был исключительно вежливым и дипломатичным.
        Читать дальше →
      • Как проходит собеседование Junior фронтенд-разработчика

          Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик».

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


          Из чего состоит собеседование


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

          Обычно собеседование можно разбить на три части:

          • знакомство,
          • технические вопросы и/или задание,
          • ваши вопросы.

          Читать дальше →
        • TypeScript: Раскладываем tsconfig по полочкам. Часть 1

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

          Читать далее
          • +28
          • 10.2k
          • 4
        • Вторая главная обязанность CEO стартапа

          • Translation
          image

          Али Рогани — работал в Pixar 9 лет (из них 6 лет — CFO, коммерческим директором). 2 года работал CFO в Twitter и еще 2 года COO. Руководит YC Continuity — программа для успешных выпускников YC.

          Успешные‌ ‌стартапы‌ ‌по‌ ‌мере‌ ‌своего‌ ‌роста‌ ‌проходят‌ ‌три‌ ‌основных‌ ‌этапа,‌ ‌и‌ ‌CEO‌ ‌стартапа‌ ‌кардинально‌ ‌меняется‌ ‌на‌ ‌каждом‌ ‌из‌ ‌них.‌ ‌

          • Первая‌ ‌задача‌ ‌CEO‌ ‌-‌ ‌создать‌ ‌продукт,‌ ‌который‌ ‌понравится‌ ‌пользователям.
          • Вторая‌ ‌задача‌ ‌-‌ построить‌ ‌компанию,‌ ‌чтобы‌ ‌максимизировать‌ ‌возможности,‌ ‌которые‌ ‌открывает‌ ‌продукт.
          • Третья‌ ‌- получение‌ ‌прибыли‌ ‌от‌ ‌основного‌ бизнеса,‌ ‌чтобы‌ ‌инвестировать‌ ‌в‌ ‌трансформирующие‌ ‌идеи‌ ‌новых‌ ‌продуктов.‌ ‌

          Этот‌ ‌пост‌ описывает,‌ ‌как‌ справляться со второй задачей‌ ‌CEO,‌ ‌сосредоточившись‌ ‌с‌ максимальной‌ ‌отдачей‌ ‌на‌ ‌задачах,‌ которые‌ ‌может‌ ‌выполнить‌ ‌только‌ ‌CEO.‌ ‌

          Как‌ ‌команда‌ ‌преемственности‌ ‌YC,‌ ‌мы‌ ‌видели,‌ ‌как‌ ‌многие‌ ‌CEO‌ ‌справлялись с первой задачей и ‌ ‌успешно‌ ‌переходили‌ ко ‌второй,‌ ‌а‌ ‌некоторые‌ ‌-‌ ‌нет.‌ ‌Будущее‌ ‌вашего‌ ‌стартапа‌ ‌зависит‌ ‌от‌ ‌того,‌ ‌к‌ ‌какому‌ ‌типу‌ ‌вы‌ ‌относитесь.‌

          Ваше первое творение — это продукт, ваше второе творение — это компания

          Читать дальше →
          • +12
          • 2.8k
          • 1
        • Разрабатываем web-site для микроконтроллера


            С приходом в нашу жизнь различного рода умных розеток, лампочек и других подобных устройств, необходимость наличия веб-сайтов на микроконтроллерах стала неоспоримой. А благодаря проекту lwIP (и его младшему брату uIP) подобным функционалом никого не удивишь. Но поскольку lwIP направлен на минимизацию ресурсов, то с точки зрения дизайна, функционала, а также удобства использования и разработки, подобные сайты сильно отстают от тех, к которым мы привыкли. Даже для встроенных систем, сравнить, например, с сайтом для администрирования на самых дешевых роутерах. В данной статье мы попробуем разработать сайт на Линуксе для какого-нибудь умного устройства и запустить его на микроконтроллере.
            Читать дальше →
          • Автоматическая виртуализация рендеринга произвольной вёрстки

              Здравствуйте, меня зовут Дмитрий Карловский и я.. прибыл к вам из недалёкого будущего. Недалёкого, потому что там уже всё и все тормозят. Писец подкрался к нам незаметно: сначала перестали расти мощности компьютеров, потом пропускная способность сетей. А пользователи… они продолжали генерировать контент как не в себя. В итоге, за считанные годы UX интерфейсов деградировал настолько, что ими стало невозможно пользоваться и многие пользователи поспешили перейти на облачный стриминг своих браузеров, которые работают на суперкомпьютерах, принадлежащих корпорациям, которые не дают людям устанавливать на них блокировщики рекламы. Поэтому я пришёл к вам именно сейчас, в этот момент, когда проблема уже заметна, но ещё можно всё исправить, пока не стало слишком поздно.

              Лонгрид
            • Почему инженеры не могут оценить время разработки

              • Translation

              Статистический подход к объяснению ошибочных дедлайнов в инженерных проектах



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

              Эта проблема особенно актуальна в проектировании ПО, но и другие инженерные дисциплины страдают от того же. Поэтому хотя в этой статье говорится о проектировании ПО, она в некоторой степени относится и к другим дисциплинам.
              Читать дальше →
            • Можно ли сэкономить, набирая junior специалистов?

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


                Давайте приведем возможные доводы за то, чтобы строить HR политику на наборе джуниоров и их последующем росте.

                Читать дальше →
              • Ультимативный список инструментов для разработчиков и опытных пользователей для Windows

                  Можете ли вы поверить, что с момента моего последнего списка инструментов прошло 6 лет? Инструменты изменились, многие из них доступны онлайн, но, честно говоря, для составления нового списка инструментов требуется ОЧЕНЬ МНОГО РАБОТЫ. Но я смог, вот список на 2020-2021 годы. Это инструменты в моей папке Utils. Я создал папку d:\dropbox\utils и добавил ее в свой PATH. Таким образом, он будет на всех моих компьютерах, и я могу мгновенно добраться до любого из них.

                  Это обновленный до версии 2020-21 мой список 2003, 2005, 2006, 2007, 2009, 2011 и 2014 годов, который в настоящее время включает все остальные мои списки. Я занимаюсь этим более 17 лет. Вау. Думаю, стоит тратить на это больше времени.

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

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

                  Эту статью написал наш коллега Скотт. Вот версия на английском. Ну а сам список под катом.

                  Читать дальше →
                • Ресурсы для поиска удаленной работы для нетехнарей

                    Возможно у вас тоже есть друзья-нетехнари, которые терзают вас вопросами "как попасть в айти?", и "где искать постоянную удаленную работу?". У меня на этот случай есть заготовленный списочек, который уже сэкономил мне много часов на таких вопросах. Хочу поделиться им с вами и попробую его обновлять, если Хабр позволяет обновлять публикации.

                    Тем, у кого уровень английского "London is the capital of Great Britain", я советую идти на популярные российские ресурсы и искать там по фильтру "удаленная работа". А тем, чей уровень английского позволяет, кто хочет получать з/п в долларах и готов заморочиться с оформлением ИП или самозанятости, можно спокойно предлагать поискать иностранную компанию.

                    Это, конечно, не исчерпывающий список, и будет круто, если вы дополните его в комментариях. Удачи в поиске!

                    Читать далее
                  • Неожиданная полнота по Тьюрингу повсюду

                    • Translation
                    Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере?

                    Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp. — Десятое правило Гринспена

                    Полнота по Тьюрингу (Turing-completeness, TC) — это свойство системы при некотором простом представлении ввода и вывода реализовать любую вычислимую функцию.

                    Тьюринг-полнота — фундаментальное понятие в информатике. Она помогает ответить на многие ключевые вопросы, например, почему невозможно создание идеальной антивирусной программы. Но в то же время она является поразительно распространённым явлением. Казалось бы, компьютерной системе трудно достичь такой универсальности, чтобы выполнять любую программу, но получается наоборот: трудно написать полезную систему, которая немедленно не обратится в полную по Тьюрингу. Оказывается, что даже небольшой контроль над входными данными и преобразованием их в результат, как правило, позволяет создать тьюринг-полную систему. Это может быть забавным, полезным (хотя обычно нет), вредным или чрезвычайно небезопасным и настоящим подарком для хакера (см. о «теоретико-языковой безопасности», которая изучает методы взлома «странных машин»1). Удивительные примеры такого поведения напоминают нам о том, что полнота по Тьюрингу таится повсюду, а защитить систему чрезвычайно сложно.
                    Читать дальше →
                  • Безопасность npm-проектов, часть 2

                      Безопасность npm-проектов, часть 2


                      Всем привет! В прошлых постах мы поговорили о том, как команда npm обеспечивает безопасность, а также начали рассматривать инструменты, помогающие нам повысить безопасность проектов. Я хочу продолжить разговор и рассмотреть следующий набор полезных инструментов.

                      Читать дальше →
                      • +27
                      • 3.4k
                      • 3
                    • Паровой судомоделизм



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