Как стать автором
Обновить
17
Карма
0
Рейтинг
Николай Сумрак @NikolasSumrak

PHP Magento Developer

Бесплатный редактор шрифтов на HTML5

HTML
Всё больше полезных программ удаётся портировать на открытые веб-технологии. До сих пор среди них не было редактора шрифтов. Теперь есть: Glyphr.



Профессиональный софт для проектирования шрифтов — это сложные и дорогие программы. В отличие от них, интерфейс Glyphr вполне доступен для каждого желающего, а само приложение совершенно бесплатно.
Читать дальше →
Всего голосов 93: ↑89 и ↓4 +85
Просмотры46.3K
Комментарии 11

Масштабирование веб-приложений с помощью HMVC

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

На сегодняшний день наиболее часто используемым паттерном проектирования сайтов является Модель-Вид-Контроллер (MVC). Повсеместное его использование отчасти вызвано успехом и популярностью фреймворка Ruby on Rails. Сейчас MVC является практически синонимом веб-разработки среди всех платформ.

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

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

Для уменьшения первоначальных вложений обычно принимают решение о том, что приложение должно быть спроектировано в виде целостной программы, содержащей все требуемые функции. Если сайт быстро обретет популярность, это станет проблемой. У меня остались не очень приятные впечатления от рефакторинга плохо масштабируемых кодовых баз. К тому же, это может потребовать большого количества ресурсов и денег. В идеале приложения должны расти по мере необходимости и не требовать в процессе этого крупных финансовых затрат.
Читать дальше →
Всего голосов 58: ↑49 и ↓9 +40
Просмотры16.9K
Комментарии 41

Как заработать на майнинге с обычным домашним компьютером

Криптография
Tutorial
Если у вас нет огромной фермы из десятков видеокарт, да и пара-тройка ASIC Miner’ов тоже отсутствует, не печальтесь – способы заработать на криптовалютах еще остаются. Один из более-менее рабочих вариантов – перед вами.



Читать дальше →
Всего голосов 120: ↑71 и ↓49 +22
Просмотры183.3K
Комментарии 42

Очень простой слайдер экранов

Разработка под Android
Когда я начинал изучать андроид, мне очень хотелось добавить красивое перелистывание экранов — как в популярных приложениях. Хотелось просто некоторое подобие LinearLayout, содержимое которого можно будет прокручивать. Однако для того, чтобы написать простейший слайдер с использованием ViewPager, мне потребовалось несколько часов на разбор, а также целая страница кода. К тому же, присутствовали некоторые ограничения — добавление объекта внутрь тега <ViewPager> не добавляло его в список виджетов.

Разобравшись, решил написать свой класс ScreenPager, который наследуется от ViewPager и работает очень просто. Причём работает как в xml, так и в чистом коде.


Как это работает
Всего голосов 24: ↑17 и ↓7 +10
Просмотры21.8K
Комментарии 2

Использование EXPLAIN. Улучшение запросов

MySQL
Перевод
Когда вы выполняете какой-нибудь запрос, оптимизатор запросов MySQL пытается придумать оптимальный план выполнения этого запроса. Вы можете посмотреть этот самый план используя запрос с ключевым словом EXPLAIN. EXPLAIN – это один из самых мощных инструментов, предоставленных в ваше распоряжение для понимания MySQL-запросов и их оптимизации, но печальным фактом является то, что многие разработчики редко его используют. В данной статье вы узнаете о том, какие данные предлагает EXPLAIN на выходе и ознакомитесь с примером того, как использовать его для оптимизации запросов.
Читать дальше →
Всего голосов 39: ↑32 и ↓7 +25
Просмотры106.7K
Комментарии 14

Работа с камерой в Android

Разработка под Android
Работа с камерой на телефоне всегда представляла для меня интерес. Как же это все устроено… И вот мне в руки попал телефон с Android'ом. Я не преминул возможностью попробовать разобраться в этом. Вот что получилось в итоге.
Исходный код и подробности
Всего голосов 61: ↑55 и ↓6 +49
Просмотры121.7K
Комментарии 19

Люди с кодопрошлым или закат программистов

Программирование

— Багнутый диван! — чертыхнулся Антон, в очередной раз придавив пальцы тяжеленным диваном, который они с Сергеем тащили уже 14 пролётов.
— Багнутый? — переспросил Сергей, — ты тоже программистом раньше работал?
Они уже почти месяц работали вместе, но Сергей ни разу не заподозрил в нем бывшего программиста. Жилистый, мускулистый Антон как-то мало походил на бывшего программиста.
— Приходилось подрабатывать в студенческие годы, — немного сконфузившись ответил Антон.
— Да не дрейфь! Я свой. Три года вёрстки и js под все браузеры, — Сергей оживился и надавил чуть сильнее, придавив Антона.
— Тише ты! Штука тяжелая! Из-за нее у меня уже функционируют только 7 пальцев. И вообще тут лучше о кодопрошлом разговаривать вполголоса. Настучат — вмиг вылетим с работы. Фуух, какой тяжелый! Двигай влево до упора.
Читать дальше →
Всего голосов 348: ↑279 и ↓69 +210
Просмотры174.8K
Комментарии 207

Разработка мобильных приложений на PhoneGap и jQuery Mobile

Разработка веб-сайтов


PhoneGap — это OpenSource платформа, позволяющая разрабатывать мобильные приложения на HTML, JavaScript и CSS под различные платформы (практически без изменения кода приложения) в их число входят: iOS, Android, Blackberry, WebOS, Symbian и Windows Mobile на подходе. Прелесть его в том, что он не требует навыков разработки под конкретную платформу. Вы пишете свое приложение на JavaScript, используете HTML и CSS для разметки. Вы пишете мобильное приложение как обычный сайт или веб-сервис.
Движок PhoneGap расширяет API браузера и добавляет следующие возможности: доступ к акселометру, доступ к камере (пока только фото), доступ к компасу, доступ к списку контактов, запись и прослушивание аудио файлов, предоставляет доступ к файловой системе, позволяет работать с разными HTML5 хранилищами localStorage, Web SQL и т.п а также позволяет безболезненно обращаться к любому кросс-доменному адресу.
Кроме платформы PhoneGap имеет, пока бесплатный, билдер приложений под все устройства в один клик.

jQuery Mobile


Думаю все знают, но напомню ещё раз. jQuery Mobile — это надстройка над jQuery, позволяющая безо всяких проблем разрабатывать мобильные веб сайты и мобильные веб приложения.

Если вы знаете HTML, JavaScript, CSS, jQuery и испытываете проблемы с Java, Objective-C и другими, но желаете попробовать свои силы в мобильной разработке, то эта статья для вас.
Читать дальше →
Всего голосов 117: ↑115 и ↓2 +113
Просмотры142.7K
Комментарии 47

Как сделать увлекательный кибер-сериал из окон mIRC, ICQ, и Firefox

Информационная безопасность
Многие из Вас наверняка читали в далеком 2007-ом, увлекательную статью пользователя ACiDThe Scene — настоящий андеграунд Интернета, и судя по комментариям, некоторые даже посмотрели указанный в статье сериал The Scene в оригинале. Для тех кто не вкурсе, или забыл, немного информации.

Сцена — веб-сериал, созданный Jun Group Entertainment в 2004-2006гг. Первый в своем роде фильме действие которого происходит на экране компьютеров его героев, где мы видим, как они общаются в чате.

Герои Сцены — участники вымышленной релиз-группы CPX, распространяющей фильмы-новинки до их официального выхода. Завязка истории начинающаяся с того, что один из основателей группы под давлением обстоятельств продает копию фильма азиатским DVD-пиратам.

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

Русская версия шоу предоставлена полной заменой анимации и синхронизации диалогов в чатах, текста писем, и некоторых ключевых частей интерфейса Windows XP. Также была полностью озвучена Речь.



Под катом ссылки на раздачи, Рецензия, Саундтрек, а также полная история пользователя ID-Daemon связанная с этим сериалом, которой он сопровождает свои релизы, в попытках популяризовать это не стандартное для обычных людей шоу и получить право публикации сериала в разделе Сериалы. На данный момент шоу расположено в ветке Rutracker.org » Разное » Разное » Видео
Читать дальше →
Всего голосов 89: ↑75 и ↓14 +61
Просмотры35.7K
Комментарии 41

Подводные камни использования сессий в PHP

Разработка веб-сайтовPHPПрограммирование
Из песочницы
image
Приветствую, уважаемое сообщество.

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

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

Читать дальше →
Всего голосов 56: ↑30 и ↓26 +4
Просмотры133.4K
Комментарии 74

Поведение INSERT… ON DUPLICATE KEY UPDATE в крайней ситуации

MySQL
Перевод
Несколько недель назад, я работал над проблемой клиента, который столкнулся с падением производительности БД и даже ее отказами, которые происходили приблизительно каждые 4 недели. Ничего особенного в окружении, в железе или запросах. В сущности, большей частью базы данных была одна таблица, в которой присутствовали, кроме прочего, INT AUTO_INCREMENT PRIMARY KEY и UNIQUE KEY.

Запросы, работающие с этой таблицей, почти все были типа INSERT ... ON DUPLICATE KEY UPDATE (далее — INSERT ODKU), где столбцы, перечисленные в INSERT, соответствовали столбцам с UNIQUE KEY. И выполнялись они с частотой, приблизительно 1500-2000 запросов в секунду, непрерывно 24 часа в сутки. Если вы хороши в математике, то наверное, уже догадались в чем дело.
Читать дальше →
Всего голосов 66: ↑65 и ↓1 +64
Просмотры125.8K
Комментарии 38

Исключение != ошибка

PHP
Многие программисты почему-то считают, что исключения и ошибки — это одно и то же. Кто-то постоянно кидает exception, кто-то через errorHandler превращает ошибки в исключения. Некоторые пытаются увеличить производительность, используя исключения. Но, на самом деле, exception и ошибки — это совершенно разные механизмы. Не надо одним механизмом заменять другой. Они созданы для разных целей.

Когда появился php5 с исключениями, а затем ZendFramework, который всегда кидает исключения — я не мог понять: чем же exception лучше моего любимого trigger_error()? Долго думал, обсуждал с коллегами и разобрался в этом вопросе. Теперь я чётко знаю, где использовать trigger_error(), а где throw new Exception().

В чём же принципиальная разница между ними?

Читать дальше →
Всего голосов 133: ↑90 и ↓43 +47
Просмотры22.4K
Комментарии 110

Qt+OpenGL — Основы. Часть 1

C++
Данная cтатья вводная, рассчитана на знакомство с Qt+OpenGL для новичков, которые планируют изучать Qt (как кросс-платформенный инструментарий разработки ПО на языке программирования C++) + OpenGL (как графическую библиотеку).

Что потребуется новичку:
1) Qt Creator (имеет хорошую встроенную документацию и подсказки во время набора кода). Скчаать
2) doc.qt.nokia.com — официальная документация на английском языке
3) doc.crossplatform.ru — документация на русском языке
4) Обязательно прочесть про Qt и OpenGL
5) Отличная статья для начала изучения

Что мы будем делать
Поскольку данная статья посвящена конкретно основам, в нашей задаче будет следующее:
1) Разобрать как создается приложение
2) Как рисовать объекты
3) Как работать с указателем мыши и событиями(нажатие клавиш на клавиатуре и на мышке)
4) Работа с таймером
5) Создадим нашу первую банальную игру. Будем с помощью таймера, случайным образом перемещать квадрат. После наведения на квадрат указателя и кликнув по нему левой кнопки мышки, в случае попадания по квадрату, будем прибавлять к полученным очкам +1.

Этапы построения
Всего голосов 59: ↑47 и ↓12 +35
Просмотры107.5K
Комментарии 51

Сборка Qt 5.3.0 в Visual Studio 2008

QtVisual Studio
Tutorial
Всех с наступающим!

Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это

  • Собственно, сама необходимость использовать только VS2010 и зависимость Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll)
  • зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следующие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
  • зависимость Qt5Gui.dll от Angle Library. Это следующие DLL-ки — libEGL.dll, libGLESv2.dll

В конце также будет рассмотрен вопрос последующего распространения приложений без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашей программы.
Читать дальше →
Всего голосов 35: ↑29 и ↓6 +23
Просмотры32.7K
Комментарии 43

Перегрузка операторов в C++

C++
Доброго времени суток!

Желание написать данную статью появилось после прочтения поста Перегрузка C++ операторов, потому что в нём не были раскрыты многие важные темы.

Самое главное, что необходимо помнить — перегрузка операторов, это всего лишь более удобный способ вызова функций, поэтому не стоит увлекаться перегрузкой операторов. Использовать её следует только тогда, когда это упростит написание кода. Но, не настолько, чтобы это затрудняло чтение. Ведь, как известно, код читается намного чаще, чем пишется. И не забывайте, что вам никогда не дадут перегрузить операторы в тандеме со встроенными типами, возможность перегрузки есть только для пользовательских типов/классов.
Читать дальше →
Всего голосов 48: ↑34 и ↓14 +20
Просмотры664.9K
Комментарии 42

JIRA: создание плагинов. Особенности фреймворка

Разработка веб-сайтовJava
Из песочницы
Tutorial
Приветствую всех.
Эта статья поможет начинающим в области веб-программирования научиться писать плагины под JIRA. Сам в начале работы с этой системой столкнулся с тем, что, во-первых, нет ни одного достаточно подробного и русскоязычного гайда. А во-вторых, большая часть статей рассчитана на достаточно опытных людей.
Для начала, я рассмотрю основные моменты и ошибки при создании плагинов, а так же структуру JIRA плагина, что сильно упростит задачу начинающему веб-программисту.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры21.6K
Комментарии 5

Кастомизация виджета Action Bar

Разработка под Android
imageСтатья является переводом топика из блога android-developers. В ней показывается, как стилизовать виджет Action Bar нужным вам образом. В качестве примера рассматривается изменение оформления виджета под общую цветовую гамму вышеописанного блога.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры27.4K
Комментарии 29

Основные UI паттерны разработки Android приложений

Разработка под Android
Из песочницы
Поскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
Читать дальше →
Всего голосов 52: ↑45 и ↓7 +38
Просмотры23.9K
Комментарии 15

Список полезных PHP классов и библиотек

PHP

Email


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

Читать дальше →
Всего голосов 175: ↑145 и ↓30 +115
Просмотры62.9K
Комментарии 75

Установка SVN практически на любой хостинг (static svn)

Настройка Linux
0. Интро

Практически всегда хостинг не предусматривает поддержку svn для конечного пользователя или эта возможность идет в качестве дополнительной платной опции, а обновлять проект с большим количеством файлов — занятие не из легких. Тем более, когда изменения затронули много связанных между собой файлов. Старый вариант через фтп или закачка архива с последующей его распаковкой не особо подходит, так как влечет за собой вероятность возникновения ошибок. Будь-то недокачка какого-то файла (ftp) либо неверные права на папки\файлы (архивом). Все это для примера. Но есть более удобный способ решить эту проблему. Установить svn на хостинг.
Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Просмотры4.2K
Комментарии 67

Информация

В рейтинге
5,882-й
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность