суббота, 16 ноября 2013 г.

Дневник поломок и обслуживания ВАЗ 2114 1,6 16кл. 2010 года.

В продолжение темы, точнее даже "исторических" записей  о моем опыте "обращения" с автомобилями ВАЗ 2114 решил сюда записывать расходы связанные с обслуживанием моего сегодняшнего автомобиля. Как вы догадались, это ВАЗ 2114  2010года выпуска, с пробегом уже 96 тыс.км, с 16-ти клапанным двигателем 1,6 литра, марки 21126.


16 ноября 2013

С приходом похоладания стали проявляться разные автоболячки у многих автовладельцев, особенно у владельцев отечественных авто. Я не стал исключением.
В последние почти 2 месяца наблюдаю такую картину: на холостых при прогретом двигателе по машине начинают идти периодические вибрации, описать их тектом сложно, ощущение такое, скачут обороты двигателя, хотя реально они стабильны 840-880. Проверяли это с помощью ноутбука. Никаких ошибок не нашли, все работает в штатном режиме.

В одном сервисе, а именно в сервисе Колесо на ул.Соликамской, мне сказали, что я придираюсь, типа все так и должно быть.
Приехал в сервис Интеллект-авто по адресу Героев Хасана, 37б/1, записался на диагностику, которую на следующий день и провели.
За 600р, меня подключили к компу, послушали двигатель, походили вокруг, потрогали то да сё, в общем, вердикт оказался таким же как в Колесе - придираюсь. Из рекомендаций было промыть форсунки, по другому это называется промывка инжектора. А так же рекомендовали поменять топливный фильтр. Записался и сегодня приехал со всем что нужно.
Заодно решил поменять масло, залить синтетику Shell Helix Ultra 5W/40, зима все-таки уже стучится в двери, да и давно пора было убогий Лукойл поменять на нормальное масло :)
Так же прочитал, что после промывки форсунок рекомендуют поменять свечи, но в сервисе сказали, что это раньше были агрессивные смеси, а теперь вроде как не надо. Ну я все-равно решил поменять, а замененные положить на запас.
Ну и еще решил фильтры вентиляции салона и воздушный фильтр сменить.

И так что же понадобилось для работ:
Свечи NGK V-line №12 для 16-кл ВАЗ 2112  - 350р/4шт
Фильтр масляный "Салют" Ваз 2108 - 128 руб.
Фильтр вентиляции салона ВАЗ-2108/15  - 75 руб.
Фильтр воздушный "BIG-9597C"  ВАЗ-2108/10  - 115 руб.
Масло Shell Helix Ultra 5W/40  4л. - 1101 руб.
Фильтр ТОТ "BIG GB-320" ВАЗ-2110/14/23 Дв. 1,6 (это топливный)  - 191 руб.
Итого за материалы: 1960 рублей.

Приехал в сервис, два часа мне промывали форсунки, минут 30 ушло на замену масла и топливного фильтра, получился следующий расклад:
Работа:
Масло ДВС - замена - 300 руб.
Промывка форсунок ДВС - 1200 руб.
Фильтр топливный - замена  - 150 руб.
Расходные материалы:
Жидкость для промывки форсунок Winns  - 500 руб.

Итого 2150 руб.

Ах да, еще же 600р диагностика.
В итоге в очередной раз потрачено на машинку: 4710 руб.


10 декабря 2013


Поставил сигнализацию, StarLine 91a. Отрегулировали замки дверей, теперь все закрываются и открываются нормально
Ну и еще там же за 200 рублей уже позднее, числа этак 20-го, поменял резистор на печку, так как он сгорел. Причем менял я его уже сам буквально месяц назад, там такой геммор подлезть и его поменять, что проще отдать 200 рублей, чем на морозе (а было -25) лежать на коврике под рулем ногами наружу.

В итоге: 7700 руб.


16 января 2014

Машина начала мудить на дороге на кочках, биение в руль, прыжки и вообще... бесит!
Пришел к Вите, в его сервис, тут же у меня на стоянке, подняли посмотрели.
Мудаки из Римекса толком не затянули рулевые наконечники когда их меняли, ну и плюс шаровые подбалтывались.
Купил шаровые десяточные усиленные, Hola, 270р за штуку, итого 540.
Плюс 200р диагностика и 500р работа.
Еще к лету надо будет поменять стойки, так как они уже не те )))

В итоге: 1200 руб.


21 апреля 2014

Давненько ничего не вписывал в журнал :)
За последние 4 месяца случились следующие поломки/затраты:
Печка - как много в этом слове, для сердца тазовода уж слилось. В общем в очередной раз накрылся резистор управления скоростями печки. Говорят, что это мотор печки поджимается где-то и дает сильную нагрузку на этот резистор, вот он, собака, и горит.
Хотел поменять мотор печки, но найти в сборе не удалось, наплевал.
Помазал трущиеся края крыльчатки литолом и успокоился. Ну и, естественное, опять сменил сам резистор.
Резистор стоит от 160 до 180 руб.

Порвалась металлическая гофра, которая идет к глушителю, так называемое гибкое соединение. Звук стал такой, как-будто у меня стоит прямоток)))
Заехал к ребятам, поставили новую гофру 100мм, приварили, подкрасили.
Работы на 20 минут, а денег с ценой новой гофры(800р) - 2300 руб.

Пришла весна и вылезли отовсюду ямы и кочки на бывшем белом ровном асфальте.
Подвеска стала просто бесить, машина кивает раза два после более менее резкой остановки.
Да и просто при остановке кивает. А уж что говорить о звуке, который слышно при езде по кочкам. В общем стойки сдохли, почти совсем. Решено было не покупать новые, а прокачать эти. Кто-то говорит, что прокачать даже лучше. А кто-то говорит, что даже новые желательно прокачать.
Приехал в центр прокачки стоек, думал сделают часа за 2-3, в итоге провозились почти 5 часов. Заменили штоки в передних стойках. Сзади поменяли один сайлентблок. Поставили новые опоры. Справа спереди заменили порванный пыльник у гранаты, предварительно почистив гранату и залив туда шрус.
Поставили колеса на место, сделали развал. Передние стойки благодаря замене штоков, можно считать новыми. Надо сказать, что стойки были неразборные, теперь разборные, то есть прокачать если что - легко.
С учетом того, что стойки у меня приоровские, то я сэкономил.
Заодно проверили подвеску, все в порядке.
За подвеску вышло: 6900(стойки) + 500(развал)

А да, еще я покупал примерно 1.5 литра масла, Шелл Хеликс ультра 5W40 - 1200 руб.

Еще сегодня на новое литье одел летнюю резину и заменил шину на запаске - 1050 руб.

Итого примерно: 12 250 руб.


21 августа 2014

Начала машинка тупить при разгоне. На первой, на второй, на третье, только на 4-й более менее. Дергается и все, как-будто кто-то сзади ее подергивает за хвост)))
Поехал на диагностику в дав-авто, там была акция - полная диагностика за 350р.
Ну и плюсом облив машины 150р вроде бы - грязная она у меня была.
Проверили подвеску, электрику и двигатель.
Оказалось, что тупит катушка зажигания в 4-м цилиндре.
Предложили заменить на их'нюю )) и промыть инжектор за 4 с чем-то тысячи.
Я сказал, что ничо делать не надо, спасибо.
Взял бумажку, где описаны все недочеты и поехал на авторынок.
Купил катушку бошевскую производства Словения за 1150р, там же установил.
Теперь все отлично и разгон и прочее.

А еще на днях заправил полный бак, проехал 523км и заехал на заправку. Залил опять полный бак, получилось 34,26л до полного бака. Получается, что 34,26/523 = 0,0655. Умножаем на 100 и получаем средний расход бензина на 100км - 6,5л.  
Правда из этих 523км, 340 я проехал по трассе.
Вот так-то :)


Итого примерно: 1650 руб.




Зима 2015

Поменял масло, залил лукойловское полусинтетику 5w40 люкс.
Примерно 800р канистра + 300 р. работа.

Отбалансировал зимние колеса, примерно 350р. за все 4.

Подтекал у меня радиатор, достало подливать антифриз.
Поменял бачок, оказалось был в трещинах со стороны, которую не видно, почти снизу.
бачок около 150 руб.
Не помогло, заметил в итоге течь из главного радиатора, он к тому времени уже был весь в красных поддтеках по бокам.
Приехал в сервис, поменял радиатор, продали мне его там же. Посчитали все, вплоть до бумажной воронки.
Заодно подварили петлю на защите картера, была с трещиной.
За все про всё вместе с патрубками, хомутами, радиатором и работой вышло около 3-4т.р. точно уже не могу вспомнить, вовремя не записал, а распечатку с суммами, похоже, выбросил.

За зиму два раза на одном и том же колесе (правое заднее) словил проколы. Первый раз проволочка стальная, второй раз хороший такой саморезик.
Поставили в обоих случаях жгуты. 180р + 180р.

Двигатель подъедает масло, покупаю примерно раз в 1-2 месяца литровую канистрочку, слежу. Покупал вроде бы 2 раза, будем считать по 250р. так как цены выросли.

Еще поменял на дверях резинки уплотнительные, стало гораздо приятнее :)
Цен не помню, но что-то около 800р на все 4 двери.

Спустя какое-то время, поменял резинку уплотнительную на крышку багажника на 2114 - 163 руб.

Хотел поменять недавно уплотнители стекол, дак комплект стоит 1.5т.р. пока так поезжу, к лету все-равно сменю. И это только верх, а низ проема, там где так называемая бархотка идет, стоит еще около 500р. тоже комплект.

Итого примерно по максимуму: 6450 руб.


Всего за время владения авто с августа 2013 вложено примерно 75700 руб.


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

Повторим фразу с учетом предыдущего абзаца:
Всего за время владения авто с августа 2013 вложено примерно 86100 руб.



5 августа 2015

И так, машинке 5 лет, потребовала очередного вложения.
Ну во-первых, все-таки решил поменять сломанный передний бампер.
Купил в цвет (Космос), так как дело было в выходной сервис рядом был закрыт и я решил сам поменять прямо на стоянке.
Цена бампера 1900 вроде бы. Еще докупил реснички(те что под фарами, накладки пластиковые) 200р комплект. А так же приобрел за 750р комплект пластиковых накладок на пороги, перед+зад. Бампер поменял, реснички тоже, естественно тут же заменил - хорошо стало смотреться :)

Во-вторых: услышал, что двигатель работает с некоторыми щелчками, причем уже довольно-таки ощутимыми на слух. Заехал тут же в сервис, сняли ГРМ, 16 зубов нет, хорошо что успел заметить, попал бы за загнутые клапана и 20-25т.р.
Заменили грм, работа 1200, сам ремень 2800



В-третьих: стала брякать подвеска, едешь и спереди стук да бряк на каждой кочке.
Подозрение сразу на опорные подшипники, или, как правильно их называют в магазинах, поворотные опоры.
Собрался с силами и деньгами и поехал в магаз. Комплектом не было, поэтому взял отдельно подшипники сэви и опоры стандартные приоровские, так как стойки приоровские и вообще вся подвеска приоровская. Кстати тяги, на которые крепятся рулевые наконечники у меня десятоШные, посмотрели в сервисе :)
Поехал в уже знакомое место "Центр прокачки стоек" на Карпинского 97а к1, вроде такой адрес.
Разобрали, посмотрели, накончникам п%$да, одному штоку в стойке тоже, одному отбойнику в стойке то же по тому же месту. Решили что будем менять шток и прокачивать обе стойки.
Провозились они 3 часа с небольшим, вместе с развалом.
По подвеске цены:
комплект опорников - 1546р
наконечники 350шт. + 350работа/за штуку
Прокачка стоек.. не помню, шток не помню
Работа по установке новых опорников 500р/шт.
Развал 590 вроде бы с гарантией в неделю(нигде не дают гарантию на это, кстати).
В общем в итоге на всё про всё 6200р с копейками.

Ну и в-четвертых, нужно было делать страховку до 27 июля.
При моем стаже меньше 3-х лет, и с городской пропиской, с машиной мощностью 98лошадей(т.е. меньше 100) мне она обошлась в 12706р. за сраную осагу спасибо президенту, правительству и всем кто на этом нажился. Еще и дорожный налог надо будет платить 2800.

Повторим фразу с учетом предыдущего абзаца и прибавим то что вылилось за недавнее время, а именно 25750р.
Всего за время владения авто с августа 2013 вложено примерно 111850 руб.
Вот и думай потом, нах нужно покупать российский автопром, ведь потрачено уже половина первоначальной стоимости, а если учесть, что текущая цена на мою "ласточку" около 150т.р., то 2/3.

На дворе февраль 2017-го, думаю, что продолжать эту тему бессмысленно, выводы делайте сами, я для себя уже сделал :)
За 2-2,5 года в такой автомобиль можно вложить как минимум 1/3 его стоимости, а скорее всего половину и даже больше. Но тем не менее свои функции он выполнять будет, а это самое главное.


четверг, 29 августа 2013 г.

Покупка и содержание ВАЗ 2114, стоит ли брать отечественный автомобиль с пробегом.

История о том, как я в марте сдал на права, купил в июне авто, разбил авто и купил в августе другое :)

Март 2013:
Сдал на права, получил водительское удостоверение.

Июнь 2013:
Купил ВАЗ 2114  1,6  8кл. 35 тыс пробега, октябрь 2010 года, в отличном состоянии за 202 тысячи рублей.
Покатался на машинке 3 недели, затем в меня, стоящего перед пешеходным переходом, въехал пьяный водила на пежо 307. В результате машинке потребовался  ремонт на 90 тысяч рублей (насчитал сервис Оберегъ). Мной было принято решение продать ее в разбитом состоянии за 120 т.р.
А страховая (УралСиб) насчитала ремонт всего на 40 тысяч. После обращения к независимым экспертам проведения экспертизы сумма, которую должна бы выплатить страховая получилась 90 тысяч + 20 тысяч УТС (утеря товарной стоимости).
В данный момент судимся с УралСиб за недовыплаченные 70 тысяч.

Июль 2013
То была предыстория.
Примерно 20 июля, на авторынке "Камская долина" была выбрана следующая машинка, на этот раз ей оказалась тоже ВАЗ 2114, но черного цвета, 16-ти клапанная, 98 лошадок, с пробегом аж 90 тысяч км.
Надо сказать, что выбор на рынке был небольшим, а машину хотелось уже "сегодня"! а еще  мне хотелось именно чопырку, привык я к ней за те 3 недели, да и первая машина, я считаю, и многие другие считают, должна быть отечественной. Причин для этого много, но по сути, все упирается в деньги и опыт водителя.
Обошлась мне она в 195 тысяч рублей.
Было видно что левое переднее крыло было битое, но сделано добротно.
После первой поездки я поразился, как же сильно отличается 8-ми клапанный двигатель от 16-ти клапанного! Небо и земля! С полным салоном людей (5 человек с водителем) 16-клапаный тянет один в один как будто я еду один в чопырке с 8-клапанным двигателем.
Машинка была проклеена предыдущим владельцем полностью, сзади стоят блины по 120ватт. каждый, саба нет (мне и не надо). Звук просто отличный! Не сравнится с тем, что я поставил в предыдущую машину, динамики в двери - пионер 1500р за пару :)
Ничего не гремит, не трещит, не стучит.
Полное счастье было не долгим ))

14 Августа 2013

За неделю до, заметил, что на резине (КАМА какая-то там), которая стояла при покупке, есть грыжа, причем приличная, ездить стало как-то страшновато. После снятия, нашел на другом колесе еще грыжу, стало еще страшнее )).
Принял решение, что надо менять резину, приобрел HANKOOK K-424 185/60, 14 радиус.
Обошлись они мне примерно в 8800 за 4 шины. На литые диски пока стало жалко еще 8 тысяч :) Отзывы о шинах HANKOOK на яндекс-маркете порадовали.
Купил в ШинТоп, приехал с ними в сервис (Римэкс) на перебортовку и сход/развал.
В сервисе сказали, что нужно менять рулевые наконечники, купил (800 руб.).
За все услуги с меня взяли 2400 рублей. Дорого, ну да мир с ними :)

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

Привез в магазин ШинТоп, заменили на новую, поставили на мой же штампованный диск, накачали, отбалансировали. Молодцы ребята! Там же купил нормальный домкрат 560 рублей. Позже поставил колесо на место.

Итого: 8800+2400 = 11 200 руб

23 августа 2013

По совету мужа двоюродной сестры, у которого тоже 14-ка, поехал менять масло. Я же ламер еще в этом деле, не знал, что первое что нужно сделать поменять масло. Купил масло, которое заливалось до этого - Лукойл люкс полусинтетика 405 рублей + фильтр 300 рублей.
Заменил в сервисе "Колесо" на соликамской, взяли 300 рублей, как и везде.

Итого: 1000 руб.

27 августа 2013

Задумался :)
При покупке авто у него не было техосмотра. А страховые без ТО могут зажать выплату в случае чего - так пишут в наших интернетах :)
Купил огнетушитель и знак, все вместе обошлось в 400 рублей.
Записался по телефона на ТО, приехал, оплатил 370 рублей. ТО не прошел.
Оказалось:
1. Поворотники впереди должны быть оранжевые, у меня белые.
2. Глушитель. Не должно быть резонатора, они даже выхлоп проверить не могут, типа не налазит у них там что-то.
3. Полоса на переднем стекле сверху должна быть не больше 14см.
4. Передние габариты должны стоять, у меня же вместо них полосочки светодиодов.
Все это от предыдущих владельцев.
Расстроился :)
Спросил у нашего логиста на работе, где можно точно! пройти ТО, та узнала у одного из водил, что там-то там-то.
Приехал, заплатил 400 рублей, прошел :) Выдали хорошую диагностическую карту. Но проверили все же тормоза, стопари и фары.
А так бы пришлось выложить еще около 2-3 тысяч.
Позже я купил все же оранжевые лампы в поворотники и заодно поменял лампы ближнего/дальнего света (они у меня были одна желтая другая белая).

Итого ТО мне встало в: 1170 руб.

28 августа 2013

Уже пару дней езжу с каким-то нехорошим звуком из коробки, как будь-то там нет масла... звенит она что ли, и переключается как-то жестко, со стуком при переходе в крайние положения.
Задумался :)
Измерил уровень масла - ниже минимума.
Выругался :)
Поехал в сервис "Колесо", по пути купил сальник штока переключения передач и гофру к нему. 50 рублей + 150 рублей. Гофру, продавцы сказали, надо какую-то калиновскую, подошла.
Приехал в сервис, там рядом магазинчик, купил трансмиссионное масло Шелл 75W90 синтетика - 1700 с чем-то рублей.
За замену масла, сальника и гофры сервис взял 650 рублей. Нормально я считаю.
Коробка заработала как надо.

Итого: 2550 руб.

29 августа 2013

Уже третью неделю борюсь с исчезающим антифризом. Когда менял масло в двигателе, в сервисе сказали, что бежит через крышку датчика на бачке, заменил, пару дней ездил без потерь.
Когда менял масло в коробке, в сервисе заметили, что антифриз течет уже по радиатору.
Теперь буду проверять течет ли сам радиатор или это все же патрубки, которые к нему присоединяются. В случае, если это радиатор, нужно будет его менять 1500 рублей сам радиатор + около 1000 руб его замена.
Купил антифриз 2 литра - 200 рублей (итого уже куплено было 4 литра).
Купил лампочки в фары Philips H4 60/55W  +30% (2шт.) - 380 рублей.
Купил лампочки в поворотники оранжевые - 40 рублей.
Лампы поменял сам, все там элементарно.

Что же еще предстоит сделать:
1. Поставить сигнализацию, сейчас стоит какая-то "тупая" сигналка, которая работает только на открытие, а закрывается машина центральным замком через водительскую дверь.
Сигналка обойдется примерно в 8 тысяч.
2. Нужно поставить литье - 8 тысяч плюс замена, балансировка и сход/развал.
3. Возможно придется менять радиатор - 1500 рублей + 1000 рублей замена.
4. Нужно заменить ГРМ - 3600 оригинал с двумя роликами + 1000 рублей замена.
5. Тонировка задние + задние боковые стекла, вроде тыщи 2.



И так посчитаем во сколько же мне в итоге встал 3-х годовалый БУ ВАЗ 2114:
1. Шины - 8800 руб.
2. Рулевые наконечники - 800 руб.
3. Сервис, шины, замена наконечников, сход/развал - 2400 руб.
4. Масло в двигатель 4л. - 405 руб.
5. Масляный фильтр - 300 руб.
6. Сервис, замена масла в двигателе - 300 руб.
7. Покупка огнетушителя - 300 руб.
8. Покупка знака -  100 руб.
9. ТО, которое не прошел - 370 руб.
10. ТО, которое прошел :) - 400 руб.
11. Масло трансмиссионное 4л. - 1750 руб.
12. Сальник штока переключения передач с гофрой - 200 руб.
14. Сервис, замена масла, сальника, гофры - 650 руб.
15. Антифриз за все время 4л. - 420 руб.
16. Патрубок от бачка ОЖ на термостат с хомутами и герметиком - 240 руб.
17. Датчик ОЖ с крышкой - 150 руб.
18. Лампочки ближний/дальний и лампы в поворотник по 2шт. - 420 руб.
Итого: 18005 руб.

Что еще нужно:
1. Замена радиатора все вместе  - 2500 руб.
2. Замена сигнализации - 8000 руб.
3. Диагностика печки и ее ремонт - не представляю, а зима уже не за горами :)
4. Покупка и замена литых дисков максимум 10 000 руб.
5. ГРМ плюс его замена - 4600 руб.
6. Тонировка - 2000 руб.
И это пока то, что мне известно :)
Итого без печки: 27100

Итог:
1. Покупка авто 195 000 руб.
2. Потрачено: 18 000 руб.
3. Предстоит потратить: 27 100 руб.
4. Бензин за 1.5 месяца: 4 000 руб.
5. Стоянка за 1.5 месяца: 2000 руб.
6. Страховка ОСАГО для меня (нет 3-х лет стажа) - 7400 руб.

Получается, что машина встала мне в 253 500 руб.

Поневоле задумаешься, а стоило ли оно того?
С экономической точки зрения - конечно же НЕТ!
С точки зрения получения личного опыта - конечно же ДА!

Вывод:

Для первой машины, для того чтобы пройти все круги ада :) нужно покупать БУ автомобиль 2-3 года ездивший, при этом нужно выбирать его с опытным автолюбителем.
Если уже есть опыт или просто не хочется его получать, то однозначно новый автомобиль выгоднее. Новый автомобиль сэкономит время и нервы, а так же деньги.
Например, если перевести все время, которое я потратил на покупку, содержание и ремонт автомобиля на деньги, которые я мог бы в этом время заработать, то получается примерно еще  около 20 тысяч рублей. А уж нервы и того дороже :)
Зато я приобрел опыт и ничуть об этом не жалею, пока :)


Итого потрачено на текущий момент: 18000 руб.


Добавлено 06 сентября 2013

Сегодня приехал в сервис, чтобы исправить ситуацию с неработающей печкой.
Холодный воздух идет, чтобы я не делал - на горячем двигателе 90-110 градусов, переключатель что на холод, что на тепло однофигственно :)
Краник смотрел открывается, но патрубки в салоне, что идут на и от радиатора отопителя холодные.
Газовал на горке с открытой крышкой бачка ОЖ, долго газовал - не помогает.
Сдался, поехал в сервис.
В сервисе прогрели машину, потрогали патрубки, которые идут от термостата на краник. Патрубок, который подает ОЖ на кран и соответственно на радиатор отопителя у термостата горячий, а дальше уже через 7-10 см холодный.
Появилось подозрение на забившийся патрубок. Слили антифриз, открутили этот "полу-холодный" патрубок и обнаружили пробку из герметика, который по всей видимости добавляют в антифриз, чтобы заделывались микротрещины радиаторов.
Пробка такая, что пальцем не продавить.
Прочистили его. Проверили воздухом не забился ли радиатор отопителя - все отлично, воздух идет.
Собрали, залили антифриз, прогрели и о чудо!!! Из печки пошел отличный горячий воздух!
Радости полные штаны.
Цена вопроса - 900р. Время устранения неисправности часа 2.

Итого: 900 руб.

Добавлено 07 сентября 2013

Сегодня приехал в сервис, чтобы заменить ремень ГРМ и ремень генератора (пробег 93 тысячи).
Двигатель у меня 21126, приоровский, поэтому заранее был приобретен комплект ролики+ремень фирмы Dayco:






И ремень генератора, восьмерочный:











А вот и состояние старого ремня генератора снятого в процессе замены:












ГРМ + ролики обошелся в 2425 рублей.
Ремень генератора 382 рубля.
Замена обоих ремней в сервисе плюс еще кое-какие мелкие "неисправности" - 1500 руб
.

Итого в очередной раз потрачено: 4307 руб.

Добавлено 12 сентября 2013

И снова доделка/переделка - снял прямоток и поставил обычный девяточный глушитель.
950 руб сам глушитель, 250 руб его замена и подгонка в сервисе. Еще тут же за 150 рублей мне немного подстучали барабан сзади справа, а то он дзинькал
Сейчас хочу старый прямоток продать рублей за 800.

Итого: 1350 руб.


Добавлено 4 октября 2013

Заметил, что на холостых на прогретом моторе двигатель стал работать как-то нестабильно. Обороты держит в норме 840-880, по данным проги OpenDialog, остальные показатели в норме. Но руль подергивается время от времени, как-будто ему чего-то не хватает для стабильной работы.
Приехал в сервис, думал ГРМ не так поставили или подушки двигателя мудят, меня убедили, что с ним все в порядке, решили проверить свечи. И оказалось, после проверки на приборе, что одна вообще не дает искру, другие на массу пробивают. Заменили свечи, пришлось выложить за работу 300 р, хотя и сам мог бы их заменить.
Ну и плюс сами свечи, самые дешевые NGK - 400р.
Теперь двигатель работает более стабильно, явная дрожь, оттающаяся раньше в руль пропала, но ощущение, что все-равно что-то не в порядке осталось.

Итого: 700 руб.



Добавлено 7 октября 2013

Скоро зима, понадобилась зимняя резина, после прочтения кучи статей и отзывов о той или иной зимней шипованной резине, пришел к решению брать Goodyear Ultragrip Ice Arctic 175/65 R14 82T. (фото не моё) Поискал в интернете где подешевле можно ее купить:
Римэкс: 3099 рублей.
Шинтоп: нет у них такого производителя.
Колесо:  2910 рублей.
Колеса даром: 2760 рублей.

Выбор стал очевиден, заказал, в "колесах даром" пришли через 3 дня итого 11040 рублей за 4 штуки. Произведены в 2012 году, в разные недели, то есть из разных партий все кроме двух, думаю их на перед поставить, хотя знающие люди сказали, что разница в недели и то, что разные партии, это абсолютно никакого значения не имеет. еще недельку подожду и поставлю, начну обкатку. Пишут что 500-700 км нужно обкатывать, избегать резких стартов и торможений, придерживаться ровных дорог и не разгоняться больше 60км/ч. Так и сделаю :)

Итого: 11040 руб. + 1000 руб переобувка. = 12040 руб.


Добавлено 18 октября 2013

Достало дерганье машины во время торможения, оно проявлялось для торможения при все меньшей и меньшей скорости. Грешил на тормозные диски на передних колесах. Мучился примерно недели 3 с этим, сначала дрожание, которое било немного в руль и чувствовалось на сиденье и вроде еще на педали тормоза, проявлялось при торможении с 80 до 40, потом уже с 60 до 30-40, потом уже даже когда при 40км/ч тормозишь проявлялось. Начитался форумов, заехал в сервис, пришел к выводу, что все же это барабаны.


Купил комплект на задние тормоза (фотку где-то стырил в инете):
1. Чугунные барабаны
2. Колодки
3. Планки
4. Пружинки
5. Колесные цилиндры
6. Тросики для стояночного тормоза.

Все обошлось в 2700 с чем-то, чек уже выкинул.







Пришел сегодня на стоянку, обратился в сервис тут же у нас на стоянке, поменяли все за час-полтора, по деньгам вышло 1500р.
Результат - машинка теперь тормозит ровно, без дерганий каких-либо, сама педаль по-моему даже стала мягче. Рычаг стояночного тормоза просто сказочно! стал подниматься, плавно мягко, не то что раньше. Правда срабатывает с 5-го щелчка, колодки вот притрутся и опять загоню в сервис - подтянем его. Зато теперь зимой не страшно промерзание тросиков, у тех что стояли оплетка была повреждена, мягко говоря :).

А да, еще выяснили причину почему у меня заднее правое колесо шаркало :) Оказывается болты стояли от литья, более длинные. Они задевали конец тросика, на нем даже следы свежие видно было. Заехал купил короткие, закрутил, вроде норм! 8 штук - 240р.

Итого:  примерно 4500 руб.

Дабы более не увеличивать длину этой записи в блоге, создал новую запись, где будут описываться все дальнейшие работы и расходы на свой ВАЗ 2114.
п.с. Задумался о покупке новой иномарки :)

вторник, 26 марта 2013 г.

NetBeans IDE 7.0 Keyboard Shortcuts & Code Templates

Довольно-таки давно обновился NetBeans до версии 7.x
Выкладываю список горячих клавиш и шаблонов кода, в двух картинка. Взято отсюда.



Microsoft Office автоподбор высоты объединенных ячеек.

Описанная в заголовке проблема, касается только офиса от майкрософт.
Open office таким не страдает (по правде у меня Libre Office, но это почти одно и тоже).

Часто, при работе моей системы пользователям требуется выгружать счета для клиентов. Они в формате xls, а для того, чтобы печатная форма была "красивой", приходится в Jasper Report делать так, что ячейки с наименованием в файле счета excel состоят из нескольких объединенных ячеек. Высоту в Jasper'e никак подтянуть не выходит, она меняется, но не совсем так как хотелось бы.
Выравнивание по высоте стандартным двойным кликом по границе верха или низа края с нумерацией строки при этом не работает. Это наоборот приводит к схлапыванию высоты строки к стандартной.

Решение проблемы нашлось здесь, пост №16.
Качаем архив, распаковываем куда-нибудь. Дублирую сам файл на всякий случай

Далее:

если у вас 2003 офис: Открыть Excel, в меню "Сервис", выбрать пункт Надстройки, нажать кнопку обзор, указать путь к файлу. Закрыть Excel. После правильной установки надстройки на панели инструментов, должна появиться кнопка "Автоподбор высоты строк".

если у вас 2010 офис: подробнее опишу чуть попозже(возможно никогда :) думаю разберетесь и так), так как под рукой его сейчас нет, но суть в том, что нужно зайти в меню "файл", "параметры", потом в меню "надстройки" и добавить эту надстройку из файла в эксель через выпадающий список внизу справа. После этого надстройка "Автоподбор высоты строк" появится как отдельная кнопка в отдельном меню Надстройки на панели инструментов.

Выяснил, что для добавления этой надстройки в 2010 офис (а возможно и в 2007) достаточно просто запустить файл в архиве и он автоматом добавится в excel, только нужно будет после открытия нажать "Включить макросы".

Кому не сложно, можете поблагодарить автора макроса любым денежным вознаграждением:

данные кошелька взяты из макроса.

Author: nerv            | E-mail: nerv-net@yandex.ru
Last Update: 27/07/2011 | Яндекс.Деньги: 41001156540584


А можно и на мой, хотя и не за что :)
Яндекс.Деньги: 4100169506637

четверг, 14 февраля 2013 г.

Vaadin, доступ к недрам JavaScript. (перевод)

Заинтересовала тема JavaScript в Vaadin, а тут как раз Michael Vogt из команды Vaadin опубликовал небольшую статью в блоге Vaadin.
Представляю вам перевод статьи на русский, прошу поправить в комментариях, если где-то что-то не так переведено, так как опыта с переводами подобных статей пока мало.






Одним из наибольших плюсов Vaadin в том, что он определяет front-end часть на очень высоком уровне и заботиться о мелких деталях за вас. Но иногда требования к вашему приложению такие, что кое-что не может быть реализовано стандартными методами. Именно тогда вы может создать свои собственные виджеты.

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

JSNI JavaScript Native Interface спасет ваш день. Он позволит вам сделать все вышеперечисленное. Замечательно, не так ли?

Есть и загвоздки, конечно. Пожалуйста, обратите внимание, используйте это осторожно. При использовании этих методов вся ответственность лежит на вас. Придется заботиться, например, о различиях браузеров, о том, нет ли утечек памяти, о безопасности.
Для Java, тело функции JavaScript абсолютно непрозрачно, как и любой объект JavaScript.
Это значит, что для отладки JavaScript, придется использовать JavaScript отладчик, так как встроеный в Eclipse дебагер его не видит. В остальном JSNI работает очень прозрачно.

Давайте посмотрим как это работает:
- Добавьте ключевое слово native в описание функции.
- Тело функции оберните специальной комбинацией /*-{}-*/;
- Напишите ваш JavaScript между фигурными скобками.

Вот и все  JSNI функция выглядит например вот так:
private native void jsniFunction()
/*-{
           
}-*/;

или

public static native String jsniFunction( int value)
/*-{
    return "Parameter value: " + value;
}-*/;

или любой другой код.

Вас может удивить знак комментариев в начале строки, но ничего страшного, так надо, Eclipse все правильно отформатирует, проще говоря, поймет.

Теперь давайте рассмотрим решение тех 4-х ситуаций, которые были описаны выше, в начале:

- Вам необходим прямой доступ к JavaScript из клиентской части приложения.

Во-первых загрузите ваш JavaScript на главной странице. Это очень легко сделать с помощью аннотации @JavaScript({ "external.js" }) в вашем классе интерфейса. Подробное описание этого процесса здесь.
external.js может содержать что-то вроде этого:

function callme(String name) {
    alert("Hello " + name);
}

тогда вы можете получить к этому доступ так:

private native void jsniFunction() /*-{
           $wnd.callme("Vaadin");
}-*/;


- Вам необходим доступ к клиентской части из JavaScript.

Сначала нужно создать функцию, которая вызовет свой код на стороне клиента. Это требует специального синтаксиса, который выглядит так:

[instance-expr.]@class-name::method-name(param-signature)(arguments)

где:
instance-expr.: должен присутствовать при вызове экземпляра метода и отсутствовать при вызове статического метода.

class-name: это полное имя класса или его подкласса в котором объявлен метод.

param-signature : это внутренний Java метод, подписанный как определнный в JNI Type Signatures, но без указания возвращаемого методом типа, так как перегрузка метода не требуется.

arguments: список аргументов для передачи вызываемому методу.


Например:
Чтобы получить доступ к JavaScript функции, зарегистрируйте ее во время запуска вашего приложения, например как глобальный объект Window у JavaScript:

private native void registerJsniFunction() /*-{
           $wnd.jsnifunction = this.@com.example.Example::callIntoJava;
}-*/;

Примечание: код на стороне клиента запущен внутри фрейма, вы можете использовать  $wnd и $doc для обращения к нужным Window или Document элементам.

- Вам необходим доступ к некоторым функциям или полям которые объявлены как приватные в виджетах по-умолчанию.

Это может быть одна из самых недооцененных функций использования JNDI. Так как весь front-end код компилируется в JavaScript и все функции и переменные доступны глобально. Это означает, что когда ограничения доступа к Java не позволяет вам получить доступ к функции или полю, то можно легко получить его через JSNI.
Вот пример из DataGrid где мне нужен был доступ к ScrollPanel внутри него.

private native ScrollPanel getTableDataScroller()
    /*-{
       return this.@com.google.gwt.user.cellview.client.CustomDataGrid::tableDataScroller;
    }-*/;

Теперь вы можете получить доступ к нему, если он будет доступен в Java.

public HandlerRegistration addScrollHandler(ScrollHandler handler) {
           return getTableDataScroller().addScrollHandler(handler);
    }


- Код на стороне клиента компилируется слишком медленно.

Даже тогда, когда компилятор с большим усердием создал лучший на его взгляд JavaScript, ваш профайлер может сказать обратное. В этом случае вы можете представить собственную реализацию. Но, пожалуйста, в этом случае, не забывайте постить в баг-трекинг GWT.
Остались некоторые особенности, которые я не включил в примеры, для того, чтобы не усложнять их. Пожалуйста, посмотрите их в документации GWT.
В дополнение к этому посмотрите JavaScript Overlay Types, которые предоставят вам легкий доступ к JavaScript объектам, таким как JSON, например.

Я надеюсь, что мог бы показать вам больше, для понимания того, насколько мощным является JSNI. Но как говорится, с большой силой приходит и большая ответственность. Будьте, пожалуйста, осторожней ;-)

Вот и все сообщение о работе с GWT на низком-уровне. В следующий раз я расскажу как вы можете добавить WAI-ARIA  поддержку вашим виджетам.

среда, 13 февраля 2013 г.

RuntimeException и Exception, Java

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

Если заглянуть в Javadoc, что я при необходимости делаю, то видно, откуда растут ноги.
Если перейти выше по иерархии классов, к классу Exception, то становится понятно, что Exception для RuntimeException как и для других подобных классов является суперклассом.
Я не ответил и мне "сообщили", что RuntimeException используется для определения деления на ноль...  и всё, ни намека на что-то другое.
Но что это? В Javadoc указаны его субклассы, которые....

Вот список и описание подклассов RuntimeException:


ArithmeticalException extends RuntimeException
  Возникла исключительная ситуация, связанная с ошибкой при выполнении арифметического вычисления (например, с попыткой целочисленного деления на нуль).


IndexOutOfBoundsException extends RuntimeException
  Задано значение индекса массива или содержимого строки типа String, не принадлежащее допустимому диапазону.


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


StringIndexOutOfBoundsException extends IndexOutOfBoundsException
  Задано значение индекса содержимого строки типа String, не принадлежащее допустимому диапазону. Имеется дополнительный конструктор, принимающий в качестве параметра ошибочное значение индекса и включающий его в текст описательного сообщения.


ArrayStoreException extends RuntimeException
  Предпринята попытка сохранения в массиве объекта недопустимого типа.

ClassCastException extends RuntimeException
  Выполнена неверная операция преобразования типов.

ConcurrentModificationException extends RuntimeException
  Осуществлена попытка изменения объекта конкурирующим потоком вычислений (thread) с нарушением контракта класса (тип определен в пакете jav.util).

EmptyStackException extends RuntimeException
  Выполнена операция выталкивания (pop) значения из пустого стека. тип обладает только конструктором без параметров, поскольку причина ситуации очевидна без дополнительных разъяснений (тип определен в пакете java.util).

IllegalArgumentException extends RuntimeException
  Методу передано неверное значение аргумента (например, оприцательное, когда метод предполагает задание положительных значений).


IllegalThreadStateException extends IllegalArgumentException
  Предпринята попытка выполнения операции в то время, когда объект потока вычислений не находится в соответствующем состоянии (например, вызван метод start для потока, который уже приступил к работе).


NumberFormatException extends IllegalArgumentException
  Строка, которая, как предполагалось должна содержать представление числа, не отвечает этому требованию. Исключение выбрасывается такими методами, как, например, Integer.parseInt.



IllegalMonitorStateException extends RuntimeException
  Выполнено обращение к методу wait, notifyAll или notify объекта, когда текущий поток вычислений не обладает блокировкой (lock) этого объекта.

IllegalStateException extends RuntimeException
  Предпринята попытка выполнения операции в то время, когда объект не находится в соответствующем состоянии (например при регистрации или удалении ловушки события закрытия исполняющей системы (shutdown hook) после начала процедуры закрытия).

MissingResourceException extends RuntimeException
  Не найден требуемый ресурс или пакет ресурсов (resource bundle). Единственный конструктор типа предусматривает задание трех аргументов: строки описательного сообщения, наименования клсса ресурсов и объекта ключа, отвечающего отсутствующему ресурсу. Для получения строк наименования класса и ключа применяются методы detClassName и getKey соответственно (тип определен в пакете java.util).

NegativeArraySizeException extends RuntimeException
  Предпринята попытка создания массива с размером, значение которого задано в виду отрицательного числа.

NoSuchElementException extends RuntimeException
  Операция поиска элемента в объекте одного из контейнерных классов завершилась неудачей (тип определен в пакете java.util).

NullPointerException extends RuntimeException
  Для доступа к полю или методу была применена ссылка, равная null. Исключение выбрасывается и той ситуации, когда метод, не допускающий передачи аргумента null, был вызван с заданием значения null. В последнем случае может быть сгенериговано и исключение типа IllegalArgumentException.

SecurityException extends RuntimeException
  Предпринята попытка выполнения операции, запрещенной системой обеспечения безопасности в соответствии с действующей политикой безопасности.

UndeclaredThrowableException extends RuntimeException
  Выбрасывается при обращении к методу целевого объекта посредством объекта рефлективного класса Proxy, если метод invoke объекта InvocationHandler генерирует объявляемое исключение, которое не допускает присваивания ниодному из типов исключений, упомянутых в предложении throws метода целевого объекта. Рассматриваемое исключение содержит ссылку на исключение, генерируемое методом invoke, которое может быть получено с помощью метода getUndeclaredThrowable. Класс исключений UndeclaredThrowableException поддерживает два конструктора: оба принимают в качестве параметров ссылку на объект Throwable, а один из них, помимо того, строку описания (тип определен в пакете java.lang.reflect).

UnsupportedOperationException extends RuntimeException
  Предпринята попытка выполения операции над объектом, который ее не поддерживает (например, модификация объекта, обозначенного признаком "только для чтения"). используется также классами коллекций из состава пакета java.util как реакция на вызов методов производного класса, реализация которых не обязательна.

Переводить с офф сайта не стал, переводы взял отсюда. Теперь я, да и вы, в курсе, что прежде чем идти на собеседование, неплохо было бы повторить основы Java. Что именно? Примерные вопросы на собеседовании есть по всему интернету, ищите.
Не смотря на то, что вы сможете выполнить тестовое задание, знание теоретических основ могут оказать существенное влияние на решение о вашем трудоустройстве :) Ведь предполагается, что не зная основ, человек не способен выполнять рабочие обязанности. Здесь есть доля правды, причем бОльшая доля.
По возможности попросите работодателя дать примерный план собеседования и какие специалисты будут участвовать в нем. Потому как, не уточнив это и ожидая собеседования с одним человеком, вы можете столкнутся с 4-5-ю специалистами.
К этому надо быть готовым, удачи! :)

вторник, 12 февраля 2013 г.

Группа Vaadin в Вконтакте.

Создал на днях группу в ВК о Vaadin, постараюсь почаще в нее кидать ссылки на различные ресурсы о сабже. В ней же можно задать вопросы, создать обсуждение, ну и просто высказаться по теме.
Присоединяйтесь, ЗДЕСЬ вам рады!!! )))

понедельник, 11 февраля 2013 г.

Отличия Vaadin 7 от Vaadin 6.

Решил сюда складывать, те или иные вещи, которые изменились с приходом 7-й версии Vaadin.
Практически всё что будет здесь, так или иначе было взято из гугла и/или форума Vaadin.


1. Наследование классов от UI, а не от Application.
com.vaadin.Application  -> com.vaadin.ui.UI
В 6-й было:
public class Login extends Application {.....}
В 7-й стало:
public class Login extends UI {.....}

2. Заголовок страницы. То есть то, что отображается в названии, допустим, вкладки Chrome.
В 6-й было:
Window mainWindow = new Window("Авторизация");
setMainWindow(mainWindow);
В 7-й стало:
Page.getCurrent().setTitle("Авторизация");


3. Компонент Window теперь не может использоваться в качестве главного окна
В 7-й версии не обнаружил у Window и у Panel метода addComponent(), говорят и у некоторых других его нет. Чтобы добавить в окно компоненты, нужно сначала их положить в лайаут, например в VerticalLayout, а затем через    .setContent(layout) включить этот слой с компонентами в окно.
например:
   Window mainLoginWindow = new Window();
   VerticalLayout mainVL = new VerticalLayout();
mainVL.addComponent(loginNS);
mainVL.addComponent(passwordField);
mainVL.addComponent(enterButton);
   mainLoginWindow.setContent(mainVL);


4. Компонент Button, изменился листенер.
Старый листенер стал деприкейтид, вместо него, теперь нужно указывать более конкретный листенер  :)
В 6-й было:
enterButton.addListener(new Button.ClickListener() {
            public void buttonClick(ClickEvent event) {
 ............................
            }
        });
В 7-й стало:
enterButton.addClickListener(new Button.ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
 ............................
            }
        });
Наверняка у других компонентов произошли подобные изменения слушателей, поэтому больше про изменения в них писать не стану.

пятница, 8 февраля 2013 г.

Vaadin 7.0.0, Netbeans. Как быстро создать проект.

Заранее прошу прощения за слишком подробное описание, но так можно избежать многих лишних вопросов от тех, кто никогда не работал в Netbeans и/или c Vaadin.

С выходом стабильной 7-й версии веб-фреймворка Vaadin, захотелось создать тестовый проект, а так же позже перетащить основной с 6-ки на 7-ку.
Здесь я не стану описывать как создать проект с помощью, скажем так, архитектурного файла maven, потому как, практически им не пользуюсь за ненадобностью (когда понадобится - разберусь подробно :) ), все это есть на сайте Vaadin'а.
Создаем простой проект с локальными библиотеками vaadin. Такой, чтобы можно было запустить и отобразить надпись "Hello Vaadin!" с помощью компонентов фреймворка.

И так поехали, что нам нужно (будем брать последние на текущий момент версии):
- Netbeans 7.2
- Пакет с jar-файлами, качаем отсюда.

Погнали:
Создаем новый проект в Netbeans:
- File - New Project - Java Web - Web Application.
- Пишем имя проекта в поле Project Name, назовем его "Vaadin7". При желании, выберем расположение папки проекта.
- Next
- Выбираем в выпадающем меню наш сервер приложений. У меня это Apache Tomcat. Выбор сервера приложений это отдельная тема. Выбираем версию Java EE, как правило работаем с 6-й.
- Поле Context Path я очистил, это путь, который будет отображаться в браузере, сразу после локального адреса, например наш Context Path = /gtm это значит, что в браузере при запуске будет написано что-то вроде этого http://localhost:8080/gtm. Я же хочу, чтобы проект грузился просто при заходе по http://localhost:8080/. Этот параметр можно настроить позже в файле context.xml или в свойствах проекта.
- Next
- На следующей странице нам предлагают выбрать фреймворки, пропускаем это окно и жмем Finish.

Проект создан, но главная страница у него это *.jsp, нам это не нужно, мы хотим Vaadin :)
По умолчанию структура такая:










- Удаляем файл index.jsp

Создаем файл web.xml в каталоге WEB-INF.
- Жмем правой кнопкой по этой папке
- New - Other - XML - XML Document.
- Называем его web, но сам файлик, как вы увидите в поле ниже, будет в расширением xml.
- Выбираем в следующем окне тип нашего XML - Well-formed Document (по умолчанию) и жмем Finish.

Удаляем все что в нем понаписано и вставляем следующий текст:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
    id="WebApp_ID" version="2.4"
                   xmlns="http://java.sun.com/xml/ns/j2ee"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
    <servlet>
        <servlet-name>Login</servlet-name>
       <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
        <init-param>
            <description>Vaadin application class to start</description>
            <param-name>UI</param-name>
            <param-value>nix.common.LoginForm</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>Login</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
 
</web-app>


- Сохраняем.


Теперь создадим в папке Source Packages новые папки/пакеты.
- Правой кнопкой по папке
- New - Other - Other - Folder. Либо New - Java - Java Package.
(По факту не важно что вы добавите папку или пакет, для Java оно не важно, физически пакеты это папки.)
- Назовем первую папку nix.
- Таким же макаром в папке nix, создадим папку common.
- В папке common создадим java-файл с именем LoginForm.java. Создается точно так же как и папки/пакеты, но выбираем New - Other - Java - Java Class. (Все добавленные ранее типы объектов остаются в списке быстрого добавления, думаю вы уже заметили).
Пока файл трогать не будем, давайте добавим в проект скачанные ранее библиотеки Vaadin 7.

Распакуем скачанный архив, вот его структура:























Нам понадобятся 8 файлов, 7 из корневой папки:
- vaadin-client-7.0.0.jar
- vaadin-client-compiled-7.0.0.jar
- vaadin-client-compiler-7.0.0.jar
- vaadin-server-7.0.0.jar
- vaadin-shared-7.0.0.jar
- vaadin-theme-compiler-7.0.0.jar
- vaadin-themes-7.0.0.jar

и один из папки libs:
- jsoup-1.6.3.jar

Соберем их все в одну папку и сохраним куда-нибудь отдельно, туда, где мы будем хранить библиотеки.
Щелкаем правой кнопкой по папке Libraries и может:
- Add JAR/Folder  (сразу добавляем все наши файлы к проекту, для примера я так и сделал).
- Add Library (Если вы через меню Netbeans'a, Tools - Ant Libraries, добавили и как-нибудь назвали свою библиотеку).
В итоге получили такую вот структуру проекта:






















Вернемся к нашему java классу LoginForm.java, дополним его кодом, получим следующее содержание:


package nix.common;

import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;

public class LoginForm extends UI {

    @Override
    protected void init(VaadinRequest request) {
        VerticalLayout view = new VerticalLayout();
        view.addComponent(new Label("Hello Vaadin!"));
        setContent(view);
    }
}

Вот и все.
Теперь, если вы все сделали верно, то при запуске откроется ваш браузер по-умолчанию и в нем будет надпись "Hello Vaadin!" на сером фоне.



Основные, отличия 7-го Vaadin'а от 6-го в плане настроек это то, что теперь вместо пакета
com.vaadin.Application
используется
com.vaadin.ui.UI
Что и было использовано в java-классе.

Кроме того, пришлось изменить и web.xml.
Раньше было: <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
Теперь: <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
и
Раньше было:
                       <init-param>
            <param-name>application</param-name>
            <param-value>nix.common.LoginForm</param-value>
                      </init-param>
Теперь:
                      <init-param>

            <param-name>UI</param-name>
            <param-value>nix.common.LoginForm</param-value>
                     </init-param>

Кроме того, теперь не нужно качать отдельно пакеты GWT и компилить их для проекта, они уже включены в библиотеки в том виде, в котором нужно.
Есть вопросы - пишите их в комментариях, а я пока пошел добавлять другой функционал в тестовый проект :)

среда, 16 января 2013 г.

Update в PostghreSQL, перенос данных из одной таблицы в другую

Глупейшая ситуация возникла, однако.
Потратил не менее 30 минут на написание вот такого простого запроса.

UPDATE invoices SET contractorname = c.name from contractors c where invoices.contractorid = c.id

Дело в том, что мне потребовалось перенести ИМЯ Клиента из таблицы Клиентов в поле находящееся в таблице Счетов.
В таблице Счетов id клиента уже был.
Чтобы такого не повторилось, и я в случае чего быстренько вспомнил, распишу все подробно, так как с SQL сталкиваюсь редко и стараюсь писать запросы как можно более простые и понятные.

UPDATE invoices
-- будем апдейтить эту таблицу Счетов 'invoices'.
SET contractorname = c.name from contractors c
-- будем апдейтить поле 'contractorname' с именем клиента в таблице Счетов
-- = апдейтить его будем данными из поля 'с.name' в таблице Клиенты 'contractors '
WHERE invoices.contractorid = c.id
-- ну и условие, по которому у нас будут сравниваться поля в одной и в другой таблице.

Сначала я по какой-то непонятной мне старой привычке хотел написать следующее:
UPDATE invoices, contractors  SET invoices.contractorname = contractors.name WHERE invoices.contractorid = contractors.id
Но это не прокатывает в PostgreSQL.

В общем гуггл руллит :)