19 января 2009

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

Создание и использование объектов

Итак, в отличии от языков, где реализована класс-объектная парадигма, нам не нужно создавать сначала класс, чтобы потом создать объект класса. Мы можем сразу создать объект, что и сделаем в следующем примере:

    test={
     simple_property: 'Hello',
     object_property: {
      user_1: 'Петя',
      user_2: 'Вася'
     },
     function_property: function(user) {
      alert(this.simple_property + ', ' + this.object_property[user]);
     }
    }

    test.function_property('user_1'); //Hello, Петя.

Перед нами объект test, имеющий 3 свойства, названия которых, как я надеюсь, говорят сами за себя. Больше всего нас в нем интересует свойство function_property, содержащее функцию. Такую функцию можно назвать методом объекта.
Читать полностью »

Комментариев нет
18 января 2009

Проснулся я, вчера, как обычно на выходных, достаточно поздно. Сразу вылез в интернет – смотреть кто что написал. одним из постов, привлекших мое внимание, оказался тест на латентный гомосексуализм. Он мне понравлся настолько, что я его честно спиздил. Мой спизженный вариант быстро скопировали к себе многие дайри-жители. И никто из них (по крайне мере сколько я смотрел по ссылкам) не нашел запрятанную шестерку в пятом круге. А она там была! Даже если в оригинале на самом деле не было ничего, то в моем варианте я добавил еле-еле заметную шестерку. Можете сравнить:

Меня поражает почему блоггеры умудряются так захватить внимание публики? Мне для такого еще учиться и учиться. Если я, в своем почти неизвестном дневничке с легкостью получил кучу ссылок, то фриц с той-же лкгкостью вышел на главную яндекса. Я ни за что не поверю, что это просто удача. Наверняка есть какие-то фокусы, что позволяют завладеть вниманием масс.

Подобный простенький тестик быстро разлетелся по всем интернетам, захватитв влияние россиян от Владивостока до Калининграда. Яндекс держит оригинал поста на первом месте в популярных запросах.

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

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

Кто знает, кто знает. Я бы хотел научиться так виртуозно владеть словом, картинкой и видеороликом, дабы увлекать читателя за собой и вести вслед за своей мыслью. Мне кажется это умение может быть очень полезным в жизни.

Комментариев нет
18 января 2009

За новогодние праздники я получил аж два письма с некорректной информацией от PeterHost.ru. Это был первый случай за несколько лет пользования этим хостингом. Похоже что-то прогнило в Датском Королевстве – они перестали проверять письма перед рассылкой. Или что еще стряслось. В общем PeterHost.ru уже не тот, что раньше.

Я помню, что раньше косяки тоже были. Но сейчас их что-то стало сильно больше. После нижеприведённых писем я лишь удостоверился, что уход с этого хостинга был правильным решением. С другой стороны я не могу сказать что сейчас у нас хостинг стал лучше, нежели был – везде все одинаково плохо. Но почему-то никто не предпринимает усилий, дабы сделать лучше.
Читать полностью »

11 комментариев
14 января 2009

Недавно на хабрахабре проскочила замечательная статья по той теме на которую я сам хотел написать. Статья на мой взгляд хороша настолько что лучше я врятли сделаю. А посему хочу продолжить эпопею JavaScript в моем блоге тупым копипастом этой статейки :)

Объекты в JavaScript

Во многих статьях встречается фраза «В JavaScript — всё объект». Технически это не совсем верно, однако производит должное впечатление на новичков :)

Действительно, многое в языке является объектом, и даже то, что объектом не является, может обладать некоторыми его возможностями.

Важно понимать, что слово «объект» употребляется здесь не в смысле «объект некоторого класса». Объект в JavaScript — это в первую очередь просто коллекция свойств (если кому проще, может называть это ассоциативным массивом, списком или хэшем), состоящая из пар ключ-значение. Причем ключом может быть только строка (даже у элементов массива), а вот значением — любой тип данных из перечисленных ниже.

Читать полностью »

Комментариев нет
14 января 2009

Это хорошая книга. Серьёзно. Одна из тех книг, в которых прослеживается некая мораль. Мало того, что это на самом деле роман, несмотря на то, что она позиционируется как бизнес-книга, так это еще и самая настоящая сказка :) Сказка о человеке, которого похитили злобные коммунисты и сделали ему предложение, от которого он просто не смог отказаться – достаточно распространённый сюжет, не правда ли?

Естественно главный герой преододел все трудности. Ему мешали враги и помогали друзья. Он мог пользоваться своим опытом и привлекать сторонников на свою сторону. Все как в жизни. При этом ему удалось разрушить замыслы своих врагов, победить зло и купить себе страну (да-да, эту книгу определенно писали капиталисты)

Несмотря на то, что повествование достаточно лёгкое – я думаю книгу можно осилить уже лет в 12 – там запрятано немало прописных истин. Причём эти истины запрятаны там достаточно в ненавязчивой форме – тот кто не знал о них просто тихо намотает их себе на ус, не заметив.

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

Комментариев нет
6 января 2009

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

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

Вторая проблема – не умеют генераторы парсить JavaScript код. Я уже почти выбрал Doxygen, но пока я его не научу своей уличной JavaScript магии, я его банально не смогу использовать. Из альтернатив был найден такой зверек, как JsDocToolkit. Но и он заработал только почти. Хотя это уже показатель – я его еще никак не настраивал и комментариев в коде хороших мало.

Третья проблема – в серверной части не используется ООП практически никак. Но в любом случае уже давно висят планы по рефакторингу серверной части с использованием ООП. Возможно даже на питоне. Так что со временем эта проблема отпадет так-же. Тем паче что модульная структура там есть и сейчас. Проблем в рефакторинге возникнуть не должно.

Резюмируя. Покрутившись по различным их представителям, я остановился на Doxygen. Если верить обещаниям, его можно настроить для работы с языками, что он не поддерживает. Плюс сам по себе он выглядит мощнее других разработок, что порождает надежду на его гибкость.

К сожалению мощность и гибкость означают только одно – наверняка Doxygen очень сложен для освоения. А мне ещё объяснять зачем это все надо и почему нельзя это делать более простым способом. Попытавшись отыскать какой-нибудь русифицированный сайт про Doxygen, я не смог отыскать ничего подобного. Возможно кто-нибудь сможет мне подсказать что-нибудь адекватное? Или мне надо будет переводить английскую документацию, дабы внедрять и использовать сие решение?

По результатам внедрения обязательно отчитаюсь :)

Один комментарий
5 января 2009

Говорят, что успшен тот бизнес, во главе которого стоит человек, увлекающийся своим делом. Если во главе компании, занимающейся железнодожными перевозками стот человек, у которого каждый раз сердце начинает стучать быстрее, когда он смотрит на проходящие мимо поезда. Если у него в глазах виден восторг, если он смотрит на первый поезд, идущий по новой линии. Такой компании не страшны никакие проблемы – она будет существовать.

В то-же время если человек, стоящий во главе компании занимается делом своей компании без огонька в глазах. Занимается бизнесом только ради денег. Такой бизнес быстро пойдет ко дну – он не интересен владельцу. А зачастую такие бизнесы серы и невзрачны – они неинтересны и клиентам, покупателям услуг и товаров.

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

Я думаю в этом году стоит начать заниматься тем, к чему мне хотелось бы прийти в итоге. Иначе это может оказаться еще одним просранным годом. А их и так было в моей жизни уже много – еще никогда я не успевал сделать все, что планировал. Думаю и этот год не будет исключенимем. Хочу лишь надеяться что наиболее приоритетные дела не утонут в потоке рутины :)

Один комментарий
3 января 2009

Начав вкратце с небольшого сравнения хэшей и массивов, хочется продолжить более детальным их описанием. Здесь я хочу написать о массивах и методах, которыми можно с ними работать. О хэшах я тоже напишу и опять буду пытаться противопоставлять их массивам.
Читать полностью »

2 комментария
1 января 2009

Scrum и XP: заметки с передовой
Вот и начался новый год. Сразу всплывают планы. Дела сортируются по важности их выполнения. Выстраиваются приоритеты. Одним из таких приоритетных дел для меня уже стала гибкая методология разработки. В прошлом году я успел засесть за изучение оной. В этом году я хочу попробовать внедрить её.

Как я пришёл к этому решению? Проснувшись первого января, я выпил кофе, съел завтрак и понял что мне просто невыносимы эти праздники – мне очень хочется заняться чем-нибудь полезным. Полазив по интернету и почитав разные полезные статейки, я добрался до своих прошлогодних закладок. Одна из этих закладок – книга «Scrum и XP: заметки с передовой» в pdf. Спасибо авторам можно сказать в этом блоге.

Я надеюсь прочитать книгу за новогодние праздники и новый рабочий год начать с внедрения этой методологии. А может и другой – у меня на столе лежит книжка по UP. Очень хочется посмотреть что получится из подобного внедрения. Я отчётливо понимаю что серебряной пули не существует и что основной актив при разработке – люди, а не что-то другое. Но очень хочется надеяться что подобная методология поможет мне разобраться со сроками. Позволит мне научится определять их более четко. И не попадать впросак. Надеюсь Новый год поможет мне в этом начинании. В общем пожелайте мне удачи. :)

Комментариев нет
29 декабря 2008

Некоторое время назад я, разбираясь с различными системами контроля версий, наткнулся на видео битвы трех гигантов – Git, Mercurial и Bazaar. Ни один из них не уступает другому ни в поклонниках, ни в функционале. Видимо пришло время выяснить, кто же из них лучшим в драке. Судя по решимости участников – драка будет нешуточной :)

Как пишет автор, видео не отражает качества кода или реального количества строк. Оно только показывает частоту коммитов файлов при разработке этих систем. Также оно не может служить для оценки реальной скорости разработки этих систем. Но зато оно позволяет сравнить насколько стиль разработки отличается в зависимости от проекта и оценить изменения этого стиля во времени.


Скачать великую битву в .avi. (65М)

Поскольку в флеш-версии этого видео все мелко до безобразия, я хочу пояснить. Синим цветом выделен Mercurial, красным – Git, зеленым – Bazaar. Чтобы можно было рассмотреть происходящее более детально – крайне рекомендую скачать полную версию этого ролика.

Для тех, кто не в курсе, откуда взялось это видео хочу намекнуть. Существует такой проект как Сode_swarm. Если есть желания познакомиться с ним поближе – я могу порекомендовать видео о развитии Python. Оно выполнено на достаточно высоком уровне и очень хорошо поясняет суть Code_swarm. Так-же можно посмотреть что Zada писал про Code_swarm на хабре.

ЗЫ. Я в будущем ходел переходить на распределенный Mercurial, но после этого видео – задумался. Рост Git куда как симпатичнее выглядит. Я думаю что там и код получается чище-лучше и сам он соответсвенно более подходит на роль идеальной системы контроля версий.

2 комментария