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 — член команды разработчиков.
Читать дальше →

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

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

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

Итак, речь далее пойдет о
семантически корректном методе верстки

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

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

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

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

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

В связи с чем возник вопрос: как настроить почту, чтобы она не уходила за пределы localhost, либо уходила на определённый локальный ящик?
Читать дальше →

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

Reading time5 min
Views11K

Многие из нас собирали компьютер сами, из комплектующих. Дело не сложное, соединить с десяток шлейфов, да завинтить столько же винтиков. Но мало кто сталкивался с самостоятельной сборкой серверов, причем не обычных а в промышленном формате под стойку 19 дюймов. В этом небольшом обзоре я опишу свой опыт сборки такого сервера, постараюсь показать что это не сложно, и остановлюсь на главных моментах, на что нужно смотреть. На написание этого обзора меня толкнуло то, что информации о сборке rack 19’ серверов в рунете очень мало, и приходилось её искать буквально по крупицам.
Читать дальше →

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

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

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

Читать дальше →

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

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

PS
Ждем увеличенной версии иконок на все случаи жизни :-)

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

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

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

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

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

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

Остановимся на каждой из этих групп подробнее.
Читать дальше →

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

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

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →

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

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

Введение


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

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


Читать дальше →

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

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

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

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

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
Читать дальше →

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

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

Читать дальше →

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 );

то это может быть вам полезно.
узнай, как сделать себе жизнь проще

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

Reading time1 min
Views18K
Бывает такое, что система зависает. Или иксы не выходят из свопа, или некий процесс отъел всю память и обработчик клавиатуры не может получить управление, или придётся
Читать дальше →

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

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

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

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

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

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

Читать дальше →

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

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

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

p.s. поиск слова speedup среди изменений не дал положительных результатов :)

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

Reading time17 min
Views29K
Недавно в офисе Хабра я хотел прочитать своим коллегам небольшой доклад об объектной ориентации и наследовании классов в 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): Полезные ссылки

Читать дальше →

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

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

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



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

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

Читать дальше →

Information

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