На Хабре часто обсуждается какой язык лучше для написания безопасных приложений. При этом часто отмечается, что PHP спроектирован таким образом, что начинающий разработчик будет допускать ошибки, приводящие к дырам безопасности. В этом хабрапосте я хочу рассказать о, на мой взгляд, нелогичном поведении операций сравнения, операторов if и switch при работе со строками. Опытным разработчикам данные особенности известны, но решил все же собрать их в одном месте. Думаю пост будет полезен начинающим разработчикам и тем, кто работает в PHP, имея опыт программирования на других языках.
Igor Polyakov @ihoru
Python/Django Developer
Менеджер паролей в Firefox. Синхронизация на нескольких компьютерах
2 min
7.2KЗадача:
Есть добрая сотня аккаунтов на разных сайтах. Требуется свести к минимуму введения логина/пароля (одним кликом), при этом:
— предусмотреть способ для синхронизации данных с аккаунтов между рабочим и домашним компьютером
— соблюсти все меры безопасности, во избежании кражи паролей
— решение должно быть кроссплатформенным
Есть добрая сотня аккаунтов на разных сайтах. Требуется свести к минимуму введения логина/пароля (одним кликом), при этом:
— предусмотреть способ для синхронизации данных с аккаунтов между рабочим и домашним компьютером
— соблюсти все меры безопасности, во избежании кражи паролей
— решение должно быть кроссплатформенным
+7
Ubuntu+Aptana=… Установка Aptana в картинках
3 min
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.»
Вкусно?
Исполняю обещаное, описываю установку 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.»
Вкусно?
+7
Как повысить свою продуктивность в несколько раз?
1 min
6KВероятно каждый из нас сталкивался с тем, что проходят дни, недели, а проект не продвигается, нарушаются сроки, коллеги начинают проявлять недовольство, появляется постоянный стресс.
Хочу поделиться эффективным способом резко повысить свою продуктивность.
Хочу поделиться эффективным способом резко повысить свою продуктивность.
+150
Подборка образовательных слайдов
2 min
1.2KМне было интересно почитать, наверняка кому-то тоже пригодится.
- Как организованы кластеры Google
www.slideshare.net/ultradvorka/google-cluster-innards
Как строить дизайн системы с тэгами на Mysql, а также как
проектировать базу MySQL с Master/Slave, чтобы распределять нагрузка
на узлы веб-фермы (от майсиквелиста) — с примерами SQL
www.slideshare.net/jonathanbaij/building-a-tag-system-with-mysql
Как оптимизировать вызовы Javascript/AJAX на сайтах (от гуглиста)
www.slideshare.net/souders/web-20-expo-even-faster-web-sites
Как организован DIGG (PHP + MYSQL)
www.slideshare.net/epee/mysql-2007-tech-at-digg-v3
Как оптимизировали Fotolog (самое большое сообщество по фото
блоггингу) MySQL, JAVA, PHP, Memcached, дизайн БД
www.slideshare.net/frankmashraqi/fotolog-scaling-the-worlds-largest-photo-blogging-community
Как оптимизировать БД MySQL
www.slideshare.net/techdude/how-to-kill-mysql-performance
Как организован Flickr (PHP, PEAR, ImageMagic, Perl, Java, XML)
www.slideshare.net/coolpics/flickr-44054
+46
Linux help
1 min
717+4
Ajax на мобильном браузере или мобильный Ajax (с примерами)
5 min
5.6KTranslation
Ajax, судя по тенденциям, всё больше овладевает умами девелоперов. Особенно активно сейчас начинает развиваться Ajax для мобильных браузеров. Об этом собственно и поговорим.
Технология Ajax очень востребована пользователями мобильных устройств. Причина в общем-то на поверхности. Снижается потребление трафика и трата времени. Ведь подгружаются всего некоторые части страницы, а не она вся (если не в теме, что такое Ajax — рекомендую посетить Wikipedia — Ajax). Соответственно серфинг сети с мобильного устройства становиться более качественным, быстрым и менее раздражающим. Более того, он обходиться дешевле.
Технология Ajax очень востребована пользователями мобильных устройств. Причина в общем-то на поверхности. Снижается потребление трафика и трата времени. Ведь подгружаются всего некоторые части страницы, а не она вся (если не в теме, что такое Ajax — рекомендую посетить Wikipedia — Ajax). Соответственно серфинг сети с мобильного устройства становиться более качественным, быстрым и менее раздражающим. Более того, он обходиться дешевле.
+13
Заворачиваем Amarok на MySQL
4 min
1.8KИли софтверная зоофилия
Amarok — на мой, взгляд — гениайнельший из всех ныне существующих аудиоплееров, снабжён не менее гениальной музыкальной библиотекой.(Именно переход на линукс и амарок приучил меня пользоваться этим инструментом музыкоорганизации, винамповская ивин-медиаплеерская либари просто таки пугали своей непонятностью и несуразностью.) Как известно, вся эта музыкальная библиотека крутится на определённой базе данных. В стандартной конфигурации, это SqlLite. Такая чудненькая легковесная БД, не требующая ни пользователе-паролей , ни каких-либо настроек, просто включил и оно себе работает. Но, у нее есть один серьёзный недостаток: она медленная, нет-нет , не то слово, просто таки тормозная!
Amarok — на мой, взгляд — гениайнельший из всех ныне существующих аудиоплееров, снабжён не менее гениальной музыкальной библиотекой.(Именно переход на линукс и амарок приучил меня пользоваться этим инструментом музыкоорганизации, винамповская и
+38
Верстка без float'ов
2 min
8.7KTranslation
Существует много разных способов css разметки. Некоторые базируются на абсолютном позиционировании, другие используют float'ы. Первый метод плохо поддерживает «резиновость» макета, тогда как второй это неплохой способ разметки.
Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.
Итак, речь далее пойдет о
Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.
Итак, речь далее пойдет о
+45
Linux на ладони
3 min
3.8KДавным-давно линукс для обычного пользователя windows был чем-то заоблачным и непонятным, а уж линукс на мобильных устройствах тем более. Конечно, многие продвинутые помнят о Sharp Zaurus, но основная масса округляет глаза и думает что это консоль аля дос и все. Увы, это не все :) Когда я случайно забрел на сайт, посвященный портированию линукса на различные платформы наладонников, то решил попробовать «поженить» свой кпк и один из дистрибутивов мобильной ос. Надо же как-то использовать пылящееся на полке барахло :)
+54
Установка и настройка VPN сервера с биллинговой системой AbillS на Ubuntu 7.10
7 min
18KНаверно всем известно, что ситуация с ценами на интернет в Москве и по России разительно отличается.
Для сравнения в Тольятти (Самарская область) безлимитный доступ на скорости 512кбит/с на месяц обходится в сумму 2300р.
В столице за эту же сумму можно наверно взять уже 20Мбит.
Так вот, как бы это дико не звучало, но я собираюсь, для уменьшения расходов, делиться этим каналом (512кбит/с) еще с несколькими людьми в локальной домовой сети =)
Провайдер дает доступ к интернету через свой VPN сервер.
Юзеры в локалке имеют доступ ко внутригородским ресурсам бесплатно и без контроля трафика.
Во внешку было решено выпускать их через VPN соединение с сервером в локальной сети.
Система была опробована и работает уже почти полгода, нареканий в работе никаких не поступило, все стабильно.
Конфигурация сервера: Pentium III 1000MHz, SDRAM 512Mb
Для уменьшения нагрузки на серве, было решено не использовать сжатие и шифрование, в связи с этим в клиентах требуется дополнительно снять галочку «требовать шифрование» в настройках VPN в Windows
В этой инструкции было решено собрать весь опыт по установке и настройке.
Изначально писал для себя, но думаю общественности тоже может быть полезно.
Для сравнения в Тольятти (Самарская область) безлимитный доступ на скорости 512кбит/с на месяц обходится в сумму 2300р.
В столице за эту же сумму можно наверно взять уже 20Мбит.
Так вот, как бы это дико не звучало, но я собираюсь, для уменьшения расходов, делиться этим каналом (512кбит/с) еще с несколькими людьми в локальной домовой сети =)
Провайдер дает доступ к интернету через свой VPN сервер.
Юзеры в локалке имеют доступ ко внутригородским ресурсам бесплатно и без контроля трафика.
Во внешку было решено выпускать их через VPN соединение с сервером в локальной сети.
Система была опробована и работает уже почти полгода, нареканий в работе никаких не поступило, все стабильно.
Конфигурация сервера: Pentium III 1000MHz, SDRAM 512Mb
Для уменьшения нагрузки на серве, было решено не использовать сжатие и шифрование, в связи с этим в клиентах требуется дополнительно снять галочку «требовать шифрование» в настройках VPN в Windows
В этой инструкции было решено собрать весь опыт по установке и настройке.
Изначально писал для себя, но думаю общественности тоже может быть полезно.
+18
Будущее CSS
3 min
1.8KВ связи с участившимися сообщениями о том, что в CSS хотят добавить переменные, анимацию, трансформацию и прочая, хотелось бы немного отстраненно порассуждать на эту тему.
CSS, которому уже 12 лет, изначально был задуман и разрабатывался как средство для описания внешнего вида документа. С тех пор утекло много воды и технология претерпела значительные изменения и дополнения. На данный момент, рабочая версия по стандарту W3C, принятая в 2006 году — Уровень 2.1. Уровень 3 находится в состоянии разработки (есть черновик), и ожидается с нетерпением многими разработчиками.
Вокруг будущего CSS ходит много слухов и предположений, коротые муссируются и множатся, выливаются в дискуссии и споры. Ведь по сути, если хотя бы половина предлагаемых изменений будет осуществлена, то CSS превратится в (полноценный?) язык программирования визуальной составляющей веб-документов.
+38
Одна голова хорошо, а десять лучше? ч.2
3 min
1.2KМетоды выработки коллективных решений
Первая часть
«Дельфи»- метод или метод «дельфийского оракула»
Этот метод был предложен как итеративная процедура при проведении мозгового штурма, которая способствовала бы снижению влияния психологических факторов и повышению объективности результатов.
+3
Новое в CSS 3: анимация, трансформация, переменные.
2 min
6KЧто-то мне кажется, что в этот раз с идеями внедерения новых правил разработчики перестарались…
Dave Hyatt, Dean Jackson и Chris Marrin (все трое работают в Apple) предложили внедрить в CSS 3 поддержку создания анимации, трансформацию объектов, их изменение с течением времени и ввести css-переменные.
Dave Hyatt, Dean Jackson и Chris Marrin (все трое работают в Apple) предложили внедрить в CSS 3 поддержку создания анимации, трансформацию объектов, их изменение с течением времени и ввести css-переменные.
+34
А так ли нужен static?
3 min
20KДовольно часто в последнее время читал разные статьи на тему оптимизации, во многих из них писалось о том, что если функция используется как статическая, то с точки зрения оптимизации лучше перед ее объявлением написать модификатор static.
+6
Одна голова хорошо, а десять лучше?
3 min
1.8KМетоды выработки коллективных решений
Постановка задачи
Зачем они нужны? Наверное такой вопрос задает любой человек, читающий этот топик. Если я начальник, то я
+28
Кастомайзим INPUT FILE.
3 min
41Когда-то давно видел подобное действо на хабре ( спасибо elfiki за линк habrahabr.ru/blog/la_france/24341.html ), но, недавно, пришлось столкнуться с этим самому. Старое решение мне не понравилось количеством javascript, решил попробовать реализовать, по возможности, с минимальным JS. Пара просмотренных воркэраундов не подошла, так как задать размер в пикселях для input file мне не удалось (если это вообще реально), а даже при фиксированном шрифте в разных браузерах «пиксели», почему-то, «разные» получились. Особенно ИЕ удивил, уместив в DIV размером 400px два дива размером по 200 и еще половину третьего.
в итоге получилось примерно такое решение:
Итого, мое доработанное, может кому пригодится.
в итоге получилось примерно такое решение:
Итого, мое доработанное, может кому пригодится.
+16
40 советов по оптимизации вашего PHP-кода
4 min
56KВсем доброго времени суток.
Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.
Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.
- Если метод может быть статическим, объявляйте его статическим.
- echo быстрее, чем print.
- Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
- Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
- Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
- Остерегайтесь магических методов, таких как __set, __get, __autoload.
- require_once дорого обходится.
- Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
- Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
- Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.
+51
Конвертируем видео для iPod из-под Linux
1 min
867Многие пользователи iPod под Linux рано или поздно сталкиваются с проблемой конвертирования видео под этот замечательный девайс. Стандартных средств для этого нет.
+6
Как сделать RSS иконку любого цвета, используя одну картинку
1 min
4.9KВ этой статье я расскажу вам как сделать RSS иконку любого цвета, используя всего одну картинку.
Идея заключается в том, чтобы использовать -элемент, фоном которого будет картинка в формате .png, а цвет фона элемента будет цветом нашей иконки. Мы возьмем именно png изображение, чтобы воспользоваться свойством сохранения прозрачности этого формата.
+51
Information
- Rating
- Does not participate
- Location
- Таиланд
- Date of birth
- Registered
- Activity