Pull to refresh
22
0

User

Send message

Google App Engine: достоинства и недостатки

Reading time3 min
Views3.8K
Google App Engine: достоинства и недостатки
Изучив информацию в интернете о Google App Engine, хотел бы высказать собственное мнение по поводу громких споров вокруг этого продукта, а также предоставить общий перечень его ограничений на основе изученных публикаций по данной теме.

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

Это касается как выбора языка Python, так и платформы в целом. Я лично являюсь Python и Django разработчиком уже больше года и могу судить об их преимуществах и недостатках. Python и Django показали себя в качестве отличных средств для создания web-приложений. Использовать их или нет — дело каждого. По моему мнению, Google подобрал и предоставил достаточно средств для полноценной web-разработки. Почему выбран именно Python, я думаю, понятно всем — корпорация имеет широкий опыт работы с данным языком. А также не следует забывать, что Guido van Rossum — член команды разработчиков.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments61

Верстка без float'ов

Reading time2 min
Views8.7K
Существует много разных способов css разметки. Некоторые базируются на абсолютном позиционировании, другие используют float'ы. Первый метод плохо поддерживает «резиновость» макета, тогда как второй это неплохой способ разметки.

Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.

Итак, речь далее пойдет о
семантически корректном методе верстки
Total votes 77: ↑61 and ↓16+45
Comments174

Настройка почты для отладки mail-функций разрабатываемых приложений на Ubuntu

Reading time3 min
Views10K
Здравствуйте!

Недавно купил новый ноутбук (старый стал совсем старый). Установил на него Ubuntu (почему удалил другую ОС, сначала описал, но потом стёр, чтобы не было флейма и холивара).

Для того, чтобы работала отправка почты из PHP и всего остального, нужен MTA. Я пользуюсь Synaptic для установки большинства программ, и в нём Postfix отмечен логотипом Ubuntu (что означает, что он является MTA по умолчанию), поэтому, без долгих раздумий, поставил Postfix. При установке с помощью синаптика вылезает окошко конфигурирования Postfix, я выбрал выриант localhost only.

Когда дошёл до момента тестирования одной функции в PHP приложении, связанной с отправкой почты, случился курьёз. Тестирую с копией живой базы, и, после отправки письма, оно, естественно, было отправлено MTA по назначению, от чего уже отвык под Windows, где использовал Courier Mail Server (кстати, очень маленький и удобный). Конечно, сразу извинился перед человеком, которому ушло письмо.

В связи с чем возник вопрос: как настроить почту, чтобы она не уходила за пределы localhost, либо уходила на определённый локальный ящик?
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments23

Веб сервер за пару вечеров — II

Reading time5 min
Views11K

Многие из нас собирали компьютер сами, из комплектующих. Дело не сложное, соединить с десяток шлейфов, да завинтить столько же винтиков. Но мало кто сталкивался с самостоятельной сборкой серверов, причем не обычных а в промышленном формате под стойку 19 дюймов. В этом небольшом обзоре я опишу свой опыт сборки такого сервера, постараюсь показать что это не сложно, и остановлюсь на главных моментах, на что нужно смотреть. На написание этого обзора меня толкнуло то, что информации о сборке rack 19’ серверов в рунете очень мало, и приходилось её искать буквально по крупицам.
Читать дальше →
Total votes 142: ↑141 and ↓1+140
Comments191

offsetHeight или нечаянный спуск лавины reflow

Reading time5 min
Views12K
В заметке Владимира Токмакова, утверждается:
HTML-элемент в документе может быть скрыт с помощью JavaScript или CSS-свойства display. Логику, заложенную в CSS, воспроизводить в JavaScript сложно и не нужно. Проще запросить offsetHeight объекта (если 0 = элемент скрыт).

Проще-то оно, конечно, проще, вот только какой ценой?

Читать дальше →
Total votes 94: ↑91 and ↓3+88
Comments41

Иконки флагов увеличены

Reading time1 min
Views2.2K
Думаю многие из вас пользуются иконками от фамфамфам. Там есть хорошие иконки флагов всех стран, но все они размера 16х16.
Теже иконки но в три раза большего рамера
Но вот появились увеличенные варианты — 24x24, 32x32, 48x48!
Скачать можно здесь(968 кБ)

PS
Ждем увеличенной версии иконок на все случаи жизни :-)
Total votes 50: ↑48 and ↓2+46
Comments34

Визуализация данных на CSS

Reading time3 min
Views2.7K
Визуализация данных графиков, диаграмм в основном решается с помощью флэш и некоторых языков программирования. Являются ли эти способы единственными? Давайте попробуем реализовать эту задачу с помощью CSS.

Предисловие
В этом примере я не буду использовать ни JavaScript, ни любые другие языки. Все, что мне нужно это хорошая разметка и код CSS.
Таким образом, наша цель состоит в том, чтобы представить данные таблицы в виде диаграммы. Можно отметить, что данные диаграммы – это объект из 2х элементов, непосредственно зависимых друг от друга. Поэтому, лучшим решением в отношении структуры и семантики будет использование списков определений.
Почему? Ну, для начала, это список элементов. Несмотря на то, что список является линейным, мы можем обозначить заголовки определений (элементы dt) как пункты по оси X и описание определений (элементы dd) как значения по оси Y.
Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments20

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

И снова о speed performance вашего сайта

Reading time3 min
Views2K
Уф… наконец-то я решился написать свой первый пост.

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments76

Перевод интерфейсов и текстов в стиле Веб 2.0

Reading time5 min
Views3.6K
Сразу прошу прощения у тех, кому надоели слова Веб 2.0, стартап и прочие ныне модные слова. Это топик не реклама созданного решения, а самая настоящая идея для стартапа (сервиса, проекта, решения).

Введение


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

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


Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments46

Советы и подсказки по bash

Reading time2 min
Views36K
Для непосвященных, bash — командная оболочка по умолчанию во многих Linux-дистрибутивах, включая Fedora, Ubuntu, Redhat и др. Используя операционную систему Linux-семейства, вы, вероятно, используете и bash. По этой причине ниже я собрал несколько часто возникающих проблем с bash и простые способы их решения.

1. Потеря истории команд

Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым. Вдвойне неприятно!

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments23

Руководство по решению любой проблемы с Perl от brian d foy

Reading time6 min
Views1.7K
В своих архивах я обнаружил перевод старого и хорошо известного, но не потерявшего актуальности руководства brian d foy по отладке программ на Perl.

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments24

JavaScript: создание DOM фрагментов

Reading time2 min
Views20K
Если приходилось когда-нибудь писать JavaScript и приходилось в JavaScript’е писать что-то вроде:
var p = document.createElement( «p» );
p.appendChild( document.createTextNode( «Настоящий рыба фиш.» ) );
var div = document.createElement( «div» );
div.setAttribute( 'id', 'new' );
div.appendChild( p );

то это может быть вам полезно.
узнай, как сделать себе жизнь проще
Total votes 41: ↑37 and ↓4+33
Comments64

Как перезагрузить зависшую систему

Reading time1 min
Views17K
Бывает такое, что система зависает. Или иксы не выходят из свопа, или некий процесс отъел всю память и обработчик клавиатуры не может получить управление, или придётся
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments94

Ubuntu отправляется покорять корпоративные серверы

Reading time1 min
Views1.2K
После положительных опытов с настольными открытыми системами на рынках Европы и США, компания Dell, один из крупнейших поставщиков серверов и рабочих станций для корпоративного рынка, заявила, что намерена сертифицировать Ubuntu для линейки своих серверных продуктов в первом квартале следующего года. Теперь заказчики смогут приобретать серверы Dell с предустановленной ОС Ubuntu Server и получать техподдержку от Canonical. Примечательно, что сейчас почти все серверы Dell поставляются с Windows. К весне же 2008 года выбор будет куда больше: Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Solaris и, что приятно, Ubuntu Server.

via LOR
Total votes 30: ↑26 and ↓4+22
Comments63

Отключаем нежелательные HTML-элементы с помощью CSS

Reading time5 min
Views9.8K
Часто, когда мы сдаем проект клиенту, мы теряем контроль над HTML-кодом. Иногда клиент использует CMS (Системы Управления Контентом), которые дают ему полный контроль над теми или иными частями HTML-кода. Иногда клиент просто использует наши темплейты для вывода своего кода в документ.
В большинстве случаев довольно тяжело проинформировать клиента о том, как использовать темплейты или CMS, которые вы ему предоставляете, а иногда просто неприемлемо толкать пламенные речи о семантической верстке и веб-стандартах. Клиент может/будет использовать «старую, добрую разметку», ту, которую он знает, просто потому что она работает и выглядит так как он привык. Скорее всего в ней будут присутствовать нежелательные (deprecated) тэги и атрибуты, такие как bgcolor, align и «вечный» font. Эта статья о том, как блокировать нежелательные HTML-тэги с помощью CSS, тем самым аккуратно направляя клиента в правильном направлении.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments38

Множественные числа

Reading time1 min
Views2.8K
Довольно часто на сайтах встречаются нелепые словесные конструкции, которыми программист обезличено хотел показать какой либо количественный параметр, например:

на сайте 22 человек ( а должно быть 22 человека )
1 комментариев ( понятно, что расчёт шёл на 10+ комментариев, но это не выход )

Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments92

Релиз: Prototype v1.5. И новый официальный сайт.

Reading time1 min
Views1K
Один из самых популярных фрейморков родил релиз версии 1.5. Список изменений очень большой, для интересующихся changelog.

Плюс ко всему теперь проект получил нормальный домен.

p.s. поиск слова speedup среди изменений не дал положительных результатов :)
Total votes 13: ↑12 and ↓1+11
Comments13

Классы, объекты и наследование в JavaScript

Reading time17 min
Views28K
Недавно в офисе Хабра я хотел прочитать своим коллегам небольшой доклад об объектной ориентации и наследовании классов в JavaScript.

Дело в том, что в свое время я был в полном восторге, научившись создавать свои собственные объекты и выстраивать цепочки наследования, и решил, что называется, поделиться с другими своими находками и наблюдениями. (=

Признаюсь, что в процессе подготовки текстов семинара некоторые вещи я открыл для себя заново и был вновь удивлен теми возможностями, которые JavaScript имеет в своем распоряжении, и которые становятся доступными разработчику лишь при пристальном разглядывании и экспериментировании языком.

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

Весь текст подеён на 5 разделов:
  1. ООП в Java Script (1/5): Объекты
  2. ООП в Java Script (2/5): Классы
  3. ООП в Java Script (3/5): Свойства и методы класса
  4. ООП в Java Script (4/5): Наследование классов
  5. ООП в Java Script (5/5): Полезные ссылки

Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments54

Основы масштабирования

Reading time10 min
Views63K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



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

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments49

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered