• Обзор электронных платежных систем. Что выбрать?

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

      Итак, задача довольно тривиальная, и к её решению приступил с изучения предметной области.
      Читать дальше →
    • Все знают что "++i + ++i" — плохо, но что-же за ширмой?

        Баг, выглядывающий из-за ширмы на вас о_ОНесомненно, все программисты знают что использование выражений, подобных тому что приведено в заглавии поста, не то что нежелательно, а строго противопоказано. Такие конструкции, поведение компилятора в которых не определено, могут принести множество трудноуловимых ошибок и нежелательных последствий. Но уверен, многим начинающим программистам хотелось бы по глубже понять эту проблему и, заглянув за ширму компилятора, узнать что же именно происходит в таких случаях. Изучению одного из примеров подобного кода я и посвящаю этот пост. Добро пожаловать под кат :)
        Читать дальше →
      • RSS новых торрентов с rutracker.org

          Я, как и многие из нас, постоянно просматриваю rutracker.org (а раньше torrents.ru) на предмет появления новых торрентов в тех разделах, которые меня интересуют. RSS сайт не предоставляет (что вообще-то странно). Приходилось изворачиваться…

          Раньше просматривал сайт вручную, пока не наткнулся на помощь по поиску (и почему я принадлежу к категории людей, которые пользуются Справкой только тогда, когда уже совсем прижмет?.. помидорами в меня кидаться не надо). Дело пошло немного веселее, но в итоге надоело постоянно открывать сайт в поиске новых торрентов.
          Читать дальше →
        • Инструмент для учета отработанного времени фрилансера — Tahometer.com

            Уважаемые коллеги, представляю на ваш суд стартап Tahometer (www.tahometer.com).

            image

            Задача Тахометра – отчитываться перед заказчиком о затраченном фрилансером времени, рассчитывать стоимость проделанной работы в соответствии с заданными почасовыми ставками.

            Почасовая оплата за работу — это одна из самых привлекательных форм для фрилансера-профессионала. Она позволяет заниматься своим делом и при этом упрощает бухгалтерию. К сожалению, «почасовку» очень сложно контролировать, а отработку часов легко симулировать. Часто именно поэтому сложно убедить заказчика перейти на почасовую форму оплаты. Вот здесь-то и появляется «необходимое зло», — счетчик отработанного времени, система, находящаяся на нейтральной территории.
            Читать дальше →
          • Mantis + Subversion у себя на компьютере с Windows XP. Пошаговая инструкция для удобной организации работы с кодом


              Исторически сложилось, что багтрекер в нашей команде – это Mantis. Для работы над ошибками очень хорошая и простая в обучении система. Буквально садись и работай. Но для удобной организации работы ей явно не хватает связки с Subversion. В связке Subversion+Mantis помогают организовать работу с кодом небольшой команды программистов. Более подробно про организацию работы у нас я описал в прошлой статье.
              А сейчас давайте поговорим, как установить Subversion у себя на компьютере и связать его с Mantis на сервере.
              Читать дальше →
            • Типовой шаблон технического задания на разработку сайта

                ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

                Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
                Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

                image
                Читать дальше →
              • А вы готовы перейти на Google Chrome? — 30 незаменимых расширений для Хрома

                • Перевод
                Chrome
                На протяжении уже 5-6 лет я использую только Firefox и никогда не думал, что захочу выбрать что-то другое. Firefox — отличный браузер, а делают его таковым все те тысячи расширений, которые каждый может скачать бесплатно. Можно найти расширение для чего угодно. Есть лишь один существенный недостаток — Firefox значительно медленнее, чем Chrome и сжирает больше ресурсов компьютера, чем остальные браузеры.

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

                В этой статье я попытаюсь ответить на вопрос — могут ли дизайнеры, веб-разработчики, SMO-шники, SEO-оптимизаторы безболезненно перейти на Chrome. Есть ли расширения, которые могут послужить равноценной заменой на Хроме таким вещам как: Firebug, Webdeveloper, Color Picker, SEO для Firefox, Alexa Ranks, средства для отладки?
                А далее 30 полезных расширений
              • Шпаргалка по расшифровке имен видеофайлов

                  Как то стало интересно что значат разные буковки/цифарки через точку в названиях видеофайлов.

                  Пост — результаты гугления, обобщения, структуризации и некоторой правки орфографии.
                  Возможно, кому то пригодится. Я, например, перестал связываться с TC.
                  Читать дальше →
                • Разговариваем про PyQt4 — Посиделка вторая

                    image

                    Добро пожаловать!


                        В прошлый раз мы обсуждали, как можно писать свое PyQt4-приложение, опираясь на логику сгенерированного программкой pyuic4 файла. Как это часто бывает — после написания топик получил много интересных и, что самое главное, содержательных комментариев, объясняющих, почему в отдельных случаях я прав, а в других неправ.
                        Самое любопытное состоит еще и в том, что обсуждение интересно как для питонистов, так и для приверженцев C++, ибо в данном случае разница невелика, в основном только незначительные вещи в синтаксисе. Все это потому, что PyQt4, по своей сути, является простой оберткой вокруг сишных Qt-классов, сохраняющей все названия и методы. Итак, вот вам чашечка чая или кофе, устраивайтесь поудобнее, давайте начнем нашу беседу.
                    Заглянуть на огонек
                  • Учебник по языку программирования Python (хабраиндекс)

                      Серия статей «Основы Python»


                      I, Начало
                      II, Строки
                      III, Списки, кортежи, файлы
                      IV, Генераторы списков
                      V, Определение функций, основы
                      VI, Расширенное определение функций

                      Об основах языка Python в сжатой форме

                      Продвинутый уровень


                      Сила и красота декораторов Короткий экскурс в метапрограммирование.
                      Итерируем все и вся Специфика циклов в Питоне.
                      Как я учился работать с XML
                      Консервация объектов в Python Использование модуля Pickle.
                      Memoization в Python Оптимизация работы программ.
                      Простейшее рисование с помощью PIL
                      Regexp и Python: извлечение токенов из текста
                      Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

                      http://netsago.org/ru/docs/1/12/
                      Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

                      http://djbook.ru/
                      Учебник по Django (Python-фреймворк для веб-приложений)

                      Читать дальше →
                    • Проектирование программного обеспечения

                        Сегодня процесс создания сложных программных приложений невозможно представить без разделения на этапы жизненного цикла. Под жизненным циклом программы будем понимать совокупность этапов:
                        • Анализ предметной области и создание ТЗ (взаимодействия с заказчиком)
                        • Проектирование структуры программы
                        • Кодирование (набор программного кода согласно проектной документации)
                        • Тестирование и отладка
                        • Внедрение программы
                        • Сопровождение программы
                        • Утилизация

                        Остановимся детально на процессе проектирования. В ходе проектирования архитектором или опытным программистом создается проектная документация, включающая текстовые описания, диаграммы, модели будущей программы. В этом нелегком деле нам поможет язык UML.
                        Читать дальше →
                      • Небольшой апгрейд постраничной навигации Drupal-a

                          На мой взгляд, у стандартной постраничной навигации Друпала есть несколько недостатков.

                          Во-первых, ссылка на последнюю страницу стала бы более информативна и занимала бы меньше места, если её заменить на номер последней страницы [28].


                          Во-вторых, стоит нам перейти на вторую страницу и мы тут же видим две ссылки на первую страницу: [1] и [Первая]


                          Аналогичную картину мы видим с противоположной стороны навигационной линейки


                          Ниже привожу вариант своего решения этих недочетов (для Drupal 6.x)
                          Читать дальше →
                        • Подборка плагинов к jQuery

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

                            jReject — jQuery Browser Rejection

                            jReject

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

                            Еще плагины
                          • Conjoon — Персональный органайзер на Zend Framework и ExtJS 2.2

                              Conjoon — представляет собой веб-ориентированный персональный органайзер с особым упором на обмене сообщениями. Для наибольшей практичности, легкости в использовании и вообще восприятия информации, система построена на ZendFramework и ExtJS.
                              Читать дальше →
                            • Список полезных PHP классов и библиотек

                                Email


                                • Swift Mailer
                                  Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
                                • PHPMailer
                                  Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

                                Читать дальше →
                              • PHPUnit+Netbeans

                                  Здравствуйте.

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

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

                                  В крупных конторах для этого есть специальные люди, которые занимаются тем, что пишут unit-тесты.

                                  Меньшие конторы, фрилансеры этим грешат, да и на маленьких проектах это не всегда нужно. Согласитесь, если класс на 100 строк, то писать тесты на 200 строк кажется лишней тратой времени.

                                  Тем не менее, не буду вдаваться в подробности кому надо кому нет.

                                  Я хочу показать как можно клево тестировать код на NetBeans с удобным GUI.
                                  Читать дальше →
                                • парсим сайты легко и непринуждённо вместе с phpQuery

                                    Привет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
                                    Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
                                    Автор постарался на славу и портировал почти всё что нам нужно.
                                    • Selectors
                                    • Attributes
                                    • Traversing
                                    • Manipulation
                                    • Ajax
                                    • Events
                                    • Utilities
                                    • Plugin ports

                                    Давайте посмотрим что она умеет.
                                    Поехали
                                  • Список полезных инструментов для CSS разработчика

                                    • Перевод
                                    Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


                                    Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
                                    Читать дальше →
                                    • +161
                                    • 60,5k
                                    • 65