Category: it

Category was added automatically. Read all entries about "it".

redcat

Что тут есть

А тут есть нафигация. Это, если кто нипонял, чтобы сразу свалить и не мучить моск. Каждая ссылка отсюда ведет на какую-то тему. Если в теме больше одной записи, то в конце каждой записи, кроме последней, есть ссылка “дальше”, для тех, кому интересно и чей моск еще не сломан. Caveat emptor.

gEDA, KiCAD, Xcircuit - системы проектирования электроники и печатных плат
LibreCAD - 2D черчение. Простая замена AutoCAD для плоских чертежей. 3D - OpenSCAD, Meshlab.
UNIX way


Офис в Linux
redcat

Снайперский прицел (+бонус)

Для поиска в интернете. Дикая вещь!! Пригодится всем, кто ищет информацию. Без всякой рекламной херни и гнилых ссылок. Однако, как говорил один мой знакомый: “В Греции все есть. Но только для греков!” Только для Linux-юзеров. И только для DuckDuckGo. Нашел случайно, почитывая LXF за прошлый год. Не помню, в каком из номеров. Где-то за второе полугодие. Так что, ставьте Linux. Рядом с Windows, если она вам еще нужна.

Я ставил из репы своего дистра. Но можно взять и с github.com/jarun/ddgr, если нет в репозиториях. При использовании программы просто пишете в командной строке ddgr и ваш запрос. Через пару секунд - десять ссылок. Это по умолчанию, кому нужно большее, см. man ddgr

Ссылки дает в высшей степени релевантные! Патамуша посылает всю рекламу сюда. Экономит вам много трафика и времени.
Collapse )
redcat

Вдогонку к предыдущему посту

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

В один прекрасный момент meshlab поздравил меня с “успешным” сотым проектом и попросил написать отзыв для разрабов. Написал: “Can't export to VRML. The app writes error messages everytime while I open a wrl, just created by Meshlab. Would be nice, if the bug fixed. Thank you. Alex.” Разработчики, должно быть, много получают таких дурацких писем от пользователей.

В OpenSCAD сделаем какой-нибудь дурацкий домик, совершенно неважно, какой:
Collapse )
redcat

3D модель небольшого трансформатора

Поскольку заказчики теперь очень приветствуют не только необходимые схемы/платы/исходники прошивок, но и 3D модели, то приходится заниматься ими. Конструкторам легче затолкать/вписать такой модуль в устройство. Но библиотеки, даже в платных альтиумах и менторах не всегда содержат то, что нужно. Приходится допиливать недостающее. В прошлом посте на эту тему мы занимались моделью транзистора. Это была простая задача, теперь чуть посложнее.

Это модель небольшого импульсного трансформатора для преобразователя напряжения (источника питания) 220/5V. Казалось бы, такая ерунда, а нет нигде. Она была сделана в AutoCAD и MeshLab. В автокаде делалась вся геометрия, модель по “деталям”, причем понятие детали тут имеет свой смысл - это группа тел, имеющая одинаковый цвет. Затем каждая “деталь” из сборки экспортировалась в файл STL, ничего другого подходящего в наших условиях автокад предложить не может.

STL по одному открываются в MeshLab специально для окраски, затем экспортируются в файлы VMRL. Наконец, все VRML собираются в одну модель, причем некоторые части приходится перемещать в MeshLab'е снова, - он валит все в кучу. Это конечно, не гарантирует идеального совпадения с исходной сборкой в автокаде, поскольку мешлаб - это программа для дизигинеров. А им, как известно, точность до лампочки.

MeshLab, как программа, для которой родной системой является UNIX-подобная, имеет привычку внезапно падать в Windows.
Collapse )
redcat

C. Глава 6. Структурные типы данных

"Структура - это одна или несколько переменных (возможно, различных типов), которые для удобства работы с ними сгруппированы под одним именем. Структуры помогают в организации сложных данных (особенно в больших программах), поскольку позволяют группу связанных между собой переменных трактовать не как множество отдельных элементов, а как единое целое."
"Единственно возможные операции над структурами - это их копирование, присваивание, взятие адреса с помощью & и осуществление доступа к ее элементам. Копирование и присваивание также включают в себя передачу функциям аргументов и возврат ими значений. Структуры нельзя сравнивать. Инициализировать структуру можно списком константных значений ее элементов; автоматическую структуру также можно инициализировать присваиванием."
(Б. Керниган, Д. Ритчи "Язык программирования C")


1. Группировка данных

Про структуры уже почти все сказано в цитатах к этой главе. Но давайте рассмотрим один полезный пример. Обычно в литературе идет пример с записью из таблицы базы данных: имя, должность, зарплата… или что-то в таком духе, просто, чтобы объяснить синтаксис объявлений и способы обращения со структурами. Но лучше взять какой-нибудь более полезный пример. Базы данных – штука весьма непростая и бесполезный пример будет неинтересным.
Collapse )
redcat

C. Глава 5. Аргументы функции main

"В операционной среде, обеспечивающей поддержку Си, имеется возможность передать аргументы или параметры запускаемой программе с помощью командной строки. В момент вызова main получает два аргумента. В первом, обычно называемом argc (сокращение от argument count), стоит количество аргументов, задаваемых в командной строке. Второй, argv (от argument vector), является указателем на массив символьных строк, содержащих сами аргументы. Для работы с этими строками обычно используются указатели нескольких уровней. "
(Б. Керниган, Д. Ритчи "Язык программирования C")


1. Параметры запуска приложения

Именно для этого функции main нужны аргументы. На самом деле, аргументов у main даже три, – последний указывает на блок переменных окружения. Аргументы извлекаются операционной системой из командной строки, при запуске программы, и передаются функции main. С помощью аргументов, каковые используются в форме ключей и имен файлов, мы можем управлять режимом работы программ. Они являются аналогом главного меню оконного приложения, но только для командной строки.
Collapse )
redcat

C. Глава 3. Строки

"Текстовый поток – это последовательность символов, разбитая на строки, каждая из которых содержит нуль или более символов и завершается символом новой строки. Обязанность следить за тем, чтобы любой поток ввода-вывода отвечал этой модели, возложена на библиотеку: программист, пользуясь библиотекой, не должен заботиться о том, в каком виде строки представляются вне программы."
(Б. Керниган, Д. Ритчи "Язык программирования C")


1. Самый распространенный вид массива

Это массив элементов типа char. Другими словами, строки. Каждая строка заканчивается символом новой строки только в файловом потоке. В памяти дело обстоит немного иначе, строка заканчивается нулем. На длину строки не накладывается никаких ограничений. Что касается байтов, то здесь ограничения есть. В текстовых строках можно использовать только печатаемые символы. Такими символами являются буквы, цифры, знаки препинания, пробелы и иногда символы псевдографики (теперь устарели). Символы могут быть многобайтовыми (UNICODE).

Непечатаемые символы, за исключением символа новой строки, не поддерживаются текстовыми редакторами, и вообще, портят текстовые форматы. Поэтому файлы и делят на текстовые и двоичные. В этой главе мы займемся строками и операциями над ними.
Collapse )
redcat

C. Глава 2. Целые числа (окончание)

Предыдущий пост оказался слишком большим для нерезинового старого добого редактора. Здесь заканчиваем вторую главу.



Компилятор обрезал числа, в которых были переполнения.

Теперь поглядим, как в дампе программы выглядит секция данных. Для этого сначала скомпилируем программу полностью, как говорится в таких случаях, "построим":

$ m ovf
. . . 
$ objdump -dj .data ovf > ovf-dump.txt
$ 
Лст. 2-23. Получение дампа отдельного раздела (.data).

В полученном дампе нужны будут некоторые пояснения.
Collapse )
redcat

C. Глава 2. Целые числа

"В Си существует всего лишь несколько базовых типов: char - единичный байт, который может содержать один символ из допустимого символьного набора; int - целое, обычно отображающее естественное представление целых в машине; float - число с плавающей точкой одинарной точности; double - число с плавающей точкой двойной точности. Имеется также несколько квалификаторов, которые можно использовать вместе с указанными базовыми типами. Например, квалификаторы short (короткий) и long (длинный) применяются к целым."

"Значения типа char - это просто малые целые, и их можно свободно использовать в арифметических выражениях, что значительно облегчает всевозможные манипуляции с символами."
(Б. Керниган, Д. Ритчи "Язык программирования C")



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

1. Целые числа в компьютере
Collapse )
redcat

C. Глава 1. Посимвольный ввод и вывод

"При наличии функций getchar и putchar, ничего больше не зная о вводе-выводе, можно написать удивительно много полезных программ. Простейший пример - это программа, копирующая по одному символу из входного потока в выходной поток."
(Б. Керниган, Д. Ритчи "Язык программирования C")



1. Чтение

Добавим к системной функции write еще и read. Тогда мы получим возможность вводить данные в работающую программу. Эти данные могут поступать как с клавиатуры, так и из файлов на диске, а также по конвейеру из других программ. Добавление read делается с головокружительной простотой:

$ cat write.s > read.s
$ vi read.s
Лст. 1-1. Копирование файла в новый и правка.

Функция read
Рис. 1-1. Функция read.
Collapse )