Git в домашнем хозяйстве.


Тема крайне капитанская, но, оглядываясь назад, мне бы хотелось заставить себя использовать CVS гораздо раньше, чем я начал)

Имея высшее образование по специальности «Радиотехника», и программируя микроконтроллеры на самом нижнем уровне, исходя из сложившихся представлений о программировании (коих до определенного времени хватало), я время от времени от знакомых ребят-программистов, которые интересовались моей деятельностью, слышал о системах контроля версий исходного кода, а также удивленные возгласы после того, как они узнавали, что я таковыми не пользуюсь.

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

С тех пор прошло какое-то время, я решил научиться взрослому программированию, сейчас работаю в крупной компании над большим проектом под iOS, но продолжаю разрабатывать железки для своего личного проекта в свободное от работы время.

И, кончено же, я использую Git не только на работе, но и дома — потому что от его использования мы получаем следующий профит…


Читать дальше

W5200 плата

Развел простенькую платку под Wiznet 5200, решил поделиться...
UPDATE: статья обновлена, комментарии устарели
Проект в Altium прикреплен.
Схема опробована, завелось практически сразу.
Пришлось дополнительно промыть растворителем — кварцевый резонатор и его конденсаторы, дальше проблем не возникало )
Выведен весь SPI интерфейс (MISO,MOSI,SCK,CS) и PWDN с Reset-ом.
Разъем с трансформатором h911105a


Читать дальше

Начинаем использовать систему контроля версий tortoisehg(mercurial) - установка/настройка

Нигде на сайте не видел статьи про использование системы контроля версий HG. Решил восполнить этот пробел. Я буду описывать (с картинками) работу в системе на базе mercurial: tortoisehg (обычно говорят HG = Hydrargyrum == ртуть == mercurial)
В работе над печкой, в течении более 3-х месяцев, я с самого начала разрабатывал код и платы под HG. Сейчас репозиторий выглядит так:
Репозиторий проекта печки
Как его поставить, настроить и основные принципы работы под катом.

Часть 2: Commit


Читать дальше

Диспетчер, снова диспетчер

У каждого более-менее состоявшегося электронщика сформировалась своя система организации программ. Кто-то использует ОСРВ, кто-то диспетчеры, кто-то так и остался на уровне супер-цикла. В этой статье речь пойдет о диспетчере, который, так скажем, у меня недавно появился. Написан полностью на С.


Читать дальше

Преобразуем в строку. Часть 1. Целые числа.

Задача преобразования числа в строку стоит всегда, когда нужно отобразить числовые результаты работы программы. Процессоры у нас оперируют двоичными данными, человеку-же подавай десятичные числа. Собственно задача состоит в преобразовании базы числа. Какие для этого есть способы? Целью данной статьи является описание и сравнение максимального количества способов преобразования числа в строку. Задачу, естественно, рассматриваем с точки зрения реализации на микроконтроллерах, по этому размер и скорость имеют значение. Для простоты рассматриваем только без-знаковые 32-х и 16-ти разрядные числа (со знаком не намного сложнее).


Читать дальше

Subversion



Введение


Subversion (сокращенно SVN) — система управления версиями (Version Control System, VCS). Обычно тулзы этого рода считаются теми, кто с ними не знаком, чем-то нужным только большим командам программистов. Но на самом деле, они крайне полезны даже одиночке, и даже не программисту — всем, кому приходится редактировать какие-либо файлы. Так, я встречал весьма восторженное описание системы CVS (идейный предшественник SVN и первая свободная VCS — благодаря чему она до сих пор достаточно распространена) от какого-то то ли журналиста, то ли писателя, ее использовавшего.

Итак, зачем же оно одиночке?
  • VCS хранит всю историю изменений файлов, за которыми следит — всегда можно просмотреть историю файла, различия между двумя его версиями или откатиться после неудачных изменений.
  • VCS хранит файлы эффективно — хранятся только изменения файлов, благодаря чему репозиторий с сотней версий некоторого проекта может весить меньше, чем сам проект.
  • VCS облегчает создание резервных копий. Репозиторий легко сбэкапить, не заботясь о том, а не затрется ли какая-нибудь старая версия, которая в будущем может пригодиться — он всегда хранит всю историю. Кроме того, репозиторий — сам по себе бэкап, если он хранится отдельно от рабочей копии проекта.
  • Онлайн-репозиторий облегчает публикацию исходных кодов (и не только их), кроме того, всегда можно скачать из него самую свежую версию, либо любую из предшествующих. К тому же, при обновлении уже скачанной копии по сети передаются только изменения, резко сокращая расход трафика (и времени на передачу данных).
  • Онлайн-репозиторий — удобное средство синхронизации нескольких рабочих копий. Можно, например, подредактировать что-то на работе, зафиксировать изменения и придя домой — синхронизироваться с репозиторием и продолжить работу. VCS гарантирует, что ни одно изменение при переносе не будет забыто, а если обновляемый файл содержит какие-то незафиксированные изменения — предупредит об этом, предотвратив их потерю.

Именно последний пункт делает VCS столь ценным средством для команд, делая невозможной ситуацию «твою мать, какая сволочь затерла всю мою вчерашнюю работу своей правкой?!». Кроме того, всегда можно выяснить «кто эту херню глючную понаписал?!» или «а что мы такого наменяли под новый год, что все сломалось?».


Читать дальше
  • +6
  • 29 мая 2011, 06:48
  • Vga