• Yum, шпаргалка



    Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

    Оглавление


    Команды
    Опции Yum
    Пакет Yum-Utils
    Конфигурационные файлы
    Плагины
    Работа через прокси
    Читать дальше →
  • 20 небольших, но вдохновляющих вызовов веб-разработчику

    • Translation
    Специально к старту нового потока курса «Frontend-разработчик» делимся переводом подборки с 20 проектами для освоения фронтенда. Эта подборка хорошо подходит, если вы хорошо знакомы с какой-то областью разработки ПО и хотите глубже копнуть во фронтенд. Также она прекрасно подходит людям, которые не хотят начинать знакомство с фронтендом со стандартных проектов. Проекты довольно небольшие, и у каждого указан уровень сложности. С помощью этих проектов вы ознакомитесь с Tone.js — обёрткой над Web Audio, освоите необычно мягкую смену темы со светлой на темную, и наоборот, а почти в конце ждёт самое вкусное — управляемая голосом векторная графика SVG.


    Приятного чтения!
  • Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

    Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions. На дворе 2020 год, а мы продолжаем обсуждать «нововведения» ES6-синтаксиса и преимущества MobX над Redux. Существует много причин использовать Redux в своем проекте, но так как я не знаю ни одной, расскажу о том, почему мы выбрали MobX.

    Почему?
  • Кто такие шизоиды, где они обитают, и почему вам может быть полезно о них узнать


      Основные стереотипы о шизоидах в одной картинке

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

      Сам этот характер довольно тяжело описать одновременно коротко и корректно. Некоторые называют их «гиками», «интровертами», «чудаками», «ботаниками», «хикканами», «эксцентричными», «нердами», «компьютерными гениями»[1, стр. 231], и все эти характеристики в той или иной мере имеют отношение к, собственно, шизоидам, но ни одна из них не является определяющей.

      Проще всего шизоида описать через динамику его внутренних процессов, но такое описание займёт слишком много места, поэтому ограничимся простым (и неточным определением): для целей этой статьи шизоид — это человек, имеющий внутренний конфликт по поводу желания близости и потребности сохранить свою независимость, и решающий этот конфликт через отказ от контактов с внешним миром в пользу погружения в мир собственных фантазий и абстрактных построений.

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

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



        Демо и документация
        Github
        Плагин для React

        Подобный эффект я реализовывал данным давно, еще в университете и на Delphi. Получилось вполне достойно, правда времени я потратил тогда очень много. Сейчас, во время самоизоляции, стало интересно реализовать что-то подобное на JS, для PC и мобильных устройств.

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

        Написано все на Typescript. Не использовались ни какие сторонние библиотеки. Зависимостей нет.

        Ключевые особенности библиотеки


        • Работает как с простыми изображениями, с отрисовкой на canvas, так и с html блоками — используя css трансформации
        • Довольно гибкая система конфигурации и простое API
        • Поддерживает мобильные устройства
        • Автоматическая смена ориентации между портретным и ландшафтным режимом
        Читать дальше →
      • Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 1 — 14

        Некоторое время назад в моей ленте в фейсбуке всплыла ссылка на книгу Эндрю Ына (Andrew Ng) "Machine Learning Yearning", которую можно перевести, как "Страсть к машинному обучению" или "Жажда машинного обучения".


        image<img src="<img src="https://habrastorage.org/webt/ds/rc/ct/dsrcctfottkedkf7o1hxbqsoamq.png" />" alt="image"/>


        Людям, интересующимся машинным обучением или работающим в этой сфере представлять Эндрю не нужно. Для непосвященных достаточно сказать, что он является звездой мировой величины в области искусственного интеллекта. Ученый, инженер, предприниматель, один из основателей Coursera. Автор отличного курса по введению в машинное обучение и курсов, составляющих специализацию "Глубокое обучение" (Deep Learning).

        Читать дальше →
        • +40
        • 44.9k
        • 3
      • Публикуем дизайн-библиотеки компонентов VKUI в Figma

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


          На Github уже опубликован исходный код компонентов на React — следуя примеру наших разработчиков, теперь мы делимся библиотеками компонентов в Figma.


          Читать дальше →
          • +18
          • 6.5k
          • 5
        • Современный курс по Node.js в 2020

          • Tutorial


          Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API без привязки к конкретному фреймворку и даже протоколу, т.е. абстрагировать бизнес-логику в отдельный слой. К лекциям прикреплено множество примеров кода, демонстрирующих гибкую структуру приложений и архитектурные приемы, в том числе работу с СУБД через слой доступа к данным, создание интерактивных приложений на вебсокетах, обеспечение безопасности, Graceful shutdown, межпроцессовое взаимодействие, предотвращение утечек памяти, масштабирование и кластеризацию при помощи процессов и потоков. На текущий момент в курсе 38 лекций (около 35 и ½ часов видео), 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию.

          Читать дальше →
        • Знание и состояние

            Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние.


            Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительности это не так важно. Это та часть нашего приложения, которое мы видим — его “мышцы“ и “кожа”. Но то, как вы думаете — какими терминами оперируете, какие механики используете для даже визуализации в голове того, как в вашем приложении “текут” данные — все это идет из его скелета. Из state manager-а.


            Помните, пару лет назад у нас была усталость от JavaScript-а? Сейчас я вижу у огромного количества людей усталость от state manger-ов. Redux? Да, да and да. RxJS? Тоже. MobX? Если он такой простой — блин, почему у него есть в документации страница западни.html?


            Ответ “почему многим так тяжело” есть, но сначала надо точно сформулировать проблему.


            Выбирая state manger — мы выбираем образ мышления. Вариантов сейчас много, но самые популярные подходы бьются на 3 группы:

            Читать дальше →
            • +19
            • 7.2k
            • 9
          • Разбираемся с управлением памятью в современных языках программирования

            Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan.

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

            Углублённое изучение концептов управления памятью позволяет писать более эффективное ПО, потому как стиль и практики кодирования оказывают большое влияние на принципы выделения памяти для нужд программы.
            Читать дальше →
          • Что такое grep и с чем его едят

              Эта заметка навеяна мелькавшими последнее время на хабре постами двух тематик — «интересные команды unix» и «как я подбирал программиста». И описываемые там команды, конечно, местами интересные, но редко практически полезные, а выясняется, что реально полезным инструментарием мы пользоваться и не умеем.
              Небольшое лирическое отступление:
              Года три назад меня попросили провести собеседование с претендентами на должность unix-сисадмина. На двух крупнейших на тот момент фриланс-биржах на вакансию откликнулись восемь претендентов, двое из которых входили в ТОП-5 рейтинга этих бирж. Я никогда не требую от админов знания наизусть конфигов и считаю, что нужный софт всегда освоится, если есть желание читать, логика в действиях и умение правильно пользоваться инструментарием системы. Посему для начала претендентам были даны две задачки, примерно такого плана:
              — поместить задание в крон, которое будет выполняться в каждый чётный час и в 3 часа;
              — распечатать из файла /var/run/dmesg.boot информацию о процессоре.

              К моему удивлению никто из претендентов с обоими вопросами не справился. Двое, в принципе, не знали о существовании grep.

              image

              Поэтому… Лето… Пятница… Перед шашлыками немного поговорим о grep.
              Читать дальше →
            • Алан Кей рекомендует почитать старые и забытые, но важные книги по программированию

                image

                Алан Кей — это магистр Йода для ИТишников. Он стоял у истоков создания первого персонального компьютера (Xerox Alto), языка SmallTalk и концепции «объектно-ориентированного программирования». Он уже много высказывался о своем взгляде на образование в сфере Computer Science и советовал книги тем, кто хочет углубить свои познания:


                Недавно на Quora опять подняли эту тему и обсуждение вышло на первое место на Hacker News. Предлагаю вашему вниманию «новый» список суперстарых и фундаментальных книг по программированию и мышлению программиста от Алана Кея.

                Lisp 1.5 Programmers Manual

                by John McCarthy, 1962

                image

                Книга — абсолютный чемпион и пожизненный лидер рейтинга всех списков книг от Алана Кея. Этой версии языка уже нет, но книга — великолепна.

                ещё восемь раритетов:
                Читать дальше →
              • Собираем окружение для современного TDD на JavaScript + VS code

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

                  image

                  Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, повторяют. Процесс вроде одинаковый, но у одних он занимает одну минуту, а у других пять. И дело не в том, что вторые медленнее думают. Просто у первых есть набор хитростей, позволяющих оптимизировать работу с тестами.
                  Читать дальше →
                  • +24
                  • 9.9k
                  • 5
                • Чемпионат по программированию: разбираем задачи для фронтенд-разработчиков

                    На днях победители чемпионата по программированию, который завершился в начале лета, получили заслуженные призы. Для этого мы позвали их, а также всех остальных финалистов из топ-20 каждого направления в московский офис Яндекса. Ещё раз поздравляем тех, кто сумел выйти в финал.

                    Тем временем мы подготовили разбор задач чемпионата, которые предлагались фронтенд-разработчикам. Это задачи из квалификационного этапа. Напоминаем, что чемпионат проводился по четырём направлениям: бэкенд, фронтенд, машинное обучение и аналитика.

                    A. Градусник пробок


                    Условие


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

                    Читать дальше →
                    • +28
                    • 30.8k
                    • 1
                  • Бот впервые обыграл профессионалов NL Holdem за столом с шестью игроками

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

                      Такие нюансы сделали покер устойчивым к методам обучения ИИ, которые добились успеха в других играх. Казалось, компьютеры никогда не смогут успешно играть в покер против людей. Но теперь ясно, что все ошибались.

                      В последние годы новые методы смогли победить лучших людей в хэдзапе (бот Libratus). А сейчас достигнута ключевая веха: бот Pluribus, разработанный в университете Карнеги — Меллона и Facebook, победил элитных игроков за столом с шестью игроками (научная статья опубликована в Science). Что характерно, самообучение программы проводилось на одном 64-ядерном сервере с 512 ГБ памяти. Это не какие-то корпоративные проекты, где нейросеть обучается на десятках тысяч процессорных ядер. Обучение программы вроде Pluribus может повторить практически любой исследователь.
                      Читать дальше →
                    • 5 причин, почему вы должны забыть о Redux в приложениях на React

                      Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегчающих» жизнь — это лучшее решение на сегодняшний момент? Я приведу 4 аргумента в пользу того, чтобы в следующем проекте вы использовали MobX вместо Redux.
                      Читать дальше →
                    • Корпоративный квест

                        — Вы ему не говорили?

                        — А что я могла сказать?! – всплеснула руками Татьяна, искренне возмущаясь. – Как будто я что-то знаю про этот ваш дурацкий квест!

                        — Почему дурацкий? – Сергей не менее искренно удивился.

                        — Потому что мы так никогда не найдем себе нового ИТ-директора! – Татьяна, по обыкновению, начала краснеть от возмущения. – Вы как ушли на повышение, так и спускаете на тормозах всех кандидатов!

                        — А вас это почему беспокоит?

                        — Я директор по персоналу, вот почему!

                        — Погодите… Я понял! – Сергей заулыбался, как ребенок. – У вас премия горит, так? Точно, скоро ведь конец года, KPI считать будут, а у вас одна из ключевых позиций пустует – ИТ-директор.

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

                        — Сергей… — начала было Татьяна.

                        — Ладно, будет вам ИТ-директор. – серьезно произнес Сергей. – Кандидат приличный?

                        — Да. – в голосе Татьяны зазвучали нотки надежды. – Вот, я резюме принесла!
                        Читать дальше →
                      • Ричард Хэмминг: Глава 1. Ориентация

                        • Translation
                        «Цель этого курса — подготовить вас к вашему техническому будущему.»

                        imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)?

                        Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

                        Мы уже перевели 10 (из 30) глав.

                        Глава 1. Ориентация


                        (За перевод спасибо Savva Sumin, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

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

                        Я буду рассматривать, критиковать и демонстрировать различные стили мышления. Для иллюстрации стилевых особенностей я буду использовать технические знания, знакомые большинству из вас, что, опять же, надеюсь, станет для вас полезным повторением основ. Вам следует рассматривать этот курс в качестве дополнения к уже изученным вами техническим курсам. Многим вещам, о которых я буду говорить, не нашлось места в стандартных курсах, однако я глубоко убеждён, что вам необходимо о них знать. Этот курс существует потому, что Отдел Электрической и Компьютерной Разработки Аспирантуры Университета Морской Пехоты осознаёт необходимость общего, широкого образования, наряду со специализированным, технологическим обучением, которого потребует ваше будущее.
                        Читать дальше →
                        • +34
                        • 21.7k
                        • 5
                      • Ричард Хэмминг: Глава 13. Теория информации

                        • Translation
                        Мы это сделали!

                        «Цель этого курса — подготовить вас к вашему техническому будущему.»

                        imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2588 в закладки, 429k прочтений)?

                        Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

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

                        За перевод спасибо Андрею Пахомову.

                        Теория Информации была разработана К. Э. Шенноном в конце 1940х годов. Руководство Лабораторий Белла настаивало, чтобы он назвал ее «Теория Связи», т.к. это намного более точное название. По очевидным причинам, название «Теория Информации» обладает значительно большим воздействием на публику, поэтому Шеннон выбрал именно его, и именно оно известно нам по сей день. Само название предполагает, что теория имеет дело с информацией, это и делает ее важной, поскольку мы все глубже проникаем в информационную эпоху. В этой главе я затрону несколько основных выводов из этой теории, приведу не строгие, а скорее интуитивно понятные доказательства некоторых отдельных положений этой теории, чтобы вы поняли, чем на самом деле является «Теория Информации», где вы можете ее применять, а где нет.
                        Читать дальше →
                        • +13
                        • 7.6k
                        • 1
                      • Вы неправильно пишете животных

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


                          Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

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