полностью согласен. тут лучше фоновая обработка. замечу так же, если у вас апач, то у него ограниченное количество одновременно висящих процессов, которые обрабатывают запросы. Например, это может быть 64 процесса. При длинных обработках через апач число свободных для обработки процессов под нагрузкой кончается достаточно быстро. И так получаем 5xx ошибки, т.к. апач занят.
Так что очередь лучше всего делать без веб сервера. Это может быть как демон, ведущий обработку, так и крон скрипт запускающийся каждую минуту. Это уж как сделаете… оба решения рабочие.
и ещё используется LDAP ауторизация. когда-то было ещё openID, но потом сделали LDAP.
Если смотреть документацию, то там можно написать такое расширение, которое может использовать любую парольную базу пользователей, то есть например, с соседнего сайта или ещё откуда.
redmine уже заточен для программистов. там почти всё есть.
делаю проект или группу проектов. по ним есть задачи.
бью крупно по задачам-фичам. каждую задачу на подзадачи и т.п. вложенность бывает до 10 задач вложенных друг в друга.
к проектам прикручиваю меркуриал репозиторий + ещё использую интеграцию jetbrains продуктов с redmine. там можно привязывать задачи к change листу.
писал плагины для интерфейса, делал его под себя по удобнее. на данный момент почти все мои доработки стали частью redmine. Я им не отсылал код, просто одни и теже идеи витают в воздухе, я видел штук 5 аналогичных плагинов, реализующих тоже, что и мой.
Когда мне нужно автоматизированно создать задачи из какого-нибудь источника, то пишу скрипт, который бы создавал задачи через REST API.
наличие REST API — это серьезно. Можно строить любую автоматизацию легко.
Иногда мне возможностей REST API не хватало, и я пилил его под себя очередным плагином.
Недавно увидел вот такую поделку: github.com/TeamRocketScience/redmine_json_rpc
Сам не пробовал, но идея гениальна.
Когда-то использовал plantuml для wiki. Сейчас оно уже изжило себя, документация хранится в другом месте.
Codereview(иногда ломается при обновлении, сейчас уже не использую), lightbox(красивое отображение вложенных картинок).
Вот такое расширение. chrome.google.com/webstore/detail/mkpkclfhemlehfbeinbjnbjebbikgfpb
Иногда надо знать точно сколько времени потратил ты, твоя команда. Например, чтобы предоставить счет заказчику.
Ответ в stackoverflow интересный. Спасибо.
Если относиться к REST как к протоколу над HTTP, то так оно и есть.
Если думать о разработке и об автоматизации разработки, то:
ИХМО, WADL не делает никаких ограничений, как WSDL, вы просто в стандартизированной форме сообщаете клиенту о том, что у вас такого бывает, это удобно для автоматизированных генераторов и не более.
REST прост — я имел в виду, сделал обработку POST/GET/PUT запроса, разобрал урл, выдал в ответ XML или JSON и всё. Заморачиваться с генерацией каких-то XML никто не хочет.
Ну и к сожалению, зачастую, просто не знают об этом.
Решение формированть crontab записи — мегакрасивое.
ИХМО, оно проще, быстрее и надежней, чем разработка демона под эти цели. ведь демона нужно ещё в памяти держать, как-то запускать при старте системы и т.п.
Про развитие зачет. Работал и в профильных, и в непрофильных компаниях. Там действительно всё так и есть.
Только одно но, бывает просят развиться ради того, чтобы решать новые задачи. Бывает такое компания растет, круг задач меняется. Или на рынке нет подходящих им разработчиков, а значит приходится растить самим. Короче, по компании нужно смотреть.
Бывает такое, что если и просят развиваться, то под конкретные задачи и в ускоренные сроки. Развитием такой процесс назвать сложно, скорее ускоренное изучение кучки мануалов и реализация «так, чтобы работало»
ещё про netbeans. У меня следующим семестром идет Java. Удобно когда даже среду менять не нужно…
в нем даже SQL запросы на ура пишутся. Там клевая автоподстановка.
Code::Blocks — тоже не плохо… Но там всё по-английски. У меня в каждом потоке было по 5 немцев. Им было тяжело. Слова незнакомые. Поэтому я на своих занятиях использую netbeans, причем русифицированный. А потом, если кто хочет, начинает использовать свои инструменты.
По поводу если чего не хватает:
там система плагинов серьезная, фактически это плагины rails 2.x движка.
Плагины под систему тоже активнопишутся.
Ну а если чего сильно нужно, самому писать тоже не сложно. Собственно этим на работе я и занимаюсь.
А ещё есть TrackStudio. Она тоже платная, но её очень хвалят, что она гибкая. ИХМО, интерфейс не понравился, после redmine — что-то не то…
И про мантис забыл написать…
Давным-давно пробовал ставить. Из коробки нужно много телодвижений, чтобы всё было…
А вообще, я работал в организации, где был мантис, они его сами пилили, допилили до приличного уровня по фичам… ИХМО, изначально функционал мантиса меркнет по сравнению с той же redmine.
Согласен. Но это не помешало пустить внутрисетевой redmine на webrick пару лет назад, так он там и крутится… И все счастливы. Самый большой webrick плюс в том, чтобы не возиться с настройкой. запустил и работает. Для того, чтобы быстро попробовать — вполне хватит. А понравится или(и) нагрузка появится — то можно и что-нибудь по серьезней поставить.
Посмотрите определение метода. Там ключевое слово native стоит. Это означает, что реализация написана на СИ.
И скорее всего зависит от платформы выполнения.
Для этого существует механизм JNI.
Ну и приведу ссылку на официальную документацию.
Для себя я так понимаю, что для простого Object в hashCode кодируется адрес ссылки объекта в памяти.
В sf2 не только же из Rails черпали вдоновление.
Где-то там классика проектирования ООП, где-то механизм аннотаций, взятый из Java. См. роутинг на анотациях, или в Docrine ORM/OXM маппинг в БД/XML.
ИХМО, sf1.4 — копипаст идей Rails 2.x
sf2.0 — гибкое ядро, которые позволяет подключать любые модули и компоненты в одну среду исполнения.
Модули и компоненты могут быть свои, так и сторонние. Причем, надо отдать им должное, они наплевали на амбиции и взяли компоненты лучших производителей.
Например, заюзали Zend_Log вместо стандартного логгера симфони. или PhpUnit вместо ихнего Lime. И так далее список можно продолжать.
Так что очередь лучше всего делать без веб сервера. Это может быть как демон, ведущий обработку, так и крон скрипт запускающийся каждую минуту. Это уж как сделаете… оба решения рабочие.