Search
Write a publication
Pull to refresh
37
0
Транский Андрей @RomAndry

User

Send message

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

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

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

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

Упрощаем регистрацию и вход на сайт

Reading time7 min
Views35K
Представляю вашему вниманию перевод статьи под названием "Innovative Techniques To Simplify Sign-Ups and Log-Ins" от Anthony T. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


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



Форма авторизации на сайте Basecamp

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

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

Ветки в SVN

Reading time4 min
Views29K
Особенностью современной веб разработки является полное отсутствие планирования при создании, поддержке и выкатке проектов. Это приводит к ситуации, что достаточно часто параллельно выполняется несколько разных задач и сроки их выкатки в production никак не соотносятся. А значит традиционный подход с созданием релизов не годится.

На помощь нам приходит механизм создания веток в системах контроля версий, VCS (в нашем случае это Subversion). Ветки это разные варианты одного документа или проекта, с общей историей изменений до точки ветвления и с разными — после неё.
Читать дальше →

Текстовые поля: эргономика и дизайн

Reading time4 min
Views13K
imageОт переводчика. Наверное, каждый пользователь Интернета сталкивался со следующей проблемой: после долгого введения информации в текстовые поля (например, при регистрации на каком-нибудь сайте) система выдает сообщение об ошибке, и все приходится вводить заново. Испытав серьезные затруднения с регистрацией, многие посетители просто-напросто отказываются пользоваться предлагаемыми на сайте сервисами. Для коммерческих веб-проектов это означает еще и потерю прибыли. Как сделать так, чтобы процесс заполнения текстовых форм был максимально простым и удобным? Об этом пойдет речь в статье, написанной специалистами французской компании Usaddict.
Заполнение текстовых полей относится к числу важных и деликатных моментов работы с веб-сайтами. Нередки случаи, когда пользователи отказываются регистрироваться на сайте, потому что не понимают, как именно нужно правильно заполнять формы регистрации. Учет эргономических аспектов данного элемента интерфейса поможет сделать сайт более удобным и привлекательным для пользователей.

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

Стоит ли нам использовать повествовательные веб-формы?

Reading time7 min
Views2.5K
Представляю вашему вниманию перевод статьи под названием "Should We Use Mad Libs Style Form?" от Cynthia Savard Saucier. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Yu Centrik.


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

Однако недавно мы увидели, как появляется новый тип форм. Восхваленные юзабилити экспертом Яредом Спулом и гуру дизайна форм Люком Вроблевски, повествовательные формы (в оригинале Mad Libs) стали очень популярными. Давайте разберемся, что же это такое.

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

Как привлечь пользователей в ваш стартап

Reading time6 min
Views1.4K
Наиболее частый вопрос, который я слышу от молодых предпринимателей — «Как я заполучил пользователей?»

И вот как я это делаю.

Обо мне

(испытываешь странное чувство от описания себя, но в случае если вы читаете это и удивляетесь, кто же этот парень… на самом деле я всего лишь пытаюсь помочь).

Я сделал блог с 5 миллионами читателей, рекламную биржу которая охватывает больше людей чем Facebook, написал книгу которая была 12-ой на Amazon и сделал еще кучу всяких разных странных вещей, которые популярны и приносят деньги. Я создал новую растущую компанию социальных покупок. Я ангел-инвестор и советник в дюжине разных компаний и одном университете. Я присутствую на нескольких журнальных обложках и тут (оцените количество просмотров и комментарии людей, которые желали бы чтобы их «папочка был так же крут» как я).
Читать дальше →

Сколько дают денег стартапам?

Reading time3 min
Views14K
300 — 350 миллионов долларов были инвестированы в стартапы в России в 2010 году (по оценке президента группы Qiwi Андрея Романенко). 
Какие именно проекты интересуют инвесторов? На сайте startuppoint.ru собраны проекты, которые получили инвестиции. 
  • Actio.tv — решение для создания интерактивного видео.  Инвестор — президент группы компаний ХедХантер Юрий Вировец, $ 100 000 за 3%. 
  • b-152.ru — решение для подготовки документации по защите персональных данных. Инвестор Олег Михальский. Сумма сделки не разглашается. 
  • EasyFinanсe — онлайн-сервис для ведения домашней бухгалтерии. Инвестор Addventure. Сумма сделки не разглашается.
  • Futuruti — социальный тотализатор. ИД С-Медиа. Сумма сделки не разглашается.
  • InSales — платформа для создания Интернет-магазинов. Инвестор — фонд AddVenture, $ 50 000.
  • Loginza — сервис аутентификации через учетные записи распространенных сайтов. Инвестор Яндекс. Сумма сделки $ 150 000.
  • Toozla — мобильные аудио путеводители. Инвестор TwinsInvestments. Сумма сделки $ 500 000.
  • Turometr — туристический социальный сервис. Инвестор TwinsInvestments. Сумма сделки $ 500 000.
  • Yaya — интернет-газета бесплатных объвлений. Инвестор Экстра-М. Сумма сделки не разглашается.
  • ВебВизор — инструмент для исследования юзабилити сайта. Инвестор Яндекс. Сумма сделки $ 500 000.
  • Дал Слово — социальный сервис контроля обещаний чиновников. Инвестор — Леонид Волков. Сумма сделки не разглашается.
  • Минибанда.ру — социальная сеть для родителей. Инвестор Addventure. Сумма сделки $ 50 000.
  • Таймлайнер — инструмент для организации клиентопотока. Частный инвестор — Леонид Волков. не разглашается.
  • Пробки из окна — веб-камеры он-лайн с видом на дороги. Частный инвестор. Сумма сделки $ 100 000. 


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

Инвесторы — естественные враги стартапов

Reading time7 min
Views3.6K
В живой природе естественное равновесие поддерживают хищники. В среде стартапов такими хищниками являются венчурные инвесторы (бизнес-ангелы, венчурные фонды и пр.). Они ограничивают размер популяции и оздоравливают её, поедая слабых и больных (понятно, что в большинстве случаев у «слабых и больных» на этот процесс есть своя точка зрения, но факты — упрямая вещь).

Я вот уже два года пытаюсь поднять собственный стартап, за это время встречался и разговаривал с десятками потенциальных инвесторов, поэтому надеюсь, что моё видение проблемы взаимоотношений инвесторов и основателей стартапов может кому-то оказаться полезным. Понятно, что многие живущие в этом мире стартаперы знают обо всём этом не меньше (а то и гораздо больше) меня, но начинающим или потенциальным бизнесменам от высоких технологий, надеюсь, моё (исключительно субъективное) мнение поможет реальнее смотреть на вещи.
Читать дальше →

NetPing: конструктор для администратора и досуг для программиста

Reading time10 min
Views65K


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

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

Речь пойдет про устройства NetPing. Эта российская разработка периодически упоминается на хабре, но детального рассказа я не встречал. Пусть эта статья будет продолжением серии «Оборудование российского производства». Мне достался самый универсальный прибор линейки – UniPing RS-232. Основная сфера его применения – удаленный мониторинг и управление множеством устройств в квартире, доме, офисе. Конечно, давно существует понятие «умный дом», но, как правило, это преподносится как вариант для состоятельных людей, хотя получают они черный ящик с жестко заданным, пусть и большим, набором функций. Однако, можно ведь все собрать и запрограммировать самому!

Интересно?

Уникальный продукт — преимущество или недостаток для стартапа?

Reading time4 min
Views4.2K
Есть два основных пути в мире бизнеса: создать что-то новое и уникальное или скопировать (а если получится — и превзойти) чужой успех. Если бы вы начинали бизнес — какой путь вы бы выбрали? Что-то мне подсказывает, что большинство потенциальных стартаперов — вполне себе романтики, и копирование чужих идей их не очень-то привлекает. Тем более, что и своих оригинальных идей — полна голова, аж крышу сносит, правда?

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

Дневник репатриантов: как мы подняли 1 млн. $ инвестиций за шесть недель (и отдали менее 15%)

Reading time5 min
Views4.3K
На UpStartConf – секции о рынке инвестиций и стартапов в рамках РИФа-2011 основатели Островок.ру рассказывали о том, как привлечь в Рунет мировых инвесторов.

Эксперты, инвесторы и IT-предприниматели Рунета сошлись в едином мнении, что на российском интернет-рынке нет публичных кейсов стартапов, нет обучения для начинающих веб-предпринимателей, что неблаготворно влияет на рынок. В этом посте репатрианты Кирилл Махаринский и Сергей Фаге презентуют кейс по привлечению инвестиций на примере проекта Островок.ру
Читать дальше →

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

Reading time4 min
Views54K
Данную статью я хочу посвятить одному интересному нововведению в PHP 5.2 (с версии 5.3 входит в стандартную поставку PHP) — PHAR.
image
PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
PHAR ползволяет упаковать много файлов в один, в результате чего Ваше приложение может работать с целой библиотекой, как с одним файлом.
PHAR умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.
Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, тоесть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper.
Читать дальше →

Мини-фреймворк своими руками

Reading time11 min
Views13K
Недавно, прочитав про мини-фреймворк Silex, я подумал: а что в нем сложного? Попробовал написать нечто подобное и получилось довольно легко.
How-to по написанию своего мини-фреймворка - под катом.

Полнотекстовый поиск и его возможности

Reading time6 min
Views207K
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

В отличие от оператора LIKE, такой тип поиска предусматривает создание соответствующего полнотекстового индекса, который представляет собой своеобразный словарь упоминаний слов в полях. Под словом обычно понимается совокупность из не менее 3-х не пробельных символов (но это может быть изменено). В зависимости от данных словаря может быть вычислена релевантность – сравнительная мера соответствия запроса найденной информации.

В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.

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

Магия JavaScript: arguments

Reading time3 min
Views68K
arguments — очень специфическая штука, о которой новички и даже любители знают только то, что это «вроде массив, но какой-то неправильный». На самом деле, у него есть ряд интересных особенностей. Предлагаю в топике пофантазировать на тему TypeHinting, аргументов по-умолчанию и всякого другого.
(function (foo, bar) {
	console.log(typeof arguments); // ?
	
	arguments[0] = 42;
	console.log(foo); // ?
})(10, 20);


А также покажу интересную идею-библиотеку
function test (foo, bar) {
    Args(arguments).defaults(100, 100);

    return [foo, bar];
};

test(      ); // 100, 100
test(15    ); //  15, 100
test(21, 42); //  21,  42

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

Кроссбраузерные аксессоры в JavaScript

Reading time4 min
Views6.9K

В своём фреймворке AtomJS я активно использую аксессоры — геттеры и сеттеры:

Foo = atom.Class({
    get bar () {
        return this._bar;
    },
    set bar (bar) {
        this._bar = bar;
    }
});


Я уже описывал теорию, но в топике я расскажу о том, как заставить их работать во всех современных браузерах, а именно — как разрулить ситацию с тем, что Internet Explorer 9 ничего не знает о __defineSetter__ и подобных методах.

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

DevPoint: Selenium в тестировании веб-приложений

Reading time7 min
Views46K
Что делать когда:
  • Достался хард-кодный проект непокрытый тестами;
  • код желает лучшего, а времени на рефакторинг нет;
  • внесение правок в одном месте нарушает работу логики в другом;
  • для покрытия *Unit тестами, проще переписать проект;
  • бизнес логика размыта по коду и даже по шаблонам.

Забить и оправдываться, что такой код не должен жить?

С такими ситуациями очень часто сталкивался и меня это не устраивало. При поиске подходящего метода/инструмента тестирования я наткнулся на Selenium. И применяю его уже более 3-х лет.

В Киеве 9-го апреля прошла конференция DevPoint, посвященная web — разработке. Организатором данного мероприятия была компания Uniweb. В рамках ее, решил поделиться впечатлением про Selenium.
Читать дальше →

TripCatcher — путешествовать теперь проще

Reading time3 min
Views762
Думаю чувство неуверенности и некой неопределенности перед путешествием знакомо многим из нас. А с мучительным поиском нужной информации и составлением маршрута предстоящей поездки сталкивался почти каждый. Вот и мне не раз приходилось испытывать похожие чувства. Нужно было ответить на множество вопросов: где жить, как лучше передвигаться, где провести время и что посмотреть. Но самое интересное, что после ответа на все вопросы и, находясь уже где-то далеко, мне хотелось легко и просто делиться с друзьями впечатлениями от каждого дня путешествия. Найти удобный сервис, сочетающий в себе все вышеперечисленные функции, мне не удавалось. Так родилась идея создания платформы, включающей в себя все, что нужно для путешествий…
Читать дальше →

MySQL сможет работать как NoSQL сервер

Reading time1 min
Views3.2K
В экспериментальной версии (5.6.2) Oracle mysql появился плагин, позволяющий обращаться к innodb или ndb (mysql cluster) данным через memcached интерфейс. Оставляя возможность доступа к тем же данным через sql интерфейс.

Описание здесь:
Сообщение Оракла
http://blogs.innodb.com/wp/2011/04/nosql-to-innodb-with-memcached/

Код:
http://labs.mysql.com/

Создаем робота в домашних условиях

Reading time8 min
Views204K

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

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

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Date of birth
Registered
Activity