Как стать автором
Обновить
23
0
Билык Андрей @YAAP

Пользователь

Отправить сообщение

Пятнашки на LibCanvas

Время на прочтение3 мин
Количество просмотров5.9K
Недавно на Хабре была статья про пятнашки на Canvas.
Отличная статья, уверен, новички найдут в ней много полезного. К сожалению, в комментариях высказались о немного завышеном потреблении процессора.
Это не от недостатка технологии, а от недостаточного опыта и удобных инструментов.
В этом топике я расскажу, как, при помощи LibCanvas, сделать эту игру совершенно нетребовательной к процессору и отлично выглядящей.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии43

Three.js — 3d движок на Javascript

Время на прочтение1 мин
Количество просмотров89K

Есть javascript-гурру, mr.doob, даже на Хабре уже всплывали его работы.
В общем, у него есть очень мощный Javascript 3d-фреймворк с названием

Three.js


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

Меня особо затянул полет между шариков и порадовал панорамный движок.
А у кого работает WebGL — так вообще не нарадуется — там вам и Minecraft и всё, что хотите)

Читать дальше →
Всего голосов 82: ↑79 и ↓3+76
Комментарии34

Оповещение при подключении к SSH

Время на прочтение2 мин
Количество просмотров20K
По результатам этого вопроса.

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

image
Читать дальше →
Всего голосов 155: ↑151 и ↓4+147
Комментарии85

Применение метамодели при проектировании баз данных с несколькими абстрактными слоями

Время на прочтение6 мин
Количество просмотров13K
Классический подход предусматривает разработку структур баз данных, где все сущности информационной модели находятся на одном абстрактном уровне, являются однородными. Однако, сложные и слабо-структурированные предметные области приводят реляционную декомпозицию к комбинаторному взрыву, непропорциональному росту количества таблиц и связей. А динамические предметные области, в которых ежедневные изменения являются нормой жизненного цикла, требуют постоянного реинженеринга структуры реляционной базы данных.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии58

Source Board — хостинг кода

Время на прочтение2 мин
Количество просмотров2.6K
Многим разработчикам в жизни рано или поздно требуется поделиться с кем-то кускомчастью кода, в тех или иных целях. Я не являюсь исключением, и в своё время выделил время на поиск такого сервиса под свои нужды.

История и описание

Читать дальше →
Всего голосов 45: ↑33 и ↓12+21
Комментарии40

Разработка мультитач веб-приложений

Время на прочтение6 мин
Количество просмотров59K
Мобильные устройства такие как сматрфоны или планшеты обычно имеют емкостный экран, чувствительный к прикосновениям для расширенного взаимодействия с пользователем.

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

Apple ввел свое touch events API в iOS 2.0, вскоре устройства на Android тоже получили такую возможность и touch events API стал стандартом де-факто. Недавно была собрана рабочая группа W3C для работы над touch events specification.
В этой статье я рассмотрю touch events API, которое нам предоставляют устройства на iOS и Android, мы изучим какие приложения можно создавать, используя touch events API. В статье куча полезных примеров и техник, которые позволяют упростить написание приложений с touch events API.
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии14

Адаптивный и мобильный дизайн с CSS3 Media Queries

Время на прочтение7 мин
Количество просмотров592K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии32

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

Время на прочтение4 мин
Количество просмотров65K

Email


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

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

Пишем простой плагин к веб-браузеру используя FireBreath

Время на прочтение3 мин
Количество просмотров8.5K
Как уже писали ранее на Хабре, FireBreath — это фреймворк для разработки кросс-платформенных плагинов, используя технологии NPAPI [1] и ActiveX Control hosts, что позволит использовать плагин в следующих браузерах: Gecko/Firefox, Google Chrome, Apple Safari, Opera, Microsoft Internet Explorer 6, 7, and 8.

Мне пригодился этот фреймворк для следующего: в проекте (веб-приложение) использовался Java-апплет для печати Pdf-файлов напрямую на принтер, но из-за различных проблем с Java Policy и правами, не удалось добиться стабильной работы апплета + различные мелкие баги, как-то захват апплетом фокуса после загрузки или зависание браузера во время печати. Возможно, просто руки кривые. В общем, печать то работала, то нет, и это никого не устраивало.

Как вариант было решено попытаться написать плагин, который позволит избавиться от апплета и печатать файлы быстро и надежно. Собственно, печать осуществляет теперь тот же Java код, переписанный в виде jar файла. Однако прослойкой, которая осуществляет взаимодействие между джавой и клиентским кодом, является плагин браузера.

Теперь напишем простой «считай, ничего не делающий» плагин, который будет писать данные в файла в локальной файловой системе.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+49
Комментарии4

Триггеры в MySQL

Время на прочтение2 мин
Количество просмотров299K
Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии49

.phar — исполняемые PHP-архивы

Время на прочтение4 мин
Количество просмотров54K
Данную статью я хочу посвятить одному интересному нововведению в PHP 5.2 (с версии 5.3 входит в стандартную поставку PHP) — PHAR.
image
PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
PHAR ползволяет упаковать много файлов в один, в результате чего Ваше приложение может работать с целой библиотекой, как с одним файлом.
PHAR умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.
Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, тоесть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper.
Читать дальше →
Всего голосов 137: ↑128 и ↓9+119
Комментарии80

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

Время на прочтение10 мин
Количество просмотров147K


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
Комментарии47

Ubuntu+Aptana=… Установка Aptana в картинках

Время на прочтение3 мин
Количество просмотров11K
Здравствуйте.
Исполняю обещаное, описываю установку Aptana на Kubuntu 8.04.
Что такое Aptana?
На официальном сайте разработчики заявляют:
«Aptana Studio — это мощная среда разработки веб-страниц и веб-приложений. Присутствует поддержка для разработки JavaScript, Ruby on Rails, PHP с использованием Ajax, DOM, HTML, CSS. Кроме того, предоставляются плагины, позволяющие разрабатывать приложения для Adobe AIR и Apple iPhone.
Для искушенных веб-разработчиков пакет Aptana Studio Pro предоставляет дополнительные преимущества производства продуктов, а также превосходную поддержку.
Aptana Studio 1.1 также имеет встроенную версию сервера Ajax от Aptana — Aptana Jaxer.»
Вкусно?
Устанавливаем
Всего голосов 25: ↑16 и ↓9+7
Комментарии24

Gitimmersion — Курс фундаментальных основ Git

Время на прочтение1 мин
Количество просмотров3.3K
image
Парни из EdgeCase создали сайт gitimmersion.com, посетив который вы сможете познать фундаментальные азы Git, там предлагается пройти курс из 52 шагов, в каждом из которых описываются разные аспекты использования Git. Так, переходя от простого к сложному, можно влиться в число активных пользователей этой VCS.

Например я, недавно начал коммитить в репозиторий, конфигурационные файлы от своих серверов, таким образом я в курсе истории изменений, не надо чесать репу, что же там было раньше.
Всего голосов 80: ↑77 и ↓3+74
Комментарии39

А MVC ли это?

Время на прочтение6 мин
Количество просмотров25K
Добрый день!

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

За последние две недели, в беседах с десятком знакомых программистов я выяснил, что все представляют себе MVC совершенно по-разному. Доходит до диаметрально противоположных взглядов, но по какой-то причине, все настаивают, что это MVC и что он должен выглядеть именно так, и находятся в полной уверенности, что все его так и видят.
Читать дальше →
Всего голосов 95: ↑81 и ↓14+67
Комментарии47

MarkHtml

Время на прочтение1 мин
Количество просмотров1.8K
Библиотека для чистки HTML кода от XSS вставок и лишних закрывающих тегов, позволяет фильтровать входные данные, способные нарушить работу сайта.

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

Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии15

Применение алгоритмов нечеткого поиска в PHP

Время на прочтение7 мин
Количество просмотров31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии22

Наглядное комментирование вёрстки

Время на прочтение2 мин
Количество просмотров2.2K
Многим верстальщикам знакомы комментарии в фотошоповских макетах.



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

Верстальщик верстает. В течении этого процесса у него накапливаются комментарии для программиста к своей вёрстке.

Есть 2 способа передачи этих комментариев:
  1. «тыкать пальцем» и рассказывать что, куда, когда и зачем
  2. оставлять комментарии в коде

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

«Липкие листочки» фотошопа избавляют от такого «тыканья пальцем» дизайнера. Таким же способом можно избавить от данного процесса и верстальщика.
Читать дальше →
Всего голосов 61: ↑54 и ↓7+47
Комментарии45

Атака на отказ в обслуживании методом slow HTTP POST

Время на прочтение5 мин
Количество просмотров41K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →
Всего голосов 205: ↑194 и ↓11+183
Комментарии98

Безопасная загрузка изображений на сервер. Часть первая

Время на прочтение10 мин
Количество просмотров137K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

Часто загрузка файлов без обеспечения надлежащего контроля безопасности приводит к образованию уязвимостей, которые, как показывает практика, стали настоящей проблемой в веб-приложениях на PHP.

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии57

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность