• Распространенные ошибки безопасности в приложениях Laravel

    • Translation

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

    CyberPanda Team

    Читать далее
  • Система управления иерархическими древовидными комментариями для Laravel

      Пакет для фреймворка Laravel, который позволяет организовать управление древовидными комментариями. Используется симбиоз двух методов хранения иерархических структур — «Closure Table» и «Adjacency List».

      Совместное применение методов «Closure Table» и «Adjacency List» позволяет: Минимизировать количество запросов к базе данных. Для извлечения ветки комментариев достаточно одного запроса, обеспечить высокую производительность, гарантировать целостность данных иерархи, работать с древовидными структурами без рекурсивных запросов.

      Читать далее
    • 9 репозиториев, о которых должен знать каждый веб-разработчик

      • Translation
      В наши дни GitHub — это универсальное хранилище всего, что связано с веб-разработкой. Фреймворки, демоверсии, всевозможные коллекции — вероятно, нет ничего такого, что вы не могли бы найти на GitHub. Однако в этом огромном количестве и заключается проблема. Есть классные вещи, о которых вы, вероятно, никогда не услышите просто потому, что репозиториев много. Сегодня, специально к старту нового потока курса по веб-разработке мы делимся подбокой некоторых из самых популярных репозиториев GitHub, о которых вы должны знать, каждый из которых имеет по крайней мере ~30 000 звёзд.

      Приятного чтения
      • +6
      • 18.1k
      • 5
    • Raspberry Pi и RetroPie: делаем консоль для ретро-игр

      • Translation
      • Tutorial
      Для того чтобы создать собственную консоль для ретро-игр, которую можно будет подключить к любому телевизору или монитору, поддерживающему HDMI, понадобится примерно $50 и немного времени. В этом материале представлено полное пошаговое руководство по сборке и настройке игровой системы, основанной на одноплатном компьютере Raspberry Pi и на операционной системе RetroPie. RetroPie — это замечательный проект, созданный специально для тех, кто хочет превратить Raspberry Pi или другие устройства в эмулятор для старых игр.

      Читать дальше →
    • Сложение двух чисел с плавающей запятой без потери точности

        Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

        s = a+b;
        z = s-a;
        t = b-z;
        

        то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

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

          Нью-Йорк во всей красе
          От редакции: мы продолжаем наш цикл об IT-эмиграции, посвященный работе за рубежом, изучению языков и другим интересным вещам. В прошлой статье рассказали о нюансах переезда из Украины в Испанию. Теперь поговорим об американском английском.
          От автора: Бытует мнение, что английский очень легкий язык, а американский английский и подавно. Но это миф. В статье я покажу, почему это не так, рассказав свою историю изучения американского английского во время поездок по США. Кроме того, расскажу об акцентах/диалектах отдельных штатов. С ними можно познакомиться в ряде фильмов — под катом несколько примеров. В целом, если вы изучаете английский, эта статья лишней не будет. На роль образовательного материала она не претендует, но для общего развития вполне годится.
          Читать дальше →
        • Делаем Linux терминал красивым и удобным

          Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто красивое и одновременно удобное и простое в использовании я потратил много времени. Итак, как же сделать дефолтный терминал удобным и приятным в использовании?
          Читать дальше →
        • 10 советов по тестированию в Symfony

          • Translation
          • Tutorial

          Я принял участие в проекте с двухлетней кодовой базой и Symfony 3.4 в качестве веб-фреймворка. Это был не самый новый и блестящий проект, но у него было большое достоинство: тесты покрывали самые важные действия приложения.

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

          Этого достигли с помощью многочисленных функциональных тестов Symfony и некоторых модульных тестов, которые заполнили некоторые пустоты. Общее покрытие было около 50-52 %, но покрытие критически важной функциональности было гораздо выше. Это придавало достаточно уверенности, чтобы добавлять новые функции без ручного тестирования.
          Читать дальше →
        • Интересные CSS-находки в дизайне Twitter

          • Translation
          Хочу в очередной раз рассказать о результатах исследования дизайна сайта, который привлёк моё внимание. В прошлый раз я писал о CSS-механизмах, лежащих в основе нового дизайна Facebook. А теперь мне стало любопытно исследовать CSS-код Twitter. Новый дизайн Twitter появился почти год назад. В CSS-коде Twitter я нашёл много интересного: кое-что кажется мне просто замечательным, а кое-что — странным.


          Читать дальше →
        • 10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

          • Translation

          Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


          Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.


          image


          А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
          Читать дальше →
          • +62
          • 81k
          • 8
        • 10 отличных Github репозиториев для разработчиков (часть 2)

          • Translation

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



          Как и в прошлом случае, перевод будет довольно вольным: я опустил предисловие и эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, поехали.
          Читать дальше →
          • +6
          • 11.5k
          • 5
        • Отзывчивый шрифт. Адаптация текста между макетным и минимальным значениями

          • Tutorial
          Адаптивный или отзывчивый шрифт — это мечта любого веб-разработчика. Я пересмотрел множество вариантов реализации, посидел вечерок и вывел для себя надежный работающий вариант. Им и хочу с тобой поделиться. Бонус SCSS миксин!

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

            В этой части на примере мода для Beat Saber мы рассмотрим общие принципы разработки модов для Unity-игр, узнаем, какие есть трудности, а также познакомимся с Harmony — библиотекой для модификации кода игр, которая используется в RimWorld, Battletech, Cities: Skylines и многих других играх.


            Хоть эта статья и похожа на туториал, как написать свой мод для Beat Saber, ее цель — показать, какие принципы используются при создании любых пользовательских модов и какие проблемы приходится решать при разработке. Все, что здесь описано, с некоторыми оговорками применимо для всех Unity-игр как минимум в Windows.


            Читать дальше →
            • +14
            • 4.1k
            • 7
          • Разработка мобильных приложений на Python. Библиотека KivyMD


              Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании виджетов. Что-то похожего на туториал по разработке мобильных приложений на Python для новичков здесь не будет, так что если впервые слышите о фреймворке Kivy, вряд ли вам будет все это интересно. Ну, а мы погнали под кат!
              Читать дальше →
            • Руководство по Git. Часть №1: все, что нужно знать про каталог .git

              • Translation



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

              В интернете размещена масса руководств по командам Git, но в этой статье работа Git рассмотрена глубже, чем просто изучение команд.

              Это первая часть гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions
              Читать дальше →
            • Теоретические структуры данных и их применение в JavaScript. Ч1. Пары

                «Плохие программисты думают о коде. Хорошие программисты думают о структурах данных и их взаимосвязях», — Линус Торвальдс, создатель Linux.
                Примем в качестве аксиомы, что очень часто решение любой задачи в программировании сводится к выбору правильной структуры данных. Данную аксиому можно доказать, но это долго и статья немного о другом. Сегодня мы поговорим об одной из самых простых теоретических структур, о паре.

                Пара — это структура данных, которая хранит в себе два любых элемента данных, подразумевая, что мы хотим как-то логически объединить их в один. Она решает именно эту задачу, т.е. если некие элементы данных а и b нам нужно представить в виде аb, то мы можем реализовать эту конструкцию на паре.
                Читать дальше →
              • Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики

                • Tutorial

                Введение


                Здравствуйте дорогие Хабровчане.
                Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть.


                Для начала вкратце повторю постановку задачи: Имеется большое количество моделей. Необходимо спроектировать гибкую и легко расширяемую систему авторизации действий пользователя в зависимости от его роли.
                В данной части пойдет речь о настройке связки Политика(Policy)<=>Шлюз(Gate). А так же предложен один из вариантов записи прав пользователя в базу данных.


                Ну и конечно же сразу уточню, что материал рассчитан на практикующих программистов, и будет сложен для понимания начинающему разработчику.


                Читать дальше →
              • Продвинутая система авторизации действий с ресурсами в Laravel. Часть 1. Модель, Контроллер

                Введение


                Здравствуйте, дорогие Хабровчане.
                В ходе своей работы над api-платформой я провел много времени в поисках верного пути авторизации действий пользователя. Задача была поставлена такая — создать довольно разветвленную систему контроля доступа и действий.
                При этом большинство из них на обычный CRUD, но необходимо будет авторизовать и другие действия контролера.
                А значит необходимо создать простую и в то же время эффективную и гибкую систему. Шишек было набито немало, потому в этих статьях я решил продемонстрировать несколько упрощенную версию того что у меня получилось.


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


                Читать дальше →
              • Сохраните в закладках эту статью, если вы новичок в Python (особенно если изучаете Python сами)

                Привет, Хабр! Представляю вашему вниманию перевод статьи "Bookmark this if you are new to Python (especially if you self-learn Python)" в двух частях (1, 2) c простыми, но полезными советами и трюками в Python.



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


                Уточнение: в настоящее время я использую Python 3.8. Если вы столкнулись с какими-либо проблемами во время запуска моих примеров, пожалуйста, проверьте, не связано ли это с вашей версией Python.

                Читать дальше →
              • Хакинтош на Powermac G5 или как собрать себе рабочую станцию

                В далеком 2010 году я его увидел. Тёрочка, будучи как брутальной, так и элегантной. Это была любовь с первого взгляда.



                Стоит сказать, что тогда я уже как два года баловался своими сборками хакинтоша, и только пару лет назад сказал себе что с этим все, завязываю. Да и оригинальное устройство от Apple у меня уже было. О боги, я прошел наверно все круги ада, чтобы завести Mac OS X на не нативном железе, и даже оставлял руководства на профильных сайтах. Но одно достижение мной покорено не было. Собрать все в корпусе G5...

                Читать дальше →