• Тайм-меджмент++

      ВРЕМЯ ПРИНАДЛЕЖИТ ВАМ, А НЕ ВЫ ВРЕМЕНИ


      Этот текст служит цели оптимизации вашей деятельности.
      Но не увлекайтесь оптимизацией — делайте дело.

      Следствие: Традиционная учёба (стационар, 5 лет) — это опасная вещь. Нужно иметь очень веские основания (конкретную цель), чтобы потратить столь огромный кусок времени на неизвестный результат. К тому же принцип 50-50 (теория-практика) неприменим при учёбе, там все с точностью наоборот, что (на мой взгляд) свидетельствует об ущербности текущих методов обучения.

      1. Необходимость времени (причины)


      Читать дальше →
    • Как правильно использовать исключения

        Жаль, если ваше изучение концепции исключений закончится чтением соответствующего раздела официальной документации по вашему языку.

        Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
        • Начать тут же использовать исключения. Скажем, прикручивать их к системе, в которой они никогда не использовались. Или приколачивать их к проекту, в котором ООП и не пахнет. Или, что самое ужасное, пытаться использовать их повсеместно, особенно там, где это не нужно.
        • Попытаться понять, где их применять, как делать это правильно, и зачем они нужны.

        Читать дальше →
      • Личный тайм-менеджмент

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

          Поэтому я попробую исправить этот недочёт.

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

          Welcome!

          Читать дальше →
        • Как вовремя узнать, что ваш сервер не работает?

            Случается, что сайты перестают работать. Причины могут быть самые разные: в датацентре «упал» канал, сервер вырубился, кто-то что-то намудрил с базой или файлами на сервере, сисадмин неудачно обновил ПО или переносил аккаунты. Или кое-кто забыл оплатить хостинг.

            В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
            Читать дальше →
          • Знакомство с PowerShell

              О том, что Microsoft в недавнем прошлом разродилась свежей оболочкой под названием PowerShell, я узнал еще с год назад. А вот попробовать, что это за зверь такой, никак руки не доходили. Но вот на днях на свежеустановленном Window Server 2008 я обнаружил эту штуку в составе предустановленных компонент, и любопытство все же взяло верх. Открыл, попробовал набить пару команд типа «help», "?" и т.п. — в результате был получен список всех команд (в жаргоне PowerShella, командлетов — cmdlets), оказавшийся достаточно объемным. Причем в списке фигурировали названия вроде ForEach, Where, которые не могли не вызвать интереса к тому, как эти конструкции можно потрогать. Полез за документацией и был приятно удивлен найденным переводам книг-учебников по сабжу (читал Windows PowerShell RU) — ссылки можно найти на блоге одного из активных участников комьюнити:

              blogs.technet.com/abeshkov/archive/2008/12/24/3172943.aspx

              Далее мои впечатления от первых часов изучения
            • NoteA — Держим заметки в порядке

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

                Всегда хотел чтобы заметки сами упорядочивались, и вот оно!


                Читать дальше →
              • Многоуровневое дерево с маркерами (HTML, CSS). Продолжение с jQuery

                  Посмотреть в работе многоуровневое дерево с маркерами.В продолжение темы про дерево немного переделал код и подключил jQuery. Теперь дерево живое, узлы разворачиваются, как этого многие ожидают видя подобное дерево.
                  Теперь оформление дерева делает скрипт — сам расставляет маркеры для элементов с вложенными узлами.
                  Благодаря использованию скрипта HTML стал проще.

                  UPD 05.04.2009: обновлены скрипты, есть несколько вариантов скриптов.
                  UPD 09.04.2009: продолжение
                  Читать дальше →
                • Введение в Zend Framework

                  • Перевод
                  Update (2014): Это статья 2007 года, которая, к моему удивлению, до сих пор пользуется спросом. По этой причине я обновил её в соответствии с новыми правилами оформления постов на Хабре, и добавил подсветку синтаксиса для примеров кода. Если кому-то захочется что-то добавить или исправить, исходник текста с хабра-разметкой выложен в открытый доступ: gist.github.com/dreikanter/2b4ee996d7a775e707d7

                  Аннотация от переводчика


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

                  В последнее время я активно заинтересовался архитектурой MVC и сделал свою собственную реализацию фреймворка на этой концепции для PHP4. Совсем недавно на глаза попался первый официальный релиз Zend Framework, о котором я давно слышал, но все руки не доходили с ним поиграть. Для PHP существуют и другие подобный библиотеки, но в данном случае привлек бренд.
                  Читать дальше →
                • Введение в Zend Framework (продолжение)

                  • Перевод
                  Продолжаем рассказ о Zend Framework. В первой части статьи была описана концепция программной архитектуры MVC, рассмотрена структура типового веб-приложения, базирующегося на Zend Framework и выполнена демонстрационная реализация контроллера и вида на его основе. Во второй части будет раскрыта тема модели и приведен пример взаимодействия приложения с базой данных.
                  Читать дальше →
                • Как я Zend штурмовал.

                    Уважаемые хабралюди. Во первых строках своего письма хочу сказать спасибо, хабралюдям, написавшим Введение в Zend Framework и Введение в Zend Framework (продолжение). Благодаря именно этим статьям, я наконец-то совершил свою давнюю мечту и начал медленно, но уверенно учить ЕГО. Но перед тем, как ринутся в бой, хотелось бы задать несколько вопросов, и получить советы от людей, который давно в Zend'e, дабы с самого начала не пойти по неверному пути.

                    Читать дальше →
                    • –3
                    • 761
                    • 9
                  • Безопасный код: Работа с пользовательским вводом


                      (ч2. Подделка межсайтовых запросов; ч2. Работа с базой данных)

                      Наверняка, XSS атаки остаются самыми популярными наравне с SQL инъекциями. Их принцип прост до безобразия, а последствия разнятся от невинного коверканья вывода страниц до получения злоумышленником полного контроля над сайтом.

                      Некоторые сценарии XSS атак



                      Устойчивая атака


                      • Вова создает частицу контента на сайте Пети.
                      • Когда Маша просматривает этот контент, Вовин XSS ворует Машины куки.
                      • Теперь Вова может пробраться на сайт, используя Машину сессию.
                      • Чем более людей увидит этот контент, тем более успешной можно считать атаку. Максимум достигается путем создания противоречивых холиварных тем на сайте и т.д.
                      Читать дальше →
                    • В корзине нет товаров? Положим туда изюминку!

                        Сейчас я на простом примере продемонстрирую одну их наших «микроинтерфейсных» находок.

                        Если товар добавлен в корзину, то вопрос с содержимым блока снимается. Пишем, сколько там товаров, на какую сумму, даем ссылку на оформление заказа.
                        Читать дальше →
                      • Javascript от А и до…

                          Начал замечать что на Хабре появляются статьи по программированию, может на это натолкнули фразы типа «хабр уже не тот», но это не так важно, потому как мне это нравится, всегда хотелось узнать что-то новенькое … моя первая статья привела к огромному краху, поэтому почитав людей, я повторю свои усилия и начну цикл заметок о JavaScript от самого начала и до тех пор, пока это будет востребовано =)
                          поехали дальше
                        • Regexp — это «язык программирования». Основы

                            Несколько лет назад я думал, что regexp осуществляет линейный поиск по тексту, но какое моё удивление было, когда я понял, что это не так. Тогда я убедился на собственном опыте, что от простой смены местами а и b в схеме (...a...)|(...b...) поменялся полностью результат.

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

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

                              Для начала, поговорим о том, что такое регулярные выражения, и каково их практическое применение.
                              Читать дальше →
                            • 15 верных путей чтобы сломать ваш CSS

                              • Перевод
                              Вольное изложение статьи 15 surefire ways to break your CSS. Автор Rob Glazebrook. Курсивом мои дополнения.

                              Пропущена точка с запятой
                              CSS правила состоят из пар описаний — свойство-значение, разделённых между собой точкой с запятой. В соответствии с спецификацией CSS последнее описание может не заканчиваться точкой с запятой, т.к. фигурная скобка и так отделяет всё правило от остальных как стена. Например:
                              body {
                              background-color: #444;
                              color: #eee
                              }

                              Проблема только состоит в том, что если вы решите добавить в правило другое описание, вы можете запросто забыть поставить в последнем описании точку с запятой:
                              body {
                              background-color: #444;
                              color: #eee
                              font-family: Helvetica, Arial, sans-serif
                              }

                              В результате описание font-family никогда не сработает, т.к. парсер будет считать «font-family» частью значения свойства color. Я проставляю последнюю точку с запятой всегда — это как-то добавляет организованности в код. А несколько лишних байт в размере css-файла не играют большой роли, особенно при включенном кешировании браузера.
                              Читать дальше →
                            • Веб-сервисы в теории и на практике для начинающих

                                Что такое веб-сервисы?



                                Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

                                Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

                                С другой стороны, если гипотетически разделить Интернет на несколько слоев, мы сможем выделить, как минимум, два концептуальных типа приложений — вычислительные узлы, которые реализуют нетривиальные функции и прикладные веб-ресурсы. При этом вторые, зачастую заинтересованы в услугах первых.

                                Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

                                Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
                                Читать дальше →
                              • Полный AJAX. Теория и Примеры. Фишки и Фичи

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

                                  Наибольшие трудности при построении сайтов c применением AJAX возникают при реализации механизма AHAH (Asynchronous HTML and HTTP). Особенно выполнение на лету подгружаемых Javascript-ов. Также есть куча дополнительного «гемороя» при разработке AJAX сайтов и веб-приложений. Вы можете ознакомится с детальным описанием некоторых существующих проблем. Из-за указанных сложностей, многие разработчики отказываются от более насыщенного внедрения AJAX.

                                  Однако, мало кто знает, что перечисленные проблемы можно решить.
                                  Читать дальше →