Разблокировка производительности ORM: Важнейшая роль моделей чтения
Статья обсуждает проблемы производительности ORM (Object-Relational Mapper) при чтении больших объёмов данных из базы данных, подчеркивая важность хорошего понимания инструментов, которые мы используем.
Статья обсуждает проблемы производительности ORM (Object-Relational Mapper) при чтении больших объёмов данных из базы данных, подчеркивая важность хорошего понимания инструментов, которые мы используем.
Kamil Ruczyński
Unlocking ORM Performance - The Essential Role of Read Models
ORMs are useful tools that help us save our objects to the database. However, there are some pitfalls, so it is important to know the tools we use. In this article, I want to focus on the poor performance of reading a lot of data using ORMs.
👍5
Привет, друзья! 👋
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
👍4
FreeScout
Бесплатная help desk на собственном хостинге и общий почтовый ящик (альтернатива Zendesk / Help Scout).
Бесплатная help desk на собственном хостинге и общий почтовый ящик (альтернатива Zendesk / Help Scout).
GitHub
GitHub - freescout-help-desk/freescout: FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)
FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative) - freescout-help-desk/freescout
👾3😁2👍1
Что делает «@» в PHP?
В PHP символ «@» используется как оператор управления ошибками. Если «@» предшествует выражению или оператору, он подавляет любые сообщения об ошибках или предупреждения, которые обычно генерируются этим выражением. Его часто называют «оператором тишины».
Например, рассмотрим следующий код:
$result = @file_get_contents('nonexistentfile.txt');
В данном случае, если файл nonexistentfile.txt не существует, функция file_get_contents обычно вызвала бы предупреждение. Однако, предварив его символом «@», предупреждение подавляется. Переменная $result будет содержать false, и сообщение об ошибке не будет отображено.
Хотя оператор управления ошибками может быть удобен в определенных ситуациях, его использование следует осуществлять с осторожностью. Подавление ошибок может затруднить диагностику и устранение проблем в коде, так как вы не получите обратную связь о возможных проблемах. Общепринятым подходом является явная обработка ошибок с использованием блоков try-catch или других соответствующих механизмов обработки ошибок, а не полагаться на «@» для подавления ошибок.
#вопросы_с_собеседований
В PHP символ «@» используется как оператор управления ошибками. Если «@» предшествует выражению или оператору, он подавляет любые сообщения об ошибках или предупреждения, которые обычно генерируются этим выражением. Его часто называют «оператором тишины».
Например, рассмотрим следующий код:
$result = @file_get_contents('nonexistentfile.txt');
В данном случае, если файл nonexistentfile.txt не существует, функция file_get_contents обычно вызвала бы предупреждение. Однако, предварив его символом «@», предупреждение подавляется. Переменная $result будет содержать false, и сообщение об ошибке не будет отображено.
Хотя оператор управления ошибками может быть удобен в определенных ситуациях, его использование следует осуществлять с осторожностью. Подавление ошибок может затруднить диагностику и устранение проблем в коде, так как вы не получите обратную связь о возможных проблемах. Общепринятым подходом является явная обработка ошибок с использованием блоков try-catch или других соответствующих механизмов обработки ошибок, а не полагаться на «@» для подавления ошибок.
#вопросы_с_собеседований
😁8👍6👾4
Изучение ключевых обновлений в PHP 8.4
В PHP 8.4 появится множество новых функций и улучшений, которые призваны улучшить работу разработчиков, оптимизировать производительность и упростить практику написания кода.
В PHP 8.4 появится множество новых функций и улучшений, которые призваны улучшить работу разработчиков, оптимизировать производительность и упростить практику написания кода.
DEV Community
Exploring the Key Updates in PHP 8.4
PHP 8.4 is set to bring a variety of new features and enhancements that aim to improve the developer...
🥰1👏1
Как встроить систему приглашений в свое приложение с помощью Laravel и GraphQL
Здесь рассказано, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту задачу можно выполнить не только по привычным каналам вроде email, но и через SMS API. Разберется процесс интеграции от создания модели на Laravel и работы с GraphQL до отправки сообщений через API Exolve.
Здесь рассказано, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту задачу можно выполнить не только по привычным каналам вроде email, но и через SMS API. Разберется процесс интеграции от создания модели на Laravel и работы с GraphQL до отправки сообщений через API Exolve.
Хабр
Как встроить систему приглашений в свое приложение с помощью Laravel и GraphQL
Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. В этом посте расскажу, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту...
👏3👾2🌚1
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
😁13🌚2
💡8 ключевых концепций в предметно-ориентированном проектировании (Domain-driven design, DDD): на заметку разработчику
👉 Источник
👉 Источник
🔥9
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍇 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
👍 25 полезных HTML тегов, элементов и атрибутов, которые должен знать каждый фронтендер
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
👍 25 полезных HTML тегов, элементов и атрибутов, которые должен знать каждый фронтендер
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов
🤩1
Опрос «Как вы учитесь с помощью телефона: поделитесь своим опытом!»
Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!
Заполните мини-анкету о том, как вы используете мобильные приложения для прокачки знаний.
⏳ Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
Дорогие подписчики, мы на миссии улучшений, и вы — наш ключ! 🔑
Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!
Заполните мини-анкету о том, как вы используете мобильные приложения для прокачки знаний.
⏳ Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
👍1
Comments Density Analyzer
Инструмент контроля качества кода для PHP, который даст вам представление о составе комментариев в кодовой базе и поможет улучшить документацию
Инструмент контроля качества кода для PHP, который даст вам представление о составе комментариев в кодовой базе и поможет улучшить документацию
GitHub
GitHub - savinmikhail/Comments-Density: A code quality control tool for PHP that will give you an idea of the composition of comments…
A code quality control tool for PHP that will give you an idea of the composition of comments in the codebase, and help improve documentation - savinmikhail/Comments-Density
👍1
Что такое Views? Какие преимущества и недостатки?
Представления (Views) в базе данных — это виртуальные таблицы, которые содержат результат выполнения SQL-запроса. Представление не хранит данные самостоятельно, оно отображает данные, которые уже существуют в базовых таблицах, в структурированном виде. Представление может включать строки и столбцы из одной или нескольких таблиц.
Преимущества представлений (Views):
🟢Упрощение сложных запросов:
Представление может быть создано на основе сложных SQL-запросов. Это упрощает использование сложной логики, делая её более доступной и удобной для пользователей.
Вместо того чтобы писать сложный запрос каждый раз, можно просто обращаться к представлению.
🟢Безопасность данных:
Представления могут использоваться для ограничения доступа к определённым данным в таблицах. Например, можно создать представление, которое показывает только определённые столбцы таблицы или фильтрует строки по определённым условиям.
Это полезно для разделения прав доступа: пользователям можно дать доступ к представлению, не предоставляя доступ ко всей таблице.
🟢Абстракция данных:
Представления позволяют скрывать сложные детали структуры базы данных. Например, пользователю может быть предоставлен доступ к представлению, в то время как реальная структура данных может измениться (новые столбцы, объединения таблиц и т. д.), но представление останется неизменным.
Это облегчает поддержку кода, так как внешний интерфейс базы данных остаётся стабильным.
🟢Повторное использование запросов:
Представления позволяют использовать один и тот же запрос в разных частях приложения. Это снижает дублирование кода.
🟢Производительность:
В некоторых случаях, особенно если представление материализованное (materialized view), оно может улучшить производительность, так как результат запроса может быть сохранён и обновлён периодически, а не вычисляться при каждом обращении.
Недостатки представлений (Views):
🔸Ограниченные возможности обновления:
Некоторые представления не поддерживают обновление данных (INSERT, UPDATE, DELETE). Это особенно актуально для представлений, созданных на основе сложных запросов с агрегатами (GROUP BY, SUM и т. д.), объединений (JOIN) или подзапросов.
В этих случаях представление становится «только для чтения», что ограничивает его полезность в ряде ситуаций.
🔸Снижение производительности:
Если представление не материализовано, каждый раз при обращении к нему SQL-запрос будет выполняться заново. Это может быть ресурсоёмко, особенно для сложных запросов и больших объёмов данных.
В отличие от таблиц, которые хранят данные на физическом уровне, представления могут потребовать дополнительных вычислений при каждом использовании.
🔸Отсутствие индексов:
Представления не поддерживают индексы напрямую. Это означает, что поиск по представлению может быть медленнее по сравнению с таблицами, если в представлении содержатся сложные запросы.
Однако, если в базовых таблицах есть индексы, то они могут быть использованы при выполнении запросов через представление.
🔸Зависимость от структуры базовых таблиц:
Если структура базовых таблиц меняется (например, удаляются столбцы, используемые в представлении), это может привести к ошибкам в представлении. Поддержка и отслеживание изменений в таких случаях могут быть сложными.
🔸Сложность управления:
Если база данных содержит множество представлений, это может усложнить её структуру и сделать её менее прозрачной для администраторов и разработчиков.
Сложные каскадные представления (когда одно представление использует другое) могут привести к путанице и затруднить поддержку.
#вопросы_с_собеседований
Представления (Views) в базе данных — это виртуальные таблицы, которые содержат результат выполнения SQL-запроса. Представление не хранит данные самостоятельно, оно отображает данные, которые уже существуют в базовых таблицах, в структурированном виде. Представление может включать строки и столбцы из одной или нескольких таблиц.
Преимущества представлений (Views):
🟢Упрощение сложных запросов:
Представление может быть создано на основе сложных SQL-запросов. Это упрощает использование сложной логики, делая её более доступной и удобной для пользователей.
Вместо того чтобы писать сложный запрос каждый раз, можно просто обращаться к представлению.
🟢Безопасность данных:
Представления могут использоваться для ограничения доступа к определённым данным в таблицах. Например, можно создать представление, которое показывает только определённые столбцы таблицы или фильтрует строки по определённым условиям.
Это полезно для разделения прав доступа: пользователям можно дать доступ к представлению, не предоставляя доступ ко всей таблице.
🟢Абстракция данных:
Представления позволяют скрывать сложные детали структуры базы данных. Например, пользователю может быть предоставлен доступ к представлению, в то время как реальная структура данных может измениться (новые столбцы, объединения таблиц и т. д.), но представление останется неизменным.
Это облегчает поддержку кода, так как внешний интерфейс базы данных остаётся стабильным.
🟢Повторное использование запросов:
Представления позволяют использовать один и тот же запрос в разных частях приложения. Это снижает дублирование кода.
🟢Производительность:
В некоторых случаях, особенно если представление материализованное (materialized view), оно может улучшить производительность, так как результат запроса может быть сохранён и обновлён периодически, а не вычисляться при каждом обращении.
Недостатки представлений (Views):
🔸Ограниченные возможности обновления:
Некоторые представления не поддерживают обновление данных (INSERT, UPDATE, DELETE). Это особенно актуально для представлений, созданных на основе сложных запросов с агрегатами (GROUP BY, SUM и т. д.), объединений (JOIN) или подзапросов.
В этих случаях представление становится «только для чтения», что ограничивает его полезность в ряде ситуаций.
🔸Снижение производительности:
Если представление не материализовано, каждый раз при обращении к нему SQL-запрос будет выполняться заново. Это может быть ресурсоёмко, особенно для сложных запросов и больших объёмов данных.
В отличие от таблиц, которые хранят данные на физическом уровне, представления могут потребовать дополнительных вычислений при каждом использовании.
🔸Отсутствие индексов:
Представления не поддерживают индексы напрямую. Это означает, что поиск по представлению может быть медленнее по сравнению с таблицами, если в представлении содержатся сложные запросы.
Однако, если в базовых таблицах есть индексы, то они могут быть использованы при выполнении запросов через представление.
🔸Зависимость от структуры базовых таблиц:
Если структура базовых таблиц меняется (например, удаляются столбцы, используемые в представлении), это может привести к ошибкам в представлении. Поддержка и отслеживание изменений в таких случаях могут быть сложными.
🔸Сложность управления:
Если база данных содержит множество представлений, это может усложнить её структуру и сделать её менее прозрачной для администраторов и разработчиков.
Сложные каскадные представления (когда одно представление использует другое) могут привести к путанице и затруднить поддержку.
#вопросы_с_собеседований
👍7❤1
Использование Redis для кэширования в Laravel
Здесь рассматривается настройка Redis в приложении Laravel для использования его в качестве механизма кэширования.
Подготовка:
Необходимо установить Redis на компьютер (например, через Docker или напрямую на разных операционных системах).
Проверить, что Redis работает и соединение установлено.
Установка Redis в Laravel:
Для подключения PHP к Redis можно использовать два варианта: phpredis (PHP-расширение) или predis (библиотека). В статье предпочитается phpredis.
Настройка Laravel:
В конфигурационном файле config/database.php нужно задать параметры подключения к Redis, указав клиента (phpredis) и данные для подключения (хост, порт, база данных и пр.).
Настраиваются переменные окружения в .env файле: выбирается клиент, хост, порт и базы данных для хранения и кэширования.
Использование Redis в Laravel:
Laravel предоставляет фасады для работы с кэшем через Illuminate\Support\Facades\Cache. Основные операции включают:
🔸Получение элемента: Cache::get('ключ')
🔸Проверка наличия ключа: Cache::has('ключ')
🔸Добавление или обновление элемента: Cache::put('ключ', 'значение', $минуты)
🔸Удаление элемента: Cache::forget('ключ')
🔸Очистка всего кэша: Cache::flush()
🔸Специальные методы, например Cache::remember, позволяют добавить элемент, если его нет, и вернуть значение.
Поиск по шаблонам:
Для поиска ключей, соответствующих определенному шаблону, используется метод scan (вместо медленного метода keys). scan работает с курсором, что позволяет постепенно обрабатывать ключи, избегая задержек в работе приложения.
Удаление ключей по шаблону:
Используя scan, можно не только находить ключи, но и удалять их с помощью метода del. Важно учесть, что для успешного удаления нужно удалить префикс из ключей.
Здесь рассматривается настройка Redis в приложении Laravel для использования его в качестве механизма кэширования.
Подготовка:
Необходимо установить Redis на компьютер (например, через Docker или напрямую на разных операционных системах).
Проверить, что Redis работает и соединение установлено.
Установка Redis в Laravel:
Для подключения PHP к Redis можно использовать два варианта: phpredis (PHP-расширение) или predis (библиотека). В статье предпочитается phpredis.
Настройка Laravel:
В конфигурационном файле config/database.php нужно задать параметры подключения к Redis, указав клиента (phpredis) и данные для подключения (хост, порт, база данных и пр.).
Настраиваются переменные окружения в .env файле: выбирается клиент, хост, порт и базы данных для хранения и кэширования.
Использование Redis в Laravel:
Laravel предоставляет фасады для работы с кэшем через Illuminate\Support\Facades\Cache. Основные операции включают:
🔸Получение элемента: Cache::get('ключ')
🔸Проверка наличия ключа: Cache::has('ключ')
🔸Добавление или обновление элемента: Cache::put('ключ', 'значение', $минуты)
🔸Удаление элемента: Cache::forget('ключ')
🔸Очистка всего кэша: Cache::flush()
🔸Специальные методы, например Cache::remember, позволяют добавить элемент, если его нет, и вернуть значение.
Поиск по шаблонам:
Для поиска ключей, соответствующих определенному шаблону, используется метод scan (вместо медленного метода keys). scan работает с курсором, что позволяет постепенно обрабатывать ключи, избегая задержек в работе приложения.
Удаление ключей по шаблону:
Используя scan, можно не только находить ключи, но и удалять их с помощью метода del. Важно учесть, что для успешного удаления нужно удалить префикс из ключей.
👏3👍1👾1
Поддержка нескольких ботов в DefStudio Telegraph
Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду — несмотря на возможность работы с несколькими ботами, обработчик для них всех будет лишь один. Благо есть лёгкий способ это исправить.
Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду — несмотря на возможность работы с несколькими ботами, обработчик для них всех будет лишь один. Благо есть лёгкий способ это исправить.
def:studio docs
Introduction | Telegraph | def:studio docs
Telegraph is a Laravel package for fluently interacting with Telegram Bots
Laravel SoftDelete: Избегание проблемы уникальных ограничений
Если вы уже давно используете Laravel, особенно когда проекты связаны с целостностью данных, то, скорее всего, вы уже сталкивались с функцией SoftDelete. Это довольно полезная функция, поскольку вы можете «удалять» записи, не удаляя их из базы данных. Laravel просто добавляет временную метку deleted_at, так что запись помечается как удаленная, но остается в системе.
Если вы уже давно используете Laravel, особенно когда проекты связаны с целостностью данных, то, скорее всего, вы уже сталкивались с функцией SoftDelete. Это довольно полезная функция, поскольку вы можете «удалять» записи, не удаляя их из базы данных. Laravel просто добавляет временную метку deleted_at, так что запись помечается как удаленная, но остается в системе.
DEV Community
Laravel SoftDelete: Avoiding the Unique Constraint Problem
This article originated from...
👍3🤔2👾1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
🔥3😁1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
🔥2
Tiny File Manager
Однофайловое PHP-приложение для хранения, загрузки, редактирования и управления файлами и папками в режиме онлайн через веб-браузер. Приложение работает на PHP 5.5+, позволяет создавать несколько пользователей и каждый пользователь может иметь свою собственную директорию, встроенная поддержка управления текстовыми файлами с помощью cloud9 IDE и поддерживает подсветку синтаксиса для более чем 150+ языков и более 35+ тем.
Однофайловое PHP-приложение для хранения, загрузки, редактирования и управления файлами и папками в режиме онлайн через веб-браузер. Приложение работает на PHP 5.5+, позволяет создавать несколько пользователей и каждый пользователь может иметь свою собственную директорию, встроенная поддержка управления текстовыми файлами с помощью cloud9 IDE и поддерживает подсветку синтаксиса для более чем 150+ языков и более 35+ тем.
GitHub
GitHub - prasathmani/tinyfilemanager: Single-file PHP file manager, browser and manage your files efficiently and easily with tinyfilemanager
Single-file PHP file manager, browser and manage your files efficiently and easily with tinyfilemanager - prasathmani/tinyfilemanager