Веб разработка

Мысли на полях планшета

Не спится

Убил ночь на фикс авторизации в игре. Добавил проверку уника компа к тому что было. Сейчас проверка связки комп-пользователь идёт по кукисам, айпишнику, сессии и унику компа. Сейчас получается что в базе после каждой авторизации валяется значение кукиса, айпи юзера и значение уника компа. Поменялся айпи - проверяю кукисы на компе и кукисы в бд, если всё нормально обнавляю айпишник юзера в базе, если ни кукисы, ни айпи не совпадают с теми что в базе загоняю в репорты уник компа и логин, а юзер идёт на авторизацию. После зачёта буду чат на ajax перегонять, надоел тот бред который сейчас чатом называется. В связи с этим возникает вопрос , логи чата хранить за какой период ? Приват хранить не буду, это даже не обсуждается. хз что там с хранителями получится. Сейчас 3-15, в 13-00 зачёт по администрированию комп. сетей. Осталось меньше 10 часов.
Подробнее

OpenID плагин для блога

Особо поиском не занимался, совершенно случайно среди кучи мусора наткнулся на неплохой плагин для вордпресса дающий возможность использовать OpenID и учётки lj. Подключение очень простое и отнимает пару минут. Отвечая на невысказанные вопрос скажу что у себя не подключил так как сейчас нет лишнего времени на переделку формы для комментирования предоставляемую плагином на то что у меня сейчас. За две минуты слёту не получилось — отложил на пару дней когда время свободное появится. Несмотря на то что пост висит от 2007 года всё работает, ну или я пока что с багами не встретился. Читать и качать тут
Подробнее

Разработка cms. Новости.

Начал недавно наращивать функционал cms`ке которую сейчас использую и решил поэтапно, совещаясь со знакомыми обсудить все модули которые есть сейчас, и при необходимости добавить какие-то отдельные вещи для большей функциональности. Сегодня я хотел бы поговорить о новостях и об абстрактной реализации модуля управления новостями. Работал во многих cms и везде чего-то где-то не хватало, или казалось неправильным, намеренно усложнённым. Итак, новости и что там надо при публикации через админ панель новой новости на сайт. Вот как мне кажется поля которые являются обязательными при публикации новости.

  • Заглавие новости
  • Текст новости
    • Использования двух полей для вступительного текста новости и полного текста новости
    • Использования одного окна, и разделение вступления и полного текста катом
  • Выбор категории. Приобщение публикуемой новости к определенной категории
  • Тагификация. Возможность указания тематических тегов к новости
  • Разграничение. Возможность указать группы которые имеют/не имеют доступ к просмотру содержимого новости

Что-то мне подсказывает что это не всё, но не могу вспомнить больше ничего, что имело бы смысл. Подскажите, а ?

Подробнее

10 способов "не облажаться" начинающему программеру

Нашел на просторах сети статью "10 способов "не облажаться" начинающему программеру", появилось желание прокомментировать сиё творчество вспомнив собственный опыт начала работы и нынешние реалии. Курсивом мои заметки на полях

Рано или поздно, все совершают одни и те же ошибки. Рецепты для того, чтобы их избежать достаточно просты. Сложность заключается лишь в том, что их нужно соблюдать. Добавить особо нечего, про себя могу только сказать что с начала работы в этой сферы сформировались свои плавила которые распечатанные висят около монитора, и при общении с клиентом на которые я поглядываю. 1. Если у вас еще нет ни одного готового проекта - сделайте что-то небольшое за символическую плату, но подойдите к этому серьезно, будто вы пишете коммерческий проект. Естественно, это "небольшое" должно быть намного больше, чем задачка для института. Можно сделать подходит курсовую работу для друга, не-программера. Это поможет оценить свои собственные силы, добавит ценного опыта и возможность от чего-то отталкиваться. Решение институтских задачек для знакомых тоже неплохая возможность "набить руку", но тут следует помнить что преподаватели не заказчику и зачастую отстают в сетевых тенденциях на пару лет. Не стоит удивляться если работа Вашего знакомого не пройдёт, и помните что с институтскими преподами иногда стоит попридержать коней в использовании современных фишек, а жать -( 2. Если у вас мало законченных проектов, но много начатых - планируйте и иногда завершайте хотя бы небольшие начатые проекты. То, что можно закончить. Это может показаться нецелесообраpным, но вы получите больше уважения как в собственных глазах, так и в глазах окружающих. Человек, который доводит дела до конца - зарабатывает себе хорошую репутацию. Особенно, программер. Полностью согласен, но следует и помнить что доработка собственных проектов не должна вестись во время выполнения заказа. Тот кто платит деньги заказывает музыку, а мы, информационные музыканты её исполняем, а уже потом может подбирать свои мелодии. 3. Не беритесь самостоятельно за проекты, выполнение которых займет более чем в 2 раза больше времени, чем самый сложный ваш проект. Иначе вы рискуете надорваться и не потянуть, как бы хорошо вы изначально не оценили собственные возможности. В конце-концов, вам может стать просто скучно и вы не доделаете работу до конца. А это просто страшно для новичка. Совершенно верно, и тут действительно самое обидное это потраченное время и наличие "крутого", но не завершенного и следовательно никому не нужного проекта. 4. Не беритесь за проект, который более чем в 2 раза дороже вашего самого дорогого по опыту проекта. Не у каждого получится одним махом заработать миллион. Увеличивать сложность и стоимость нужно постепенно. Чем меньше эта разница, тем стабильнее вы развиваетесь. Тем больше вы можете быть уверены в своем завтрашнем дне. Работайте на перспективу, а не на сиюминутную выгоду. Поймите, что вам нужно увеличить свою собственную стоимость, а лишний купленный девайс сделает вас счастливым очень ненадолго. И не рискуйте по пустякам. Рисковать нужно и можно, но при наличии хорошего "тыла". Хотя последний раз когда так рискнул и имел возможность получить неплохие деньги заказчик через некоторое время начал накручивать свои требования к проекту. В итоге разошлись. Но рисковать я буду и дальше. Тут надо помнить что зачастую проект это работа не одного программиста, а целой команды. Хватаем проект в несколько раз дороже нашего самого дорогого проекта, оцениваем масштабы работы и распределяем работу между командой. Смотрим, а денег то на одного и не так много выйдет, а проект может быть и знаковый. 5. При оценке трудоемкости, учитывайте свои ошибки. Возьмите все свои проекты и посмотрите, на сколько вы ошибаетесь при подсчете трудоемкости. Ведете статистику и смотрите, как меняется этот коэффициент ошибок со временем. Учитывайте средний коэффициент плюс некую дельту каждый раз, когда беретесь за новое дело. Я приверженец накрутки срока исполнения. По мне лучше сказать что разработка проекта займёт на месяц больше времени чем я реально рассчитываю, но сдать проект раньше положенного срока. Тут ещё надо помнить что кроме времени которые мы потратим на исполнение технического задания заказчика нам понадобится время на реализацию бонусных плюшек, а эти плюшки нигде не оговорены. 6. Рассчитывайте только на себя, но старайтесь всегда использовать более быстрые способы. Редкое решение проблемы не встретишь в интернете. А большинство алгоритмов давно написано. Научитесь сохранять свое время, в будущем это сработает на вас. Лучше научиться искать нужную информацию на "игрушечных задачках", чтобы это не стало проблемой на реальных коммерческих проектах. Самым прямым образом этот навык заработает вам больше денег и позволит провести больше времени на отдыхе или занимаясь чем-то более интересным. Автор полностью прав, вот только руки всё никак не доходят все свои наработки разложит по полочкам, а надо. Кстати в это отношении использования блога очень эффективно, но проблема в том что я например подхожу к решению задачи фанатично, я могу за один вечер разобрать несколько проблем решение которых мне поможет в будующем, и всё. Сложно остановиться чтобы задокументировать =( 7. Всегда имейте в запасе нескольких более опытных знакомых, к которым можно обратиться с проблемой. Но по пустякам их не дергайте, они этого не любят. Смело скажу что наличие в аське контакт листа на полтысячи человек очень помогает. Но помните что нельзя просто постучать к человеку и попросить помощи в выходе из стоповой ситуации. Поддерживайте контакт с людьми даже когда Вам не нужна помощь. Просто напишите "привет", поинтересуйтесь успехами с его проектами. При наличии у него блога или учётки в какой-нить социальной сети — подпишитесь, комментите. Но не стоит при каждом его посте писать тупизм типа "+1", "жжошь" и подобного бреда. Если нечего сказать — молчите. 8. Всегда щедро благодарите таких знакомых за помощь. Это окупается. При этом желательно с некоторыми из них поддерживать дружеские отношения и кроме "дел программерских", а с некоторыми - нет, исключительно деловые. Это на всякий случай, вдруг окажется, что вы случайно слишком много позволите себе в душевной беседе "за пивом". Обязательно осознайте, зачем вы им нужны и что для них важно получить на самом деле за помощь вам: общение по душам ? пиво в благодарность ? удовлетворить собственную потребность кого-то поучить уму-разуму ? найти решение интересной и нестандартной задачи ? Или что-то еще ? Можете даже открыто спросить их об это. Будьте честны со своими более опытными помошниками, иначе они от вас отвернутся. Но помните что Вам могут скачать совсем не то что Вы ожидаете, задавая прямой вопрос будьте готовы и честному и прямому ответу. Уважайте тех людей кто отвечает прямо. 9. Разбивайте задачу на много маленьких. Как много об этом говорится и как редко люди это выполняют. Разбивайте проект на последовательные шаги, создавайте свой алгоритм выполнения проекта. Соблюдайте четкий график и обязательно успевайте доводить шаг до некого конечного состояния за отведенный период времени. Так, чтобы можно было переходить к следующему шагу вовремя. При разбиении проекта на шаги и расчете времени - оставляйте время на доработку в самом конце. Я работаю по правилу +1 месяца. Лучше утвердить больший срок на выполнение и сдать работу раньше чем показать заказчику при обсуждении временных рамок "какие мы быстрые" и опоздать с утверждённой дате. Большая часть мнения о Вас складывается после завершения работы. 10. Не беритесь улучшать уже написанный код, когда вы выбиваетесь из отведенного на него "time slice". Вы сможете вернуться к нему позже, когда настанет время для доработки. Я ещё никогда не сталкивался с заказчиком который бы давал свои требования по ресурсозатратам проекта. Улучшение уже написанного кода во время работы над проектом это желание самоутвердиться, доказать себе что-то. По мне лучше завершить проект, взять недельку-другую на отдых от работы, доточить сделанную работу и или втихую обновить код сданного проекта и уже после улучшений сообщить заказчику, или отложить улучшенный код до следующего заказа подобного типа. Всегда хорошо иметь свою стратегию: план развития, принципы работы и жизни в целом. Ее необходимо постепенно дорабатывать, корректировать и улучшать, но никогда не менять резко и целиком. Всегда учитывайте, что в каждый конкретный момент вы можете думать немного по-разному. И настоящее "Я" заключается в среднем. Оберегайте это "Я" и не подставляйте его. truE брат =) Успехов нам. И всегда помните что то что работает сегодня завтра может и не работать. и даже давать противоположный эффект. Движение и вечный поиск вот наша стратегия.

Подробнее

Улучшение WordPress - 2

Так как статья рассказывающая о причинах по которым я выбрал WordPress для блог площадки ещё не готова решил просто кратенько описать последние улучшения которые я провел с блогом. Итак, по пунктам с краткой характеристикой. Были установлены следующие плагины:
  1. Ajax Comment Posting
  2. I Love Social Bookmarking
  3. Pagebar2
  4. WP Thread Comment
  5. ОднаКнопка
Поехали.
  • Ajax Comment Posting
Установка данного плагина даёт возможность используя ajax добавлять комментарии. Это значит что после добавления коммента не происходит перезагрузка страницы. К сожалению данный плагин немного глючит при работе с деревом комментариев (WP Thread Comment), но я думаю решить данную проблему в ближайшее время. Официальная страница по этому адресу.
  • I Love Social Bookmarking
В последнее время стали весьма популярны подобные сервисы, незнаю как у нас (читай рушный сегмент сети), но за рубежом весьма полезный сервис. Так как установка плагина происходит за пару минут решил не жадничать и добавить этот плагин. Из настроек есть возможность изменить цветовую гамму под свой блог, выбрать на какие страницах будет активирован данный плагин, определиться с поддерживаемыми сервисами (всего их 12 не считая ррски). В первую очередь плагин направлен на англоязычных пользователей судя по списку сервисов, но не забывайте что наши тоже часто используют иностранные сервисы из-за больших возможностей. Домашняя страничка.
  • Pagebar2
Улучшенная навигация по страницам блога. Пример можно увидить внизу. Лично мне очень понравилось. Автор Lutz Schröer, скачать плагин можно по этому адресу.
  • WP Thread Comment
Добавляет возможность создания деревьев комментариев, пользователи ЖЖ будут очень рады. Из настроек придётся только указать цвета и длину деревьев.
  • ОднаКнопка
Аналог плагина I Love Social Bookmarking, но ориентированный на рушные сервисы. Скачать можно на сайте odnaknopka.ru. Пока что всё, в планах добавить поддержку OpenID и расширить в разумных пределах использование ajax чтобы поминимуму загружать новые страницы. Мне кажется разумное использование подгрузки контента вместо загрузки новой страницы с слегка изменившимися данные эффективней. Если Вы используете интересные плагины у себя прошу в комменту, посмотрим каждый плагин отдельно, разберём его по костачкам.
Подробнее