forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   moochip (http://forum.boolean.name/showthread.php?t=16392)

shybovycha 26.02.2012 17:28

moochip
 
Доброго времени суток, уважаемые!

Хочу похвастать своим курсовым проектом, хехе =) Ничего особо примечательного в нем вроди как нет, но тем не менее, довести до конца ведь нужно.

С предыстории начну рассказ свой. Дело было в универе, на паре "архитектура ПО". Преподаватель - мой добрый друг, объявил:

"Ребята! Вы - программисты! Вам нужно программы писать, а не бумажки печатать! Посему, разбейтесь на комманды по 2..3 человека, выберите тему и делайте курсовой. А по ходу дела - натягивайте архитектуру и печатайте бумажки, которые надо - хоть чему-нибудь да научитесь."

Со мной никто (ВНЕЗАПНО!) не захотел писать. Но в надежде я создал репозиторий на Bitbucket с git и неограниченным количеством контрибуторов. Даже написал практически весь проект. Даже задеплоил на Heroku (проект на 90% написан на JavaScript, но для простоты, удобства и расширяемости набросал application на рельсах).

Морали в этой басне нету - хотиш писать - пиши газету. Проект вроди как функционирует. Багов в нем немерянно. Но коль закончить - обещается быть интересным =)

Суть проекта - онлайн-сервис для интерактивного обучения основам электроники. Пока никакого обучения (кроме интерактивного набросания схемы и симуляции ее работы) нету.

Проект успешно задеплоен на http://moochip.heroku.com/ . Код можно посмотреть, а баги зарепортить на https://bitbucket.org/shybovycha/moochip/ .

Ах да, в Opera и IE работать проект отказывается. В опере еще хоть как-то, но все равно нету основных функций. Посему оные отмечены как не-браузер и выброшены из поддержки до неопределенного времени.

Вроди, все сказал. Пожелания, замечания - как обычно. Заранее благодарен за ваши отзывы!

Randomize 27.02.2012 00:23

Ответ: moochip
 
Симуляция схемы это интересно только вот где транзистор чтоли?
И где симуляция? Лампочки там или вольтметры чтоб понять работает ли схема?

Цитата:

Сообщение от shybovycha (Сообщение 220643)
Ах да, в Opera и IE работать проект отказывается.

Ну ты понимаешь, да?

pax 27.02.2012 01:00

Ответ: moochip
 
Как связи удалять без удаления компонентов?

shybovycha 27.02.2012 01:42

Ответ: moochip
 
Цитата:

Сообщение от Randomize
только вот где транзистор чтоли?

Пока нету =) Ишшу создал утром - на днях будет =)

Цитата:

Сообщение от Randomize
И где симуляция? Лампочки там или вольтметры чтоб понять работает ли схема?

Компоненты, которые были задействованы во время прохода подсвечиваются синим. Это и есть симуляция =) Вольтметра тоже пока нету, но на пинах, думаю, можно будет померять ток.


Цитата:

Сообщение от Randomize
Ну ты понимаешь, да?

На самом деле, нет. Прошу вас объясниться более доступно =) И по поводу оперы - есть предположение, что это столько же браузер, сколь и IE вопрос на stackoverflow задал, но ответа нету - фиксинг багов под сей софт затруднен.

Цитата:

Сообщение от pax
Как связи удалять без удаления компонентов?

Пока не сообразил на эту тему ничего. Дело в том, что выделить компонент - да, просто и понятно - его можно повернуть, переместить, удалить в конце-концов. Но что делать с проводником? Пока не разрабатывал алгоритм расстановки узлов поворота проводника - чтоб тот был не просто отрезком, а "умно изогнутым отрезком" =) Но, думаю, и работу с проводниками в нынешнем состоянии можно реализовать. Неблагодарный будет труд, но результат хоть каков да будет =)

Randomize 27.02.2012 02:02

Ответ: moochip
 
Цитата:

Сообщение от shybovycha (Сообщение 220700)
На самом деле, нет. Прошу вас объясниться более доступно =)

В проекте нет WebGL, Drag&Drop файлов, не используется правая кнопка мыши как средство управления. В остальном опера всё что надо держит. Косяк не со стороны оперы.

Почему используется svg? Почему не canvas? 2д контекст подойдёт куда лучше.

DOM почти цел

shybovycha 27.02.2012 02:27

Ответ: moochip
 
Цитата:

Сообщение от Randomize
В проекте нет WebGL, Drag&Drop файлов, не используется правая кнопка мыши как средство управления. В остальном опера всё что надо держит. Косяк не со стороны оперы.

Будьте добры, помогите разгрести проблемму: http://stackoverflow.com/q/9453153/330471 . Заранее благодарен. По-моему это как раз косяк оперы в сторону недо-браузерности =)

Цитата:

Сообщение от Randomize
Почему используется svg? Почему не canvas? 2д контекст подойдёт куда лучше.

SVG более гибок? Более распространен? На самом деле все куда проще - Raphael.js стал пожалуй единственным средством разработки графических и интерактивных веб-сервисов, которые я нашел, попробовал и мне понравилось =)

За ошибку DOM - отдельное "спасибо" - fixed =)

Randomize 27.02.2012 12:53

Ответ: moochip
 
Как пример:
http://raphaeljs.com/curver.html
Тут в Опере всё работает.

shybovycha 27.02.2012 13:32

Ответ: moochip
 
Цитата:

Сообщение от Randomize (Сообщение 220734)
Как пример:
http://raphaeljs.com/curver.html
Тут в Опере всё работает.

В указанном вами примере используются средства Raphael.js для drag-n-drop. В моем случае также используется drag-n-drop, однако в обработчике события drop необходимо получить координаты курсора мыша относительно контейнера дабы понять, к какому пину коннектить выбранный.

Обработчик принимает аргумент - объект события mouseEvent. В FireFox и Chrome этот объект несет свойства layerX и layerY, содержащие данные о позиции курсора в контейнере. Опера не поддерживает этих свойств.

"Альтернативы", предлагаемые оперой слишком скудны для получения нужных данных вручную.

Надеюсь, я выразился предельно понятно =)

Цитата:

Сообщение от Randomize
только вот где транзистор чтоли?

Вроде как добавил биполярные =)

Цитата:

Сообщение от Randomize
И где симуляция? Лампочки там или вольтметры чтоб понять работает ли схема?

Добавил некое подобие вольтметра/амперметра на тулбар.

moka 27.02.2012 15:10

Ответ: moochip
 
MouseMove в канве тебя не устраивает? Помойму вполне достаточно.

shybovycha 27.02.2012 19:22

Ответ: moochip
 
Цитата:

Сообщение от MoKa
MouseMove в канве тебя не устраивает? Помойму вполне достаточно.

Canvas особо не пользовал - не знаю =) А с другой стороны - что спорить? Перепиливать проект под другую библиотеку - уйма времени и не факт, что будет оправдано - неблагодарный труд. А у оперы и без того есть ряд весьма-таки весомых аргументов, никак не улучшающих работу веб-разработчика. К примеру - очень убогий инструментарий для javascript-разработки.

Randomize 27.02.2012 19:29

Ответ: moochip
 
Цитата:

Сообщение от shybovycha (Сообщение 220807)
Canvas особо не пользовал - не знаю =) А с другой стороны - что спорить? Перепиливать проект под другую библиотеку - уйма времени и не факт, что будет оправдано - неблагодарный труд. А у оперы и без того есть ряд весьма-таки весомых аргументов, никак не улучшающих работу веб-разработчика. К примеру - очень убогий инструментарий для javascript-разработки.

Эээ. Спасибо на добром слове.
При веб разработке использую только Opera.
OperaDragonfly хватает хоть отбавляй.
"Из под пера" вышло уже порядка 10 jQuery плагинов.
Сударь, похоже что ваше мнение предвзято.

shybovycha 27.02.2012 20:26

Ответ: moochip
 
console.log не работает, хоть написали что поддерживается. Объекты в логе не разворачиваются для просмотра свойств. JS/CSS из просмотрщика кода посмотреть нельзя. Кеширует все, что можно и нельзя да еще и так, что хрен, прошу прощения, обновишь (Ctrl+F5 не бинден ни на что, а очистка всего, что можно из кешей не помогла). Для меня опера не существует как браузер =)

И все же, некоторые баги для оперы исправил =) Опера снова в списке поддерживаемых :P

Randomize 27.02.2012 23:30

Ответ: moochip
 
Не буду разъяснять в подробностях, но Dragonfly это 100% эквивалент FireBug`а. Есть абсолютно все функции.

Вольтметр работает?

shybovycha 28.02.2012 18:53

Ответ: moochip
 
Цитата:

Сообщение от Randomize
Вольтметр работает?

"Прибор" показывает напряжение и ток на выделенном пине. Посему назвал его PinMeter =)


Часовой пояс GMT +4, время: 14:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot