Linux и софт

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

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

Профессиональное ПО

Профессиональное — это значит, что это ПО разработано для тех, кто зарабатывает с помощью него деньги. И если взять вопрос профессионального программного обеспечения для ПК — то да, тут явно есть определённые лакуны, т.е. того ПО, к которому привыкли все — его просто нет. Нет Microsoft Office, Visual Studio, Adobe Photoshop, Autodesc 3D Max, Autodesc AutoCAD, Graphisoft ArchiCAD и т.д. и т.п. Можно было бы даже обобщить и сказать, что профессионального ПО для Linux вообще нет, но иногда-таки попадаются исключения, например, тот же Lightworks.

Эта ситуация вполне понятна — разработчики профессионального ПО вполне себе профессионалы и тоже хотят получать за свою работу хорошие деньги и, являясь капиталистами, озабочены ровно одним — прибылью. Таким образом поддержка систем, которые не имеют большого количества платёжеспособных клиентов — не очень интересна. Например, поддержка MacOS с её 10% платёжеспособных клиентов — она значительно интереснее (и ведь Microsoft Office for Mac есть), чем поддержка разнообразных версий Linux с их 2% прижимистых пользователей. Утрировано, конечно, но ситуация примерно такая.

Тут, конечно, можно вспомнить про долю серверов под управлением Linux, которые используют вполне себе профессиональное ПО — СУБД MySQL, PostgreSQL, веб-серверы Apache и Nginx и другие решения — но я тут пишу про ситуацию с обычными ПК.

0 + 0 -

Linux. Утилиты

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

 

0 + 0 -

Настройка Linux Mint, часть 4: обновление и резервирование


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

Начнём с обновления ПО — в системе должно использоваться самые свежие версии ПО, чтобы не пропустить обнаруженную уязвимость. В Linux Mint, как и в Windows, есть свой центр обновления ПО — менеджер обновлений.

 

0 + 0 -

Настройка Linux Mint, часть 3: шрифты и внешний вид

После установки и настройки в первой и второй частях, мы добрались до внешнего вида Linux Mint. И начнём с того, что сразу бросается в глаза тем, кто ранее работал в Windows — это шрифты.

В Linux шрифты есть и шрифты отличные. Но отличные и от шрифтов в Windows:

  

1 + 0 -

Настройка Linux Mint, часть 2: диски и сетевые папки

С одной стороны в Linux с открытием диcковых носителей и сетевых папок всё очень неплохо — стандартный файловый менеджер их отображает в левой части в разделе «Носители» и их можно щелчком мыши открыть (примонтировать в терминах Linux):

И если мы, например, щёлкнем по носителю с именем DATA — у нас откроется окно с данными этого диска. Система автоматически создаст точку монтирования в своей файловой системе (в каталоге /media) и присоединит туда этот дисковый том. Всё происходит незаметно для пользователя и ему не надо писать команды типа mount.

3 + 0 -

Настройка Linux Mint, часть 1: устройства ввода/вывода

Мы установили Linux Mint и теперь надо провести его первоначальную настройку, чтобы нам было приятно и комфортно в нём находится. Начнём с устройств ввода-вывода.

Перед этим хотелось бы отметить, что все драйверы, используемые в Linux, встроены в его ядро (кроме драйверов видеокарты — они являются частью Xorg и драйверов принтеров — они включены в системы печати CUPS) и теоретически все устройства должны работать из «коробки». Для некоторых устройств (в основном видеокарт) есть проприетарные (закрытые) драйверы, которые поставляет производитель — их можно скачать и попробовать установить. Но может оказаться ситуация, когда на устройство либо ещё не выпущен драйвер (слишком новое, но всё может быть), либо он еще не встроен в ядро (и надо подождать), либо ни его производитель, ни энтузиасты не заинтересованы в его разработке (вот тут тупик). У меня был конкретный пример с аудиокартой ASUS Xonar DS — года два в ядре не было драйвера для этой карты, и отдельно его скачать и поставить было нельзя. Пришлось ждать и сидеть на встроенной в материнскую плату. Для обычного пользователя это означает, что если его устройство не поддерживается сразу — то либо нужно ждать, когда оно заработает после очередного апгрейда ядра, либо просто забить на него (хорошо что сейчас это действительно редкость). Но ждать можно долго. Поэтому хороший совет — перед покупкой чего-либо для ПК удостовериться в том, что на сайте производителя есть драйвера для Linux или в интернете найти информацию о работе данного компонента в Linux.

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


Параметры системы

 

0 + 0 -

Linux и домашний ПК — а оно нам надо? Установка Linux Mint

После сборки slim-PC из оставшихся у меня компонентов я встал перед выбором — что установить на это «чудо». Windows устанавливать не хотелось, да и лицензии лишней у меня не было (а сам я, как программист, не одобряю установку пиратского софта), поэтому выбор сам собой пал на одну из систем отряда Linux, а далее подотряд Ubuntu-подобных, семейство Linux Mint-овых.

Почему именно Linux Mint?

Потому что системы основанные на Ubuntu уже широко разошлись по миру, сообщество большое и есть где получить информацию в случае проблем. А Linux Mint это не просто клон Ubuntu, это наиболее дружелюбная к обычному пользователю система, заточенная под то, чтобы пользователю как можно меньше нужно было бы лазить под капот и что-то запускать в командной строке. При этом оболочку разработчики постарались сделать «под Windows», т.е. пользователю пересевшему с одной ОС на другую, не особо приходится задумываться где что. Кнопка меню слева внизу, справа от неё запущенные программы, справа в нижнем углу трей. Всё как обычно.

0 + 0 -

ASP.NET MVC — работаем с MySQL через Entity Framework

Решил немного расширить предыдущую статью про ASP.NET MVC и MySQL. В ней речь шла про работу с MySQL в ASP.NET MVC не через практически стандартный ORM Entity Framework (EF), а с помощью прямого доступа к СУБД через ADO.NET. И была приведена реализация этого метода доступа. И хотя метод устаревший и не рекомендуемый к использованию, но иногда полезен: например, в высоконагруженных приложениях или когда разработчик сталкивается с ситуацией, когда ORM не может сгенерировать корректно работающий SQL-запрос. И иногда можно совмещать в приложении оба способа — и через ORM и через ADO.NET. В итоге я подумал, и решил дописать приложение: добавив в него реализацию репозитория для Entity Framework и сделать выбор из них зависимым от параметра приложения с помощью Dependency Resolver.

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

0 + 1 -

Сборка ПК в slim-корпусе из «остатков»

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

  1. Материнская плата ASUS P5KPL-CM форм-фактора MicroATX и поддержкой сокета Intel LGA 775;
  2. Процессор Intel Core 2 Duo E7200 Wolfdale (BOX) — настоящий двухядерник с частотой 2,53 ГГц;
  3. Два модуля памяти по 2 Гб каждый (больше в эту плату всё равно не влезет);
  4. Видеокарта ASUS GeForce 210: тормозная, зато с пассивным охлаждением, с 1 Гб памяти и тремя выходами (DVI, VGA и HDMI) — ничего больше от неё и не было надо (в материнской плате нет видеовыходов);
  5. Звуковая карта ASUS Xonar DS с интерфейсом PCI — это, конечно, не топовая звуковуха, но явно получше встроенного в материнскую плату (всё-таки ЦАП 24 бит / 192 кГц) + оптический выход, что немаловажно.
  6. Твердотельный накопитель OCZ VTX3-25SAT3-60G на 60 Гб — тоже старьё, но материнская плата всё равно поддерживает SATA только до 3 Гбит/c.

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

1 + 1 -

О справедливости

Иногда слышу возгласы «вопиющих в пустыне»: «Это же несправедливо! Где же справедливость!»

А нет её. Точнее, поскольку это понятие субъективно, справедливость у каждого своя, как и правда. И, что естественно, «подкрученная» в свою сторону и, таким образом, возможно, ущемляющая понятия о справедливости у других членов общества.

0 + 0 -

ASP.NET MVC – работаем с MySQL через ADO.NET

Уже, наверное, раза три подбираюсь к ASP.NET MVC. После десяти лет с ASP.NET WebForms немного сложно переходить именно к технологии MVC, поскольку отличий столько, что скорее проще перечислить, что у этих технологий общего – это разве что библиотеки .NET Framework. Я не буду писать тут – лучше или хуже MVC чем WebForms, просто они обе хороши, и на обеих технологиях можно построить хорошее приложение. Свои мысли по поводу необходимости TDD я тоже пока оставлю при себе, хотя их есть у меня.

А сейчас я буду говорить о стандартнейшей задаче – обычной работе с данными: просмотре в табличном виде списка записей, добавлении, изменении и удалении данных (операции CRUD). Однако практически во всех книгах и во многих решениях в интернете для ASP.NET MVC почему-то рассматривается вариант исключительно через ORM (Object Relation Mapping): или Entity Framework (EF) или LINQ для SQL. Технологии отличные, спору нет, наконец-то программист может и не разбираться – а как вообще эта самая реляционная СУБД (которой он, скорее всего, пользуется) вообще работает, и даже SQL, по идее, знать уже необязательно: прокладка в виде EF и коннектора для СУБД разберутся между собой. «Вот оно счастье – нет его краше». Но тем программистам, которые не боятся прямой работы с базой данных через механизм ADO.NET, зачастую непонятно – а с чего вообще начинать в ASP.NET MVC и надо ли.

0 + 0 -

Tronsmart Spunky Beat: тот случай, когда AptX есть, но не нужен

Во время «распродажи 11.11» 2019 года на Алиэкспресс прикупил true wireless (TWS) наушники Tronsmart Spunky Beat. Купился я на присутствующий в них AptX и хорошие отзывы в интернете от реальных пользователей. Ехали они, ехали до меня месяц, и вот, наконец, приехали:

Брал я их на смену своим QCY Q29 Pro (про опыт их использования написал в другой статье). Меня не оставляла надежда таки приобрести в Китае, что-то, что устраивало бы больше чем QCY Q29 Pro и на чём можно слушать те же подкасты и иногда музыку (уж если вдруг не оказалось рядом наушников Silicon Power BP61).

0 + 0 -

Настоящие беспроводные: наушники QCY Q29 Pro — двухлетний опыт использования

У меня уже давно, почти два года, в использовании TWS-наушники QCY Q29 Pro, купленные в интернет-магазине Gearbest.com. Их я брал за 1650 рублей и я сразу не ожидал от них какого-либо особо качества. Было понятно, что это в основном самые обычные затычки, с никаким звуком, скорее всего плохо подходящие даже в качестве гарнитуры. Но, реально беспроводные. В то время это было прикольно и я мирился даже с тем, что они периодически «терялись» и звук доносился только с одного наушника.

0 + 0 -

Апгрейд: сборка ПК под AMD Ryzen и полученный результат

 После выбора процессора, кулера, материнской платы и памяти, пришло время собрать это всё в работающую систему:

  1. Процессор: AMD Ryzen 5 2600
  2. Кулер: Cooler Master MasterAir G100M
  3. Материнская плата: ASUS ROG STRIX B350-F GAMING
  4. Память: Patriot Memory PVS416G320C6K

В предыдущей статье я уже показывал собранную материнскую плату с этими компонентами. Теперь пришло время заставить это всё работать.

0 + 0 -