По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Нет, в этой статье мы не будем рассматривать основные команды, такие как ls, rm и cd. Вы не должны быть шокированы, увидев эти команды. Возможно, вы даже хорошо знакомы с ними. Особенно, если вы хорошо разбираетесь в командной строке. Эта статья для тех из вас, кто имеет некоторый опыт работы с командной строкой и знаком с основными командами (а если не знакомы – то познакомиться можно в нашей статье). Wget В Unix-подобных операционных системах команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP, по сети. По умолчанию он включен во все уважающие себя дистрибутивы Linux. Самый простой способ использовать wget - указать местоположение файла для загрузки по HTTP. Скачать файл http://website.com/static/images/header.jpg с помощью wget можно с помощью следующей команды: wget http://website.com/static/images/header.jpg Отличительной особенностью wget является то, что он неинтерактивный, что означает, что он может работать в фоновом режиме, пока пользователь не вошел в систему. Это позволяет вам начать поиск и отключиться от системы, позволяя wget завершить работу. Scp У вас когда-нибудь возникала проблема, когда вам нужно было получить файл с удаленного сервера на ваш локальный компьютер? Например, получение файла, загруженного пользователем, который вызвал некоторые проблемы. Вы можете скачать этот файл через командную строку, используя команду scp. Scp - сокращение от secure copy, т.е. защищенная копия. Что еще более важно, это то, что это удаленная защищенная копия. Эта команда похожа на команду cp, которую вы, вероятно, уже знаете, но источник или цель находятся в другой системе. Следующая команда копирует файл foobar.txt с удаленного сервера в локальный каталог. scp username@remotehost.com: /path/to/foobar.txt /some/local/directory Но scp также можно использовать для копирования файла из локального каталога на удаленный сервер. scp /some/local/directory/foobar.txt username@remotehost.com: /destination/path/ То же самое можно сделать с каталогами, используя опцию -r, которая рекурсивно копирует целые каталоги. ssh-keygen Команда ssh-keygen используется для генерации новой пары ключей SSH. Открытый ключ SSH, сгенерированный этой командой, может использоваться в Gitlab или Bitbucket для установления безопасного соединения. После того, как вы добавили свой SSH-ключ в Gitlab или Bitbucket, у вас не будет запрашиваться пароль каждый раз, когда вы пытаетесь отправить файлы в удаленную ветку. Чтобы сгенерировать пару ключей SSH, используйте следующую команду: ssh-keygen -t ed25519 Обратите внимание, что в приведенном выше примере мы использовали алгоритм подписи ED25519. Хотя ED25519 считается наилучшей практикой, вы всегда должны провести некоторое исследование в области различных доступных алгоритмов подписи. Генерация пары ключей SSH и ее правильная настройка в Gitlab или Bitbucket обойдутся вам максимум в десять минут, но они того стоят! CHMOD В Unix и Unix-подобных операционных системах chmod - это командный и системный вызов, который используется для изменения прав доступа к объектам файловой системы (файлам и каталогам). Мы все были в ситуации, когда у сервера не было доступа к определенному файлу из-за неправильной настройки прав доступа к файлу. Команда chmod сама по себе довольно проста, но предоставление необходимых прав доступа к файлам и каталогам - совершенно другое дело. Подробно о том как пользоваться это командой можно прочитать в нашей статье chmod 664 robots.txt chmod 775 public/images Первый пример дает права на чтение и запись пользователю и группе для файла robots.txt. Разрешение на чтение предоставляется другим для этого файла. Второй пример дает права на чтение, запись и выполнение пользователю и группе для папки public/images. Другим предоставляется разрешение на чтение и выполнение для этой папки. Tar Эта команда используется для сбора множества файлов в один архивный файл. Tar является наиболее широко используемой командой для создания сжатых архивных файлов. Давайте начнем с того, как вы можете создать архивный файл для определенного каталога: tar -cvf my-archive.tar /path/to/directory Эта команда приведет к созданию файла архива my-archive.tar, который содержит все файлы каталога /path/to/directory, созданного в текущем рабочем каталоге. Создание файла архива является первой частью. Вторая часть состоит в том, чтобы распаковать архивный файл, потому что в какой-то момент мы хотим использовать файлы в tar-файле. Вы можете распаковать файл в определенный каталог, введя следующую команду: tar -xvf my-archive.tar -C /home/myfolder/ Alias Каждый использует какие-то команды, которые слишком длинны или сложны, чтобы их можно было полностью запомнить. К счастью, вы можете создать псевдоним для этой команды, чтобы вам не пришлось запоминать всю команду. alias short-command = "Ваша обычная и очень длинная команда здесь" Хотя создание псевдонима приводит к одной проблеме: этот псевдоним является временным. Если вы создадите псевдоним таким образом, он будет доступен только для текущего сеанса терминала. Чтобы сохранить псевдонимы между сеансами, вы можете сохранить их в файле профиля конфигурации оболочки вашего пользователя. Этот файл профиля, вероятно, находится в ~/.bashrc или ~/.zshrc, если вы используете Bash или ZSH соответственно. Совет 1: Направление вывода Стандартным устройством вывода является экран. Но иногда вы не хотите выводить все на экран. В некоторых случаях вы, вероятно, предпочитаете выводить результаты некоторых команд в файл. Для целей регистрации, например. Чтобы перенаправить вывод, вы можете использовать">". В следующей команде вывод ls -al перенаправляется в файл myfile, а не на экран. ls -al> myfile Совет 2: Объединение команд Можно запустить две или более команд одновременно. Оператор точки с запятой " ; " позволяет вам сделать это. Вы можете выполнить несколько команд подряд, независимо от того, будет ли успешной каждая предыдущая команда. ls -al; pwd; Если вы хотите, чтобы вторая команда выполнялась только в том случае, если первая команда выполнена успешно, разделите команды с помощью логического оператора И, которым является &&. mkdir images && cd images Мы хотим перейти в папку с изображениями, только если нам удалось создать эту папку. И иногда вы можете захотеть выполнить вторую команду, только если первая команда не удалась. Для этого мы используем логический оператор ИЛИ, который пишется как ||.
img
Объектно-реляционное отображение (ORM - Object Relational Mapping) – это метод, который используется для создания «моста» между объектно-ориентированными программами и, как правило, реляционными базами данных.  Иначе говоря, ORM можно рассматривать как слой, который соединяет объектно-ориентированное программирование (ООП) с реляционными базами данных. Когда вы взаимодействуете с базой данных с помощью языков ООП, то вы выполняете различные операции, такие как создание (creating), чтение (reading), обновление (updating) и удаление (deleting) (CRUD) данных. По умолчанию для выполнения этих операций в реляционной базе данных вы используете SQL. Хоть использование SQL для данной цели не считается плохим вариантом, но ORM и его инструменты все же могут помочь упростить взаимодействие между реляционными базами данных и различными языками ООП. Что такое инструмент объектно-реляционного отображения? Инструмент объектно-ориентированного отображения (ORM) – это программное обеспечение, которое было разработано для того, чтобы помогать разработчикам ООП взаимодействовать с реляционными базами данных. В связи с этим, вместо того, чтобы создавать свое собственное программное обеспечение, вы можете воспользоваться этими готовыми инструментами.  Ниже приведен фрагмент кода, написанный на SQL, с помощью которого можно извлечь информацию о конкретном пользователе из базы данных: "SELECT id, name, email, country, phone_number FROM users WHERE id = 20" Приведенный выше программный код возвращает определенную информацию о пользователе –  name (имя),  email (электронную почту),  country (страну проживания),  phone_number (номер телефона) – из таблицы под названием  users  (пользователи). Мы использовали оператор  WHERE и, тем самым, указали, что нам необходима информация о пользователе,  id (идентификационный номер) которого равен 20.  При этом, с помощью инструмента ORM можно выполнить аналогичный запрос, и здесь подход будет более простой: users.GetById(20) Итак, приведенный выше код выполняет ту же функцию, что и SQL-запрос. Имейте в виду, что каждый инструмент ORM построен по-разному, поэтому и методы у них разные, но их назначение одно и то же.  Инструменты ORM могут вызывать методы, подобные тому, который мы использовали в последнем примере. Большая часть языков ООП имеют огромное количество инструментов ORM. Вы можете выбрать тот, что вам больше понравится. Ниже приведен список некоторых популярных инструментов для разработки на Java, Python, PHP и .NET: Популярные инструменты ORM для разработки на Java: Hibernate Hibernate позволяет разработчикам создавать классы постоянного хранения согласно концепциям ООП, таким как наследование, полиморфизм, ассоциация и композиция. Этот инструмент является высокопроизводительным и масштабируемым.  Apache OpenJPA Apache OpenJPA также является инструментом Java для поддержки постоянного хранения данных. Его можно использовать в качестве самостоятельного уровня поддержки постоянного хранения данных простого объекта языка Java.  EclipseLink EclipseLink – это общедоступное технологическое решение Java для поддержки постоянного хранения данных для реляционных данных, XML-элементов и веб-служб баз данных.  jOOQ jOOQ создает Java-код на основе данных, которые хранятся в базе данных. Этот инструмент можно использовать для написания безопасных SQL-запросов.  Oracle TopLink Инструмент Oracle TopLink можно использовать для создания высокопроизводительных приложений, которые хранят данные постоянного хранения. Данные могут быть преобразованы в реляционные данные или в XML-элементы. Популярные инструменты ORM для разработки на Python: Django Django – это замечательный инструмент для быстрой разработки веб-приложений.  web2py web2py – это полномасштабная среда Python с открытым исходным кодом. Она используется для разработки быстрых, масштабируемых, безопасных веб-приложений с управлением данными.  SQLObject SQLObject – это объектно-реляционная программа управления, которая предоставляет интерфейс объекта для вашей базы данных.  SQLAlchemy SQLAlchemy предоставляет шаблоны постоянного хранения данных, которые необходимы для эффективного и высокопроизводительного доступа к базе данных.  Популярные инструменты ORM для разработки на PHP: Laravel Laravel идет совместно с объектно-реляционной программной управления, известной как Eloquent, которая упрощает взаимодействие с базами данных.  CakePHP CakePHP предусматривает два типа объектов: репозитории, которые дают вам доступ к набору данных, и сущности, которые представляют собой отдельные записи данных.  Qcodo Qcodo предоставляет различные команды для взаимодействия с базами данных, которые можно запускать в терминале.  RedBeanPHP RedBeanPHP – это средство объектно-реляционного отображения без настройки.  Популярные инструменты ORM для разработки на .NET: Entity Framework Entity Framework – это модуль сопоставления объектной базы данных с несколькими базами данных. Этот инструмент поддерживает SQL, SQLite, MySQL, PostgreSQL и Azure Cosmos DB. NHibernate NHibernate – это средство объектно-реляционного отображения с открытым исходным кодом. У него есть огромное количество подключаемых модулей и инструментов, которые упрощают и ускоряют процесс разработки. Dapper Dapper – это микро-ORM. Преимущественно его используют для сопоставления запросов с объектами. Этот инструмент не способен выполнять большее количество функций, которые бы осилил обычный инструмент ORM, например, генерация SQL-запросов, кэширование результатов, отложенная выборка данных и т.д.  Base One Foundation Component Library (BFC) BFC – это платформа для разработки сетевых приложений баз данных с помощью Visual Studio и СУБД от Microsoft, Oracle, IBM, Sybase и MySQL. А теперь давайте обсудим некоторые преимущества и недостатки использования инструментов ORM. Преимущества использования инструментов ORM Ниже приведен список некоторых преимуществ использования инструментов ORM: Ускоряет время разработки. Снижает стоимость разработки. Выполняется обработка логики, которая необходима для взаимодействия с базами данных. Улучшает безопасность. Инструменты ORM созданы для того, чтобы избежать возможности SQL-инъекций.  Если вы используете инструменты ORM, то количество кода, который вам надо написать, уменьшается в сравнении с тем, если бы вы использовали SQL. Недостатки использования инструментов ORM Изучение принципов работы инструментов ORM может занять много времени. Есть вероятность, что они не сильно помогут, если вы будете использовать слишком сложные запросы. Как правило, ORM медленнее, чем SQL. Заключение В этой статье мы с вами говорили об объектно-реляционном отображении (ORM). Этот подход используется для подключения объектно-ориентированных программ к реляционным базам данных. Мы перечислили некоторые популярные инструменты ORM, которые могут работать с различными языками программирования.  И завершили мы все это списком некоторых преимуществ и недостатков использования инструментов ORM.  
img
Такие большие, логически структурированные массивы, как базы данных, совершенно бессмысленны без систем управления реляционными данными (РСУБД). РСУБД – это программное решение, позволяющее взаимодействовать с базой данных (БД). Вы можете получать, добавлять или удалять данные, а также управлять доступом к хранимой информации. На рынке существует множество программных вариантов, и большинство из них распространяется с открытым исходным кодом, то есть бесплатно. Самыми известными решениями для веб-серверов являются MySQL и PostgreSQL. Выбор одного из вариантов зависит от ваших требований к рабочей нагрузке и назначению БД. В данной статье рассматриваются основные различия MySQL и PostgreSQL и приводится их подробное сравнение. Краткий обзор MySQL и PostgreSQL MySQL и PostgreSQL постоянно обновляются и улучшаются активным и изобретательным сообществом. Этот непрерывный процесс сокращает принципиальные отличия между двумя решениями. Тем не менее, в них есть существенные различия, которые проявляются при развертывании с большой рабочей нагрузкой. Прежде, чем перейти к подробному анализу каждого решения, предлагаем ознакомиться с кратким сравнением систем. MySQL PostgreSQL Предлагают как открытые, так и платные коммерческие версии. Бесплатная, полностью с открытым кодом. Очень быстрые и надежные. Адаптивная и многофункциональная. Делают акцент на скорости, а не следовании ключевым принципам SQL Придерживается 160 из 179 обязательных пунктов ключевых принципов и стандартов SQL. Идеальна для рабочих процессов в веб-решениях с интенсивным чтением данных. Идеальна для сложных запросов и больших баз данных. Темп разработки замедлился после того, как система стала частично проприетарным решением. Активное и многочисленное сообщество постоянно разрабатывает новые функции. MySQL возлагает функции безопасности на списки управления доступом (ACL). В PostgreSQL есть встроенная поддержка SSL и возможность шифрования связи между клиентом и сервером. Поддерживает управление параллельным доступом посредством многоверсионности (MVCC), но при условии, что оно поддерживается подсистемой хранения InnoDB Встроенная реализация MVCC. Стандартная репликация master-standby Несколько вариантов репликации Небольшая поддержка нереляционных функций Поддержка нескольких нереляционных функций Версия InnoDB совместима с ACID (атомарность, согласованность, изолированность, прочность) Полная совместимость с ACID Ограниченная поддержка расширяемости Возможность добавления новых функций, типов, индексных типов и т.д. По умолчанию добавлены геопространственные данные Возможность реализации геопространственных данных через расширения Ограниченная поддержка серверного программирования на нерасширяемом языке PostgreSQL поддерживает самые популярные языки программирования Поддерживает развертывание в контейнерах Docker Поддерживает развертывание в контейнерах Docker Сравнение производительности MySQL и PostgreSQL Измерение производительности РСУБД во многом зависит от требований, предъявляемых к базе данных. В базовых примерах обе системы управления БД работают одинаково хорошо. Производительность и скорость: PostgreSQL создавался для выполнения сложных операций; он совместим с множеством платформ и языков MQL не стремился следовать всем стандартам SQL, поэтому основной упор делается на скорость Основной упор в PostgreSQL сделан на совместимости; система показала превосходные результаты при использовании в сложных запросах, анализе чтения/записи, а также управления большими базами данных. Важно помнить, что PostgreSQL может серьезно повлиять на производительность памяти, поскольку каждое новое клиентское подключение создает отдельные ветку процесса весом в 10 МБ. MySQL ставил перед собой цель достичь максимальной скорости и простоты развертывания. Эта характеристика MySQL особенно полезна при простом обмене информации и рабочих процессах в веб-решениях с интенсивным чтением данных. Простота развертывания БД означает, что вы можете пользоваться MySQL для быстрого и горизонтального масштабирования данных. Лицензия и поддержка сообщества PostgreSQL – это бесплатное решение с полностью открытым исходным кодом. Лицензия Open Source означает, что исходный код находится в открытом доступе; кто угодно может его копировать, изменять и распространять. Такая схема создала активное сообщество разработчиков, которое постоянно анализирует текущее состояние системы и разрабатывает новые, улучшенные решения. MySQL доступна в бесплатном доступе с открытым кодом, а также в нескольких платных коммерческих версиях с проприетарной лицензией. Некоторые элементы и плагины доступны только в проприетарных версиях, что в итоге может приводить к дополнительным затратам. Кроме того, люди жалуются, что процесс разработки слегка замедлился, поскольку после покупки компанией Oracle, MySQL перестал быть системой с полностью открытым кодом. Соответствие SQL Современные приложения и базы данных часто имеют распределенную архитектуру. Следование официальным стандартам и руководствам SQL упрощает обмен данными между различными БД и помогает им соответствовать строгим регуляторным требованиям (например, GDPR, PCI и ISO). Соответствие SQL-стандартам: MySQL сосредоточена на увеличении скорости и надежности. В итоге MySQL не до конца соответствует стандартам ISO PostgreSQL придерживается большей части основных принципов и стандартов SQL; это портативная система, с которой легко интегрируются различные инструменты PostgreSQL и MySQL: синтаксические отличия MySQL и PostgreSQL основаны на одних и тех же стандартах SQL и активно пытаются следовать максимально возможному количеству требований. Так что синтаксис и команды в двух РСУБД практически одинаковы. Давайте рассмотрим несколько основных отличий, которые могут сказаться на управлении данными. Синтаксис PostgreSQL Синтаксис MySQL Данные из таблицы чувствительны к регистру. WHERE Company = ‘Merion’ это не то же самое, что WHERE Company = ‘merion’ Данные не чувствительны к регистру. WHERE Company = ‘Merion’ – это то же самое, что и WHERE Company = ‘merion’ PostgreSQL допускает использование только одиночных кавычек: Company = ‘merion’ Поддерживает одиночные и двойные кавычки: Company = ‘merion’, равно как и Company = “merion” Команды для даты и времени: CURDATE(), CURTIME(), EXTRACT() Команды для даты и времени: CURRENT_DATE(), CURRENT_TIME(), EXTRACT() Отличия в безопасности PostgreSQL и MySQL Необходимость защиты баз данных в РСУБД от вредоносной активности привела к созданию множества инструментов, протоколов безопасности и процедур. Главную функцию безопасности в MySQL выполняют списки управления доступом (ACL). В PostgreSQL встроена поддержка SSL, а для настройки разрешений пользователей используется функция ROLE. MySQL возлагает функцию безопасности на списки управления доступом (Access Control Lists - ACL), которые следят за всеми подключениями, запросами и другими операциями. Кроме того, предоставляется ограниченная поддержка подключений между MySQL-клиентами и серверами с SSL-шифрованием. Например, в MySQL есть сценарий, который повышает безопасность вашей БД за счет настройки пароля для пользователя root. Этот же сценарий автоматически удаляет все стандартные тестовые базы данных из вашей системы. Кроме того, MySQL поддерживает управление пользователями и позволяет настраивать уровни доступа для каждого пользователя. Для настройки разрешений пользователей PostgreSQL использует функцию ROLE. В ней есть встроенная поддержка SSL и шифрование обмена данными между клиентом и сервером. PostgreSQL также предлагает встроенное расширение под названием SE-PostgreSQL для настройки дополнительных элементов контроля доступа в соответствии с политикой безопасности SELinux. Удобство для пользователей и универсальность интерфейса Пользовательский интерфейс в PostgreSQL называется pgAdmin4. Он помогает начинающим пользователям выполнять сложные задачи и управлять базами данных. Основной акцент в PostgreSQL сделан на расширяемости, поэтому вы можете использовать pgAdmin4 для добавления новых типов данных, функций и типов индексов. Графический пользовательский интерфейс в MySQL называется Workbench. Этот инструмент объединяет в себе разработку, управление, проектирование, создание и поддержание базы данных в единую интегрированную среду СУБД MySQL. Языки программирования Один из важнейших аспектов, которые необходимо учитывать при переходе на новую среду, заключается в том, как это повлияет на сотрудников из отдела разработки и эксплуатации. Чем больше языков программирования поддерживает сервер базы данных, тем легче разработчикам добавлять новые функции и улучшать уже существующие. В этом плане PostgreSQL и MySQL поддерживает большое количество языков программирования. PostgreSQL MySQL C++, .NET, Java, Delphi, Perl, Lua, Node.js, Python, PHP, R, D, Erlang, Go, Lisp C, C++, Java, Perl, Delphi, Lua, Go, R, .NET, Node.js, Python, PHP, Erlang, Lisp, D Параллельная обработка данных Хорошо реализованный параллелизм позволяет многим людям из разных мест одновременно обращаться к БД и работать с ней без ограничений и угрозы противоречивости данных. Когда базе данных с управлением параллельным доступом посредством многоверсионности (MVCC - multi-versioning concurrency control) необходимо обновить данные, она не перезаписывает оригинальную информацию. Вместо этого она создает более свежую версию файла и сохраняет ее предыдущую копию. Это принципиально важный момент, если к вашим наборам данных одновременно должны обращаться многие подписчики. Если в системе отсутствует контроль параллельной обработки данных, то чтение из БД, пока другой процесс записывает в нее данные, приводит к несогласованности данных. Встроенная реализация MVCC позволяет достичь высочайшего уровня параллелизма в PostgreSQ MySQL тоже предлагает поддержку MVCC, но только если она поддерживается подсистемой хранилища InnoDB. Репликация базы данных Копирование данных из одного сервера БД в другую базу на другом сервере называется репликацией. При таком распределении информации группа пользователей сможет обращаться к новым данным, и это никак помешает работе других пользователей. Одной из самых сложных задач в репликации БД является поддержание согласованности данных внутри распределенной системы. MySQL и PostgreSQL предлагают различные возможности для репликации БД. PostgreSQL и MySQL поддерживают репликацию в виде master – standby (основной источник – резервная БД) и нескольких standby, а также предлагают ряд возможностей: PostgreSQL: логическая репликация; потоковая репликация; двунаправленная репликация. MySQL: репликация master – master; master – standby, перенаправленная на один или несколько резервных серверов; круговая репликация. Заключение PostgreSQL – это многофункциональная БД для обработки сложных запросов и больших баз данных. MySQL – это быстрое, надежное и популярное решение. MySQL относительно прост в установке и обслуживании. Функциональные возможности PostgreSQL и MySQL во многом схожи. PostgreSQL отличается от MySQL по определенным рабочим нагрузкам. Данная статья поможет вам принять осмысленное решение с учетом всех достоинств той или иной РСУБД.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59