18 часов назадКартинки можно дополнить текстом.
http://www.chemometrics.ru/materials/textbooks/matrix.htm
2 дня назадМы были на прошлой неделе в Белоруссии проездом, было очень холодно: ночью в Гомеле -32 %) Спасибо за приглашение, у меня есть сильное желание приехать и послушать доклады, интересные темы, но всё же в следующий раз, когда будет потеплее ;)
5 дней назадНаконец нашел что-то путное по теме. Начну разжевывать. Несколько дней уйдет, однако.
1 неделя назадМне пришлось столкнуться с тем, что элементарно не работает комбинация клавиш Ctrl + C и Ctrl + V. Причем переустанавливали Flash и не раз. Может быть, есть здесь те, кто сталкивался с этой проблемой и как-то смог решить ее?
1 неделя назадХотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...
Где вы храните свою работу?
Обычно я могу быстро найти на своем компе любой проект, в котором участвовал, и даже по телефону продиктовать, где он лежит. Это стало возможно благодаря последовательному подходу к размещению проектов на винчестере. Я храню их все в одном месте, рассортировав по годам, поэтому легко вспомнить, где что лежит.
Использую такую стуктуру: корневой каталог всех проектов - d:\projects\
В этом каталоге есть подкаталоги, обозначающие порядковый номер года разработки проекта: 2004, 2005, 2006, 2007, 2008, 2009, 2010, и 20000
Практически все актуальные проекты находятся в каталоге, совпадающем с номером текущего года, поэтому их найти легко. Например, d:\projects\2010\flexoid
Существует также специальная категория проектов - бессрочные. Это те, что начаты давно и продолжают развиваються с перспективой на годы вперед, до конца жизни. Такие проекты попадают в спец. каталог с номером года 20000.
А вы используете простые приемы для оптимизации и упорядочения рабочего пространства?

Комментарии
Идея с "годами" не очень понравилась. Вот делал я проект когда-то... но когда точно - не помню. 3 года назад... а может 4... а может и все 5
Больше нравится "обычный" подход, классифицирующий по тематике
например:
d:\dev\projects\web\ria\rss_viewer
d:\dev\projects\desktop\tools\backend_logger
Куда класть проект, который собирается и в Веб, и в АИР версию?
А мы не работаем над проектами
Мы работаем над одним проектом. И храним его в SVN-е.
У меня похожая структура. Только я выделяю АРХИВ и ТЕКУЩИЕ ПРОЕКТЫ. Архив упорядочен по годам (год завершения проекта). Текущие - только по названию. По завершению они попадают в архив.
Делить по тематике невозможно, потому что в одном проекте может быть и PL/SQL, и C# и ActionScript.
а у меня проекты раскиданы в папках с именами заказчиков
уж это я точно помню, какой проект и для кого делал
Храню свои файлы похожим с mycarisgood образом. Выполняемые в данный момент проекты лежат в папке на рабочем столе ActiveProjects, в корне диска имеется папка CurrentWork для завершенных проектов с разбивкой по-годам. После завершения проект кладется туда. Также имеется архив (на внешнем жестком диске), куда раз в год перемещаются файлы старше 3 лет.
Структура папки ActiveProjects:
ActiveProjects
--CustomerTitle
----ProjectTitle
------ProjectSubDirectories
CurrentWork
--2010
----CustomerTitle
------ProjectTitle
--------ProjectSubDirectories
где projectSubDirectories это внутренние каталоги для проекта, обычно они совпадают (обсуждение структуры каталогов проекта встречалось на ruFlash)
При этом если в CurrentWork есть проекты разных лет для одного и того же Customer'а, то папка с именем заказчика (CustomerTitle) переносится в наиболее свежий год, т.е. все материалы по заказчику лежат в одном каталоге.
Учитывая что дизайн и разработка слились в один поток, организация и хранения всех материалов по проекту происходит по следующей структуре:
www // корневая директория локального хоста
- projectName // директория проекта
- backup
- domains // директория для поддоменов приложения
- project // директория для хранения сусров проекта (psd, ai, fla, mxml итд), прототипа проекта, ТЗ итд
- source
- db
- psd
- flex
- ts // директория для ТЗ и прочей документации по проекту
- prototype
- docs
- examples
- ruby // директория для разного мусора
- root // корневая директория виртуального хоста (рабочая версия проекта)
блин, сожрались отступы
www // корневая директория локального хоста
- projectName // директория проекта
- - backup
- - domains // директория для поддоменов приложения
- - project // директория для хранения сусров проекта (psd, ai, fla, mxml итд), прототипа проекта, ТЗ итд
- - - source
- - - - db
- - - - psd
- - - - flex
- - - ts // директория для ТЗ и прочей документации по проекту
- - - prototype
- - - docs
- - - examples
- - - ruby // директория для разного мусора
- - root // корневая директория виртуального хоста (рабочая версия проекта)
У меня почти как у k4d:
!_works — все что мне важно и нужно иметь под рукой - "!_имя" или наоборот, в конец - "z_имя".
- - имя_заказчика (в этой же папке все материалы от заказчика по текущему проекту - доки, картинки, исходники в кривых и т.п., удобно в плане - проект закончился - удалил все, кроме папок с моими исходниками, если исходников слишком много и все они разные, в этой же папке создается папка MATERIALS и все материалы сваливаются туда).
- - - - название проекта
- - - - - - AI
- - - - - - FLA — а вот здесь контроль версий (по такой схеме именуются все исходники), чтобы не было как у отписавшегося ниже Дэна:
- - - - - - - - project_name_presentation_800x600_001.fla — не ленюсь в каждом файле давать максимальную инфу о нем (дата, размер, версия, еще что-то).
- - - - - - - - project_name_presentation_800x600_002.fla
- - - - - - - - project_name_presentation_800x600_003.fla — и независимо от того, вернулся я или делаю что-то новое, я всегда прибавляю к версии единичку, т.е. если я вернулся и открыл файл "_001", первым делом я обзываю его "_004", т.е. я всегда делаю что-то новое и всегда уверен, что ничего старого не сломал и могу вернуться на любое кол-во шагов назад, причем версии я иногда просто так добавляю, даже если ничего и не изменилось - на всякий случай. В этом плане, я считаю у 3D max очень правильное решение - кнопка "+" в окне сохранения файла, которая автоматом добавляет единицу к имени файла.
- - - - - - - - PNG — часто в папке FLA тоже папки по расширениям - картинки, звуки и прочее, что используется во flash-исходниках.
- - - - - - - - MP3
- - - - - - - - VIDEO
- - - - - - MAX
- - - - - - PHOTOS
- - - - - - PSD
- - z_OLD_projects — в самом низу старые проекты по годам или именам заказчиков:
- - - - 2007
- - - - - - имя_заказчика
- - - - - - имя_заказчика
- - - - 2008
- - - - 2009
Да, и я пользуюсь уже лет 15 "командиром", а сейчас у него настраиваемая подсветка по типу файлов, которая очень помогает, если файлов очень много.
Сквозная нумерация не решает проблемы.
_005 может быть "потомком" _003, а _004 - потомком _002. В результате возврат на несколько шагов назад становится не так прост.
Я потихоньку склоняюсь к тому, что даже для моих личных минипроектов, которые я делаю единолично и чисто для души - всё равно нужен SVN.
Реальный пример. Начал делать проектик. Назвал папку что-то типа project_blablabla_v0.1
Потом мне показалось, что пошёл и не тем путём, и решил начать всё с нуля другим способом. Назвал project_blablabla_v0.2
Потом понял, что этот второй подход как раз таки тупиковый, а вот первый был более удачным, просто надо было доработать.
Вернулся к v0.1 и доделал до определённого логического конца. То есть получил вполне функциональное веб-приложение.
В итоге в папке v0.1 у меня нормальное приложение, а в v0.2 - недоделанный мусор.
Затем решил добавить новую фичу. Скопировал v0.1 в v0.3. Что-то там поделал, даже не помню, что именно, в результате кое-что сломал.
Потом потребовалось поправить багу, исправил я её, разумеется, в стабильной версии v0.1
Теперь v0.1 и v0.3 пошли разными путями (в одной бага исправлена, в другой фича не до конца добавлена) и я вообще не представляю, как их теперь склеивать без системы контроля версий.
Вобщем, SVN (или другая система) обязательно нужны, и не важно, сколько разработчиков (хоть ноль целых, двадцать пять сотых) и сколько классов в проекте (даже если один god-класс).
У меня есть два логических диска для проектов, второй обязательно "Z". На первом хранятся архивы проектов в корневом каталоге, под именами вида "YYYY.MM.DD.ProjectName.zip". Архивирование происходит на контрольных точках и по завершению(тогда предыдущие версии могут быть удалены). Раз в пол года, может меньше, я дублирую содержимое архива на DVD-R. На втором диске(тот, что Z) установлены Apache, MySQL, Red5, PHP и подобные приложения. вроде Flex SDK или LCCS SDK. У апача ассоциирован виртуальный хост на localhost, который лежит в папке "Z:/home/localhost/www/", вот здесь лежат проекты над которыми я работаю в данный момент. В этой же папке лежат директории .tools - там где лежат всякие админ штуки, вроде phpmysqladmin, .alt - для приколов и .test - для тестов. В рутовой папке локалхоста(Z:/home/localhost/www/) лежит пустой index.html.
На всех компах, которые я использую такая же структура, благодаря этому проекты переносятся безболезненно и легко тестировать клиент-серверную взаимосвязь.
Структура папки проекта:
- source - исходники
- libs - либы
- Original files - всё что касается проекта, письма заказчиков, туду, дизайн-макеты и прочая фигня.
- svn/git - последний коммит
- fdt_project/flash_project/flex_project/fd_project и т.д. проекты для FDT/Flash Builder/Flex Builder/Flash Develop, соответственно.
Иногда добавляются папки
- asdoc - сгенерённый asdoc их моих сорцов
- server - серверсайд часть
В корне лежат скрипты и конфиги для компила и генерации asdoc'а.
Хмм... Исходники отдельно, svn отдельно?
Рост, он реально похож на тебя!
Конечно использую! Правда, пришлось пройти крещение "разобрать.dir" с размером под сотню гигабайт. И еще научил горький опыт файлов на рабочем столе, которые потерялись после слета винта. Теперь всё лежит по папочкам, текст в папке текст, где есть "книги", "цитаты", "рассказы", "учебники", etc. А на рабочем столе теперь только ярлыки, никаких файлов.
Кстати, еще удобная штука это создавать папки для ярлыков. И рабочий стол чистый, и поряджка больше. Особенно если скачать пару красивых скинов для папок.
Убить спаммера!
На счет откатов к предыдущим версиям итд... Если хорошо провести этап планирования проекта, хотя бы эскизы черновых скетчей-схем на бумаге, написания ТЗ, прототипирования проекта, то большинство откатов можно избежать и свести все риски к минимуму... Flex, например, позволяет быстро создавать черновые прототипы, которые помогут отловить "баги" в архитектуре и структуре, а прототип в дальнейшем использовать как "фундамент" для рабочей версии... в общем, что то так...
Если бы я мог предсказывать будущее, я бы не стал флешером
ну или, если верить в детерминизм а ля minority report, стал бы всё равно, но был бы глубоко несчастен.
Таки я придерживаюсь теории параллельных вселенных
Я использую похожую структуру, только без указаниях годов, когда проекты создавались. У меня целый 750-гиговый хард:
M:\cf\название_проекта\версия\ - для cf-проектов
M:\flash_flex_air\название_проекта\ - для flash\flex\air
M:\java\название_проекта\ - для java
M:\sql_dumps\ - дампы баз данных и всякие БД для тестирования
M:\assets\ - всякие ассеты типа изображений, иконок, css-стилей и js-скриптов
M:\library - тут просто огромное количество чужих проектов, служащих мне вдохновением или разбираемых для изучения.
M:\manuals\ - тут тысячи .pdf с мануалами, инструкциями и прочей хернёй.
Дублируются проекты на внешнем харде, к которому можно получить доступ с любого моего компа и ноута через wi-fi.
Леша, я тоже раньше так делал, но я считаю, что описанный мною вариант имеет более гибкое решение... например, сразу можно запустить CF-приложение с рабочего локального веб-сервера - http://projectname, через веб-браузер получить доступ к документации (doc, pdf файлы) через виртуальный хост http://dir.projectname, либо запустить исходник без перехода в файловой системе - http://dir.projectname/source/psd/index.psd или http://dir.projectname/source/flex/src/master.mxml, не нужно делать дополнительный поиск, например БД, может возникнуть ситуация, когда наименование проекта изменилось и придется переименовывать папки с именем проекта во всех директориях (sql, air, cf итд) итд
Коля, я имею доступ через сервер ко всему диску... Маппинг - великая сила!


И, кстати, я написал cf-приложение для контроля версий и синхронизации; создания, сбора и редактирования метаданных о компонентах и файлах и кое-каких других полезных функций.
А кроме того, не вставая с места, я могу любой проект или файл отправить куда захочу - клиенту на ftp, себе на рабочий комп или на мыло.
Кстати, проблема организации рабочего окружения - для меня весьма болезненна и вырабатывалась достаточно долго, и сейчас моё рабочее пространство вполне удовлетворяет, поскольку я могу работать с любого устройства - стационарного компа или ноутбука.
Но, конечно, у каждого свой взгляд на оптимизацию рабочего процесса.
Леша, ну раз так, то действительно круто!!!
Даты? вы что? я один считаю что сортировать проект по дате это сложно? а если проект делался в 2004 а пото доделывался в 2006 какая у него дата будет?
У меня структура папок такая:
--- user - каталог пользователя, называется по имени пользователя "~" на linux
|--- work - каталог с рабочими файлами
|--- domin - Домен проекта или сайта, ресурса в интернете
| для которого делается проект. Бывает, что один проект
| крутится на нескольких сайтах. Тогда указывается домен
| или имя заказчика
|--- project - Название проета.
Бывает для одного домена делаешь несколько проектов все располагаются в одной папке domin
Версионность проектвов должна хранится в системах контроля версий. Если такие предоставляет заказчик используюется его репозиторий, если нет Mercurial или Git идиально подходят для проетов разрабатываемых с скромных командах по 1-2-3 человека.
Не веду проекты слишком долго, ибо велика вероятность зависнуть в болоте (на поддержке)
Старый код стараюсь не использовать ибо велика вероятность уйти от суровой действительности, а надо изучать новые технологии и платформы.
у меня проекты живут на диске C: в папках, начинающихся с подчеркивания. примерно половина прицеплена к SVN. внутри папок - структура, обычно содержащая /flash /web /php /docs /gamedesign etc