Инструменты Linux

Итоговые заметки по актуальным обсуждениям в форумах

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Инструменты Linux

Непрочитанное сообщение Olej » 25 ноя 2012, 19:27

Инструменты Linux - здесь ссылки на текст и примеры сильно расширенного варианта Инструменты Linux для Windows-программистов.
Там найдёте все ссылки для полного скачивания:
редакция 2.70,
28.10.2012г.
страниц 170.

Эта книга начала писаться как краткие заметки "на манжетах" ... ну а потом разрослась в такой большой текст.
Она конечно получилась странная:
Оглавление
Введение 5
Общие принципы 10
Файловая система 17
Командный интерпретатор 33
Консольные команды 38
Компиляция и сборка приложений 58
Установка программного обеспечения 99
Инструменты удалённой работы 113
Библиотеки API POSIX 132
Приложения 173
- если первые части "Файловая система" или "Командный интерпретатор" - это объяснения совсем на новичка,
- то дальше сложность нарастает, и "Библиотеки API POSIX" - это уже беседа с программистом-коллегой о весьма матёрых особенностях...

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

В общем, мне нравится как это получилось. Хотя получилось всё это (начиная от задумки текста) непроизвольно и спонтанно.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 29 ноя 2012, 20:34

Olej писал(а):Инструменты Linux - здесь ссылки на текст и примеры сильно расширенного варианта Инструменты Linux для Windows-программистов.
Теперь по существу: чем по-существенному (кроме мелких дополнений) отличается последний вариант от первоначально выложенного на сайте?

1. По высказанным пожеланиям читателей добавлены целые новые разделы: "Интегрированные среды разработки" и "Создание графических приложений". Это вещи обзорные, хоть и достаточно объёмные, но как-то помогут, хотелось бы думать, в выборе инструментов.

2. Очень расширено описание (и примеры) библиотек: и использование существующих библиотек *.so, и создание и использование своих собственных библиотек, как статических, так и динамических. Эту часть пришлось очень сильно расширять, потому, что каких только бредней о библиотеках не начитаешься в Интернет :-o (и почти нет достоверной информации).

3. Большая глава по устройствам /dev и особенно по динамически создаваемой системе /dev - средствами sysfs + udev. По подсистеме udev практически нет толковых описаний (дающих понимание), в лучшем случае руководства "делай так" по написанию правил в /etc/udev.conf ... (это связано, во многом, с тем, что udev - это отражение механизма sysfs ядра Linux, а описания пишут прикладные пользователи, и для пользователей). Добавленное описание разбирает логику "как это работает" + примеры программного кода, которые используют такие возможности - после этого всё должно стать прозрачно и понятно (мне до конца всё стало понятно после отработки этого программного примера). Это описание насколько можно ужато и сделано компактным (иначе пришлось бы описывать механизмы ядра), но его должно быть полностью достаточно (+man, который теперь становится куда понятнее) для написания своих правил формирования устройств в /dev.

4. Добавлена справочная глава об утилите make... Потому, что это было для меня большим сюрпризом: достаточно многие практикующие программисты, профессионалы (особенно из числа "выходцев" из графических IDE) оказывается очень слабо представляют make, и даже часто от них приходится слышать "красивые народные легенды" ;-) о make, такие как то, что цель сборки all является какой-то особой, или собирается по умолчанию...

В любом случае, не пользуйтесь редакцией 2.46, пользуйтесь редакцией 2.70 ... или последующими.

P.S. Любопытно, что материалы п.2 и п.4 - это вещи не из круга вопросов Linux, это GNU инструменты (и ещё более ранние их проприетарные аналоги), которые давно эксплуатируются в разных POSIX/UNIX системах. Но изоляционизм некоторых сообществ Linux и привёл к тому, что такие важнейшие вещи в кругах Linux и искажённо известны, и очень слабо документированы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 24 мар 2013, 12:40

Есть у меня большое желание (и большой объём чернового материала) чтобы дописать большой такой раздел в рукопись этой книги "Инструменты Linux для Windows-программистов" примерно такого смысла: "Переносимость программных проектов (из Windows в Linux ... и наоборот)" ;-)

Потому, как, пока "самые борзые" занимались "Windows vs Linux" :lol: , сложилось (примерно с 2005г. и далее) весьма много инструментов, технологий, проектов... которые годятся как для Windows, так и для Linux ... а также, зачастую, и для Solaris, FreeBSD etc. :lol:

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

1. Переносимость кода (статическая).
ARP: Apache Portable Runtime (APR)
Boost: Re: исполнение промышленных проектов под Wine
Qt: Создание графических приложений
... да и просто многие стороны программирования в C++ ...

2. Динамическая переносимость.
исполнение Windows промышленных проектов под Wine

3. Русскоязычная локализация.
переносимость Lin<=>Win консольных приложений
локализация строк в C-коде

Этого достаточно, чтобы делать ПО "и для Windows и для Linux".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 02 апр 2014, 21:26

Olej писал(а):Инструменты Linux - здесь ссылки на текст и примеры сильно расширенного варианта Инструменты Linux для Windows-программистов.
Там найдёте все ссылки для полного скачивания:
редакция 2.70,
28.10.2012г.
страниц 170.

Эта книга начала писаться как краткие заметки "на манжетах" ... ну а потом разрослась в такой большой текст.
Она конечно получилась странная:
По этому материалу начат целый цикл публикаций на IBM developerWorks:
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 1. Общие положения и терминология
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 2. Файловая система и операции над ней

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 08 апр 2014, 13:54


Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 20 апр 2014, 11:24

10.04.2014:
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 5. Работа с компилятором GCC и управление библиотеками

15.04.2014:
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 6. Создание собственных библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 7. Внутренняя архитектура и принципы функционирования библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 8. Разработка GUI приложений
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 9. Интегрированные среды разработки

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 23 апр 2014, 16:25

Olej писал(а): Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 1. Общие положения и терминология
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 2. Файловая система и операции над ней
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 3. Ключевые системные файлы и каталоги
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 4. Файловая система /sys и загрузка системы
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 5. Работа с компилятором GCC и управление библиотеками
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 6. Создание собственных библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 7. Внутренняя архитектура и принципы функционирования библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 8. Разработка GUI приложений
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 9. Интегрированные среды разработки
21.04.2014:
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 10. Поставка и установка программного обеспечения
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 11. Сборка программного обеспечения
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 12. Использование утилиты make

22.04.2014:
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 13. Библиотеки API POSIX
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 14. Параллельные процессы
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 15. Сигналы

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 24 апр 2014, 21:51

Olej писал(а): Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 1. Общие положения и терминология
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 2. Файловая система и операции над ней
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 3. Ключевые системные файлы и каталоги
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 4. Файловая система /sys и загрузка системы
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 5. Работа с компилятором GCC и управление библиотеками
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 6. Создание собственных библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 7. Внутренняя архитектура и принципы функционирования библиотек
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 8. Разработка GUI приложений
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 9. Интегрированные среды разработки
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 10. Поставка и установка программного обеспечения
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 11. Сборка программного обеспечения
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 12. Использование утилиты make
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 13. Библиотеки API POSIX
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 14. Параллельные процессы
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 15. Сигналы
24.04.2014:

Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 16. Поддержка многопоточности в POSIX API
Инструменты ОС Linux для разработчиков приложений для ОС Windows. Часть 17. Расширенные операции ввода-вывода

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 31 авг 2014, 12:04

По этому материалу был прочитан лекционный курс на летнем тренинге ... для сотрудников одной из крупных международных софтверных компаний. А поскольку среди них (сотрудников) есть и весьма квалифицированные разработчики, то в вопросах и обсуждениях были подняты несколько тем, которые совсем вообще и не упоминались в прежнем тексте, например:
- использование pthread_atfork(), примеры ... почему в задаче с N потоками при выполнении fork() создаётся в новор=м процессе только 1 поток? и как воссоздать все N (если захочется)?
- процессы-зомби в Linux: как они возникают и исчезают?, в чём отличие от описанной UNIX схемы? как это происходит не с родительским процессом init, а с systemd (что произойдёт вскоре во всех дистрибутивах)?
- ... там есть ещё интересные дополнения.
Настолько, что и название поменялось: Разработка программных проектов в Linux - здесь по ссылке можно взять посмотреть последнюю редакцию, на сегодня это № 3.114 (там же, естественно, архив примеров кода, сильно расширенный).

По расширению достаточно посмотреть, что предыдущая редакция текста на начало 2014г. (и упоминавшаяся выше публикация на сайте IBM) - это № 2.70 объёмом 170 стр., а ныншняя № 3.114 - это 307 стр.
Интересующиеся можете пользоваться.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Инструменты Linux

Непрочитанное сообщение Olej » 03 июн 2016, 01:21

Попался мне на глаза такой же другой, параллельный курс: Андрей Боровский «Программирование для Unix/Linux».
Часть 1
Работаем с файловой системой, Исходники

Часть 2
Введение в межпроцессное взаимодействие, Исходники

Часть 3
Объекты SVID IPC, Исходники

Часть 4
Сокеты, Исходники

Часть 5
Сигналы, Исходники

Часть 6
Процессы, Исходники

Часть 7
Потоки, Исходники

Часть 8
Потоки - продолжение, Исходники

Часть 9
Демоны, Исходники

Часть 10
Консольный ввод-вывод, Исходники

Часть 11
Введение в ncurses, Исходники

Часть 12
ncurses - продолжение, Исходники
В чём-то он дублируется обсуждаемым, а в чём то они дополняют друг друга.

Хороший курс.
Советую скачать пока лежит.

Ответить

Вернуться в «Итоги по обсуждениям здесь в форумах»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость