Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Framework + Разработка

С этим тегом используют

Программирование IT Javascript IT юмор Gamedev Инди игра Инди Игры Unity Все
7 постов сначала свежее
system.develop
system.develop
1 месяц назад
Серия #техноликбез

Что такое фреймворк⁠⁠

Фреймворк — это коробка с инструментами, где уже есть:

  • Роутинг (чтобы /users вёз куда надо, а не в 404)

  • ORM (чтобы не ебаться с сырым SQL)

  • Шаблоны (HTML без конкатенации строк, как у дикарей)

Что такое фреймворк Программирование, Framework, Разработка, Мат

Пример кода: Flask vs Django

1. Flask (минимум магии):

Что такое фреймворк Программирование, Framework, Разработка, Мат

Плюсы:

  • Никакого лишнего дерьма

  • Полный контроль

Минусы:

  • Для БД, аутентификации и прочей хуйни придётся подключать кучу библиотек

2. Django (всё включено):

Что такое фреймворк Программирование, Framework, Разработка, Мат

Плюсы:

  • Готовая админка

  • ORM из коробки

Минусы:

  • Попробуй выйти за рамки — получишь ImproperlyConfigured в ебло


Когда брать фреймворк?

  • Делаешь типовую хрень (сайт, API, блог)

  • Нужно быстро (клиент уже нервничает)

  • Работаешь в команде (чтобы код не выглядел как поток сознания)

Когда не брать?

  • Делаешь highload (каждый слой фреймворка будет тормозить)

  • Нужна экзотика (свой протокол, кастомная сборка)

  • Хочешь понимать каждый байт (а не магию фреймворка)


Фреймворк — это компромисс между скоростью и контролем.

Описываю процесс своей разработки на тг-канале.Залетай...

Показать полностью 3
[моё] Программирование Framework Разработка Мат
0
3
linoles
linoles
6 месяцев назад

Поисковые запросы...⁠⁠

Поисковые запросы...
[моё] IT Программист Next Javascript Framework Веб фреймворки Разработка IT юмор Мемы Юмор
2
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем $mol и находим родовые травмы⁠⁠

Чёрная магия, заставляющая всех страдать и плакать кровавыми слезами, но:

  • нет хайпа в твиттере!

  • нет секси-лендинга!!

  • нет документации!!!

Показать полностью
[моё] YouTube Программирование Программист Разработка IT IT юмор Frontend Framework Видео
0
45
awfun
2 года назад
Лига программистов

Простыми словами о фреймворках⁠⁠

Всем привет, работаю java разработчиком последние 9 лет, хотел бы пояснить на максимально простом примере зачем нужны фреймворки и в чем их отличие от библиотек.

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

Библиотеки имеют определенный интерфейс, который позволяет вызывать их код из вашего проекта. За интерфейс и его реализацию отвечают авторы библиотеки. Фреймворки же напротив, являются точкой входа и вызывают код вашего проекта. А это значит что теперь уже вы должны реализовать определенный интерфейс, который предлагает автор фреймворка. Это похоже на подключение плагинов в других программах.

Часть кода переезжает в настройки или в иной форме становится декларативной. Приведу пример конфигурации одного из самых популярных java фреймворков Spring. Проект будет загружать из БД список пользователей и отдавать их "как есть" через REST апи:

application.yml - конфигурируем порт для апи и настройку подключения к бд:

server.port: 8080
spring.datasource.url: jdbc:postgresql://localhost:5432/mydb

В формате фреймворка объявляем репозиторий - компонент для получения записей о пользователях из таблицы БД:

interface UserRepository extends CrudRepository<User, Long> {}

В формате фреймворка объявляем эндпоинт - точку для подключения других сервисов к REST апи нашего проекта:

@GetMapping("users")

List<User> getUsers() { return userRepository.findAll(); }

Теперь другие сервисы могут через апи нашего сервиса получить список пользователей из БД:

GET http://localhost:8080/users

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

Если вы только начинаете карьеру в it, есть смысл попробовать воспроизвести пару примеров из интернета по вашему фреймворку, а также пройтись по теоретическим вопросам (вроде "жизненный цикл спринг бинов"), но было бы разумней потратить время на общие алгоритмические и технические темы. Всем удачи!

Показать полностью
[моё] Программирование Разработка IT Framework Текст
6
Sergeytolkachyov
Sergeytolkachyov
2 года назад

Dependency Injection Containers (DI контейнеры) в Joomla 4⁠⁠

Этот текст - перевод статьи из нового портала документации для разработчиков Joomla, раздел "Основные концепции".

Введение

Joomla 4 внедряет практику контейнеров внедрения зависимостей (DI контейнеры, DIC) в Joomla. Эта статья призвана объяснить, почему мы внедряем их и как их использовать в Joomla.

DI контейнеры уже давно существуют в экосистеме PHP для поддержки целей внедрения зависимостей. Например, Symfony представила эту концепцию в 2009 году.
Есть несколько причин, по которым пришло время внедрить их в Joomla 4:
1. Тестирование — одной из тем Joomla 3 были глючные релизы. Нам нужно иметь возможность тестировать классы и компоненты более простым способом. Внедрение зависимостей позволяет значительно упростить внедрение классов Mock, что, мы надеемся, позволит нам уменьшить количество ошибок.

2. Нужно уменьшить количество магии в Joomla - Joomla имеет большое количество "волшебных" файлов, названия которых нужно угадывать. Это увеличивает количество времени, которое люди, плохо знакомые с Joomla, тратят на изучение соглашений по именованию файлов. Предоставление конкретного класса в расширениях позволяет нам легко тестировать совместимость расширений с другими расширениями (например, категориями и ассоциациями).

Глобальный контейнер
Внедрение глобального контейнера зависимостей очень слабо заменяет класс Factory (ex. JFactory). Однако его не следует путать с прямой заменой. Так, например, в ваших контроллерах в CMS вместо \Joomla\CMS\Factory::getDocument(); стоит использовать $this->app->getDocument();.

Это использует внедренное приложение и поэтому упрощает тестирование.

Ссылки по теме на Хабре:

- Опубликован скорректированный план выпуска релизов Joomla 4 и Joomla 5

- Распространенные ошибки при написании плагинов Joomla 4

Создание объекта в контейнере

Чтобы поместить что-то в глобальном DI-контейнере Joomla проще всего передать анонимную функцию. Пример для логгера ниже:

Dependency Injection Containers (DI контейнеры) в Joomla 4 Разработка, Joomla, Ооп, Di, PHP, Cms, Framework, Web, Web-программирование, Длиннопост

Функция share принимает два обязательных параметра и необязательный третий параметр:

1. $key - имя сервиса (dataStore key) - почти всегда является именем класса, который вы создаете.

2. $value - Анонимная функция принимает единственный параметр — экземпляр контейнера (это позволяет вам получать любые зависимости из контейнера). return — это сервис, который вы хотите поместить в контейнер.

3. $protected - (необязательный параметр) - это булев параметр, определяет, защищена ли служба от перезаписи (т. е. разрешено ли кому-либо еще переопределять ее в контейнере). Как правило, для основных служб Joomla, таких как объекты сессии (Session), это true.


Теперь рассмотрим более сложный пример:

Dependency Injection Containers (DI контейнеры) в Joomla 4 Разработка, Joomla, Ооп, Di, PHP, Cms, Framework, Web, Web-программирование, Длиннопост

Здесь видно, что мы добавили две вещи — начали использовать зависимости (роутер API получает приложение API из контейнера) и мы также создали алиас для ApiRouter (в Joomla 4 существует 5 типов приложений - Application - Site, Administrator, Cli, API и Installation, а также могут быть созданы свои типы - Т.С.). Это означает, что контейнер создает экземпляр ApiRouter тогда, когда распознает использование класса.  Зато в нашем коде для простоты мы сможем запустить следующий вызов, чтобы получить роутер (That means whilst the container recognises that if it needs to build an ApiRouter instance it can do that. But in our code to keep things simple we can also run to retrieve our router).


Factory::getContainer()->get('AmazingApiRouter');


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

ПровайдерыПровайдеры в Joomla — это способ регистрации зависимости в сервис-контейнере. Для этого создайте класс, реализующий Joomla\DI\ServiceProviderInterface.

Это дает вам метод регистрации, который содержит контейнер. Затем вы можете снова использовать метод share, чтобы добавить любое количество объектов в контейнер. Затем вы можете зарегистрировать их в контейнере с помощью \Joomla\DI\Container::registerServiceProvider. Вы можете посмотреть, как мы регистрируем все сервис-провайдеры, здесь, в методе \Joomla\CMS\Factory::createContainer.

Dependency Injection Containers (DI контейнеры) в Joomla 4 Разработка, Joomla, Ооп, Di, PHP, Cms, Framework, Web, Web-программирование, Длиннопост

Контейнер компонентаКаждый компонент также имеет свой собственный контейнер (который находится в разделе администратора (administrator section) Joomla). Однако этот контейнер не подвергается воздействию. Он нужен только для того, чтобы получить системные зависимости и позволить классу представлять ваше расширение. Этот класс является классом Extension и как минимум должен реализовывать интерфейс соответствующего типа расширения. Например, компонент должен реализовать \Joomla\CMS\Extension\ComponentInterface (libraries/src/Extension/ComponentInterface.php). Для получения полной информации о реализации в Вашем расширении мы рекомендуем обратиться к официальной документации Joomla «Разработка компонента MVC для Joomla 4».

Использование контейнера компонента в другом расширении

Вы можете легко получить контейнер другого расширения через объект CMSApplication. Например, Factory::getApplication()->bootComponent('com_content')->getMVCFactory()->createModel('Articles', 'Site');

Получите контейнер com_content, получите MVC Factory и получите ArticlesModel фронтенда Joomla. И это будет работать в любом расширении во фронтенде, бэкэнде или API Joomla (в отличие от старого метода LegacyModel::getInstance()).

ДополнительноВ документации Joomla Framework есть отличный пример того, почему внедрение зависимостей полезно для вашего приложения и как DIC помогает его структурировать. Читать на GitHub.

От переводчикаЗамечания и пожелания по переводу приветствуются.

Показать полностью 3
[моё] Разработка Joomla Ооп Di PHP Cms Framework Web Web-программирование Длиннопост
0
istarwarrior
5 лет назад
Лига Разработчиков Видеоигр

Лекционный вечер сообщества ECS Comrade (Москва, бесплатно)⁠⁠

Лекционный вечер сообщества ECS Comrade (Москва, бесплатно) Халява, Gamedev, Лекция, Игры, Разработка, Unity, Framework

11 марта 2020 года (среда), с 19:00 и до 22:00, в Высшей школе бизнес-информатики НИУ ВШЭ состоится первый Лекционный вечер сообщества ECS Comrade.

После каждой лекции можно будет получить ответы на ваши вопросы, пообщаться со спикерами.


Entity Component System (ECS) – это по большей части удовольствие от разработки игр. Оно актуализируется с каждым днём и за прошедший год невооруженным глазом видно, что все существующие подходы скоро укроются под тенью более удобного и производительного решения. Изучение ECS в связке с подходами DOTS и Job System от Unity позволяют обрести совсем иное мышление. Данная встреча будет полезна всем разработчикам, кто уже знаком с темой, и кто ещё собирается и набирается смелости окунуться с головой в изучение данного шаблона проектирования.


Программа мероприятия:

1) «Как ECS и фреймворк помогают в продакшене игр».

Алексей Лукьянов, Tech Lead Unity developer, Azur Games.

- ECS;

- DOTS;

- Реализация.


2) «Почему прототипировать на ECS быстро».

Владимир Роттердамский, инди-разработчик.

- ECS vs DOD;

- Теория;

- Практика.


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


Начало регистрации: 18:30. Возрастное ограничение 18+.


Место проведения: г. Москва, ул. Трифоновcкая, д.57, стр. 1 (ст. метро Рижская), конференц-зал (2-й этаж).


На входе нужно будет показать паспорт охраннику здания и быть в его списках. Попасть в эти списки можно через регистрацию на сайте мероприятия. Вот тут>>

Показать полностью
Халява Gamedev Лекция Игры Разработка Unity Framework
6
5
DELETED
7 лет назад

Разработка мобильного приложения под Android. Часть 1.⁠⁠

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


В этом посте я не буду рассказывать о том, как заработать миллион на приложениях одним щелчком мышки! Моя цель показать вам, как можно войти в разработку мобильных приложений имея базовые знания в области: HTML, CSS, PHP, MySQL и JavaScript&jQuery.


Разрабатывать мобильные приложения можно несколькими способами, но сегодня мы остановимся и рассмотрим один из вариантов, который называется - Фреймворк jQuery Mobile.


Что такое jQuery Mobile?


jQuery Mobile — сенсорно-ориентированный веб фреймворк. Разрабатывается и поддерживается командой jQuery. Фреймворк jQuery Mobile сфокусирован на кроссбраузерности с уклоном в сторону смартфонов и планшетов.


Если говорить совсем вкратце и по простому - библиотека, которая позволяет разрабатывать адаптивные мобильные сайты.


Что необходимо для начала разработки?


1. Установленный и настроенный локальный сервер (Windows: Denwer, XAMPP или Open Server, для Ubuntu: LAMP server).


2. Загрузить последнюю стабильную версию фреймворка с официального сайта http://jquerymobile.com/


Этапы разработки


Любой процесс разработки начинается с самых основных вещей:

- проектирование архитектуры приложения;

- разработка дизайна;

- улучшение юзабилити;

- приступаем к разработке.


Проектирование архитектуры приложения


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

- главный экран с приветствием посетителя;

- категория с выводом всех записей;

- страница на которой будет отображаться полный текст записи;

- информация о приложении.ых


Дизайн


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

Разработка мобильного приложения под Android. Часть 1. Android, Приложение, Разработка, Framework, Jquery, Смартфон, Google, Программирование

На сегодня закончим вводный курс в разработку приложений.

В следующем уроке поговорим о том, что такое юзабилити :-)

Показать полностью 1
[моё] Android Приложение Разработка Framework Jquery Смартфон Google Программирование
13
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии