Pull to refresh
6
0
Антон Филатов @fannt

User

Send message

Разработка сайта — от первой встречи с заказчиком до сдачи проекта, или как быть фрилансером и выжить

Reading time12 min
Views73K
Привет, Хабр!

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

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

Я попробую описать весь процесс создания сайта с собственной и, как мне кажется, более приближенной к жизни для большинства точки зрения. Просто в один момент я решил уйти из компании, где я работал по найму, и начать делать своё дело — без стартового капитала, офиса и какого бы то ни было прикрытия «пятой точки»; разве что отсутствия острой необходимости в съеме жилья и наличия питерской прописки.

Кому интересно — добро пожаловать под кат!
Читать дальше →
Total votes 89: ↑78 and ↓11+67
Comments64

Креативные сайты с нестандартными элементами

Reading time3 min
Views63K
Последнее время все чаще можно встретить сайты с необычным дизайном и функциональностью, увидев которые, можно залипнуть на некоторое время. Увидев такие, у меня рука непроизвольно тянется к f12, чтобы открыть firebug и посмотреть, как же реализован тот или иной компонент. Таким образом можно открыть для себя интересные техники и в будущем реализовать их на своих проектах. Некоторые из них стали доступны с приходом новых технологий, например таких, как CSS 3 — то, что раньше было реализовано на флеше, теперь можно воплотить с помощью строк кода в таблице стилей. Дизайнеры тоже не теряют времени, создавая новые тренды и все плотнее взаимодействуя с верстальщиками. В этой статье я хотел бы показать 15 сайтов, которые так или иначе удивили и порадовали меня. Возможно, кого-то они вдохновят на собственный шедевр



Читать дальше →
Total votes 105: ↑94 and ↓11+83
Comments41

Фильтр Калмана — Введение

Reading time5 min
Views263K
Фильтр Калмана — это, наверное, самый популярный алгоритм фильтрации, используемый во многих областях науки и техники. Благодаря своей простоте и эффективности его можно встретить в GPS-приемниках, обработчиках показаний датчиков, при реализации систем управления и т.д.

Про фильтр Калмана в интернете есть очень много статей и книг (в основном на английском), но у этих статей довольно большой порог вхождения, остается много туманных мест, хотя на самом деле это очень ясный и прозрачный алгоритм. Я попробую рассказать о нем простым языком, с постепенным нарастанием сложности.
Читать дальше →
Total votes 157: ↑151 and ↓6+145
Comments50

Разработка WEB-проекта на Node.JS: Часть 1

Reading time12 min
Views80K
Прошла неделя с момента пиара на хабре моего проекта «Что делать?». Я напомню, что этот проект начинался, как эксперимент по разработке среднестатистического WEB-проекта целиком на JavaScript (Node.JS). Сейчас я хочу поделиться с сообществом результатами этого эксперимента, полученным полезным опытом, а также подробной картой с отмеченными на ней граблями.

Эпизод 1: начало пути


Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments120

Магистратура за рубежом: как поступить и получить стипендию?

Reading time4 min
Views209K
Об авторе: выпускник НИУ-ВШЭ, в настоящее время работает над проектом по Semantic Web в Институте им. Лейбница и учится в университете Мангейма, Германия по последипломной стипендии DAAD

Данная статья – это своеобразный FAQ (пригоден и для «неайтишников»), который содержит ответы на основные вопросы по поводу поступления за рубеж и получения стипендии, предполагающий сильное желание, но ограниченное количество финансовых ресурсов у студента. Основная цель – правильно направить способных заинтересованных людей. Представленная информация касается, прежде всего, магистратуры (MA/MSc), однако многое, с некоторыми оговорками, также применимо и для аспирантуры (PhD). Итак:
Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments29

Ускоряем проверку ваших iOS/Mac приложений в iTunesConnect с недели до одного дня

Reading time3 min
Views42K

Проверка приложения, отправленного разработчиком на рассмотрение Apple Review Team в iTunesConnect в среднем занимает около недели, а если вам «повезло» и вы отправили ваше приложение около выходных или праздников, то процесс проверки и появление заветного «In Review» может затянуться на гораздо больший срок.
В данный статье я хочу описать два способа ускорения проверки iOS и Mac приложений в AppStore, работающих на сегодняшний день. Оба способа являются бесплатными.
Читать дальше →
Total votes 78: ↑67 and ↓11+56
Comments42

Шпаргалки для тех, кто делает первые шаги

Reading time1 min
Views31K


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

Шпаргалка по электронным компонентам (PDF, 168Kb)
Шпаргалка по контроллерам AVR (ч.1) (PDF, 61Kb)
Шпаргалка по контроллерам AVR (ч.2) (PDF, 61Kb)

PS: Там же, на сайте, имеется любопытный блог с описанием эффектных электронных поделок. Культура исполнения на высоте, приведены ссылки на open source прошивки.
Total votes 135: ↑130 and ↓5+125
Comments42

Yii и мультиязычный сайт. Правильные URL и гибкость в работе

Reading time5 min
Views40K

При написании одного проекта, возникла необходимость в организации мультиязычности на сайте. Причем количество языков не должно ограничиваться двумя и URL должны быть человеко-понятные и SEO оптимизированные. Тоесть ссылки на сайте должны быть вида:
http://mysupersite.ru/ru/contacts для русского языка
http://mysupersite.ru/en/contacts для английского языка
Так как опыт у меня не очень большой, я начал вопрошать гугл. Вариантов, как оказалось, достаточно много, однако из всех мне приглянулся один вариант, который я использовал и слегка модифицировал.
Итак, как сделать сайт мультиязычным...
Total votes 35: ↑29 and ↓6+23
Comments67

Morris.js: средство рисования красивых графиков при помощи jQuery и Raphaël

Reading time2 min
Views19K
В позавчерашнем выпуске «Mozilla Hacks Weekly» увидал гиперссылку «Morris.js», пошёл по ней, почитал, порадовался — а теперь и вам поведаю.

Morris — это легковесный джаваскрипт (всего-то 3052 байта после миниатюризации) с открытым исходным кодом (распространяемым по упрощённой лицензии BSD), который для работы требует jQuery и Raphaël и строит с их помощью графики на простой сетке горизонтальных линий, наподобие такого:

[график]

По оси абсцисс откладывается время, по оси ординат — какие-нибудь зависящие от времени значения. (Morris изначально разрабатывался для сайта, показывающего общее число автомашин той или иной марки в Великобритании, так что для него естественно, что ось абсцисс — это ось времени.)

Графики реагируют на мышь: вспучиваются точки, соответствующие указанному мышью моменту во времени, и подле них появляются подсказки.

Достоинство скрипта — простота API. Приведённый мною пример создаётся вот таким вызовом:

// поквартальные данные, тонкие линии, цвета их заданы в явном виде
Morris.Line({
  element: 'quarterly',
  data: [
    {q: '2009 Q3', a: 100, b: 75},
    {q: '2010 Q2', a: 75, b: 50},
    {q: '2010 Q3', a: 75, b: 50},
    {q: '2011 Q1', a: 50, b: 25},
    {q: '2011 Q3', a: 50, b: 25},
    {q: '2011 Q4', a: 75, b: 50},
    {q: '2012 Q2', a: 100, b: 75}
  ],
  xkey: 'q',
  ykeys: ['a', 'b'],
  labels: ['Series A', 'Series B'],
  lineColors: ['#167f39','#044c29'],
  lineWidth: 2
});

Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments20

Техническое задание на сайт

Reading time11 min
Views698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

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

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Total votes 212: ↑209 and ↓3+206
Comments141

Самый большой в мире класс по изучению jQuery

Reading time2 min
Views4.9K
Доброго времени суток!

Не так давно я опубликовал статью о наборе учеников для ознакомления с прекрасным скринкастом под названием Learn jQuery in 30 Days, который недавно удачно преодолел отметку в 40000 учеников.
Если вы по какой-либо причине (например, отсутствие свободного времени) не смогли ознакомиться со скринкастом, то не стоит волноваться, так как после того, как будет опубликован последний урок, курс продолжит своё существование и вы сможете начать обучение в удобное для вас время.
На данный момент количество учеников составляет 41358 человек. Спешите к ним присоединиться. Чтобы сделать это, вам необходимо оставить адрес своей электронной почты на странице курса Learn jQuery in 30 Days.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments39

Руководство Apple «Как стать разработчиком под iOS»

Reading time1 min
Views38K
Компания Apple приглашает новичков начать разработку своих приложений под iOS, и в помощь опубликовала руководство "Start Developing iOS Apps Today", где указаны все необходимые действия на каждом этапе, даются советы по выбору языка программирования, дизайну интерфейса приложения и максимизации прибыли в App Store.



Руководство очень лаконичное, всего несколько строчек на каждой странице, но содержит все необходимые ссылки для более подробного изучения темы. Очевидно, оно предназначено для тех, кто ещё никогда не программировал под iOS.
Total votes 89: ↑76 and ↓13+63
Comments49

Динамический перевод страницы на другой язык

Reading time11 min
Views14K
Привет, Хабр.

Сегодня я расскажу о своих достижениях в области моментального изменения страницы — динамической смене языка. Эта штука понадобилась мне совершенно недавно, а так как сторонним реализациям я не доверяю (даже как-то и не нашёл их), то пришлось написать свою. За время её использования (где-то около полугода) я исправил все самые заметные баги (но это не означает, что их там больше не осталось :) ), и теперь представляю рабочую версию.

Кто-то скажет, что осуществлять перевод на клиенте нецелесообразно, но у меня получилось как раз такая ситуация, что по-другому никак нельзя: для серверного перевода приходится принудительно закрывать веб-приложения на странице, чтобы не потерять данные; в случае же с динамическим изменением языка, просто заменятся тексты на элементах и работа продолжается. Думаю, не меня одного раздражало «Настройки будут применены при перезагрузке». Моя реализация хоть и сложновата, но решает эту проблему.

Для того чтобы не путаться, я определю для данной статьи следующий перечень терминов:
Словарь — хранилище ключей, по которым осуществляется доступ к локализации на данном языке. По сути дела представляет собой обычный JavaScript-объект, где свойства — ключи доступа, а их значения — переведенные строки.
Хэш — объект, который является результатом упорядоченного слияния словарей; общий словарь, из которого впоследствии ведётся выборка перевода.

Теперь более детально.
Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments27

Равномерное выравнивание блоков по ширине

Reading time4 min
Views19K
Продолжая свои «css-раскопки» возникла новая идея, разобрать по косточкам ещё одну актуальную тему, которая касается равномерного выравнивания блоков по ширине. В принципе мои доскональные исследования я уже запостил у себя в блоге, но так как прошлая моя работа очень понравились Хабра-сообществу, то я решил сделать здесь небольшой краткий обзорчик этой статьи, чтобы ни одна хабра-душа не пропустили её наверняка. Так что, как говорил Гагарин: «Поехали».

В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
image
Читать дальше →
Total votes 172: ↑163 and ↓9+154
Comments87

«HTML5 — будущее игровой индустрии». Интервью с создателями фрейморка Construct

Reading time6 min
Views7.9K
Том Галлен и Эшли Галлен — братья, основатели компании Scirra и создатели фреймворка Construct, с помощью которого создать игру может любой желающий, даже без знания программирования. Construct Classic распространяется бесплатно с открытыми исходниками и предназначен для создания DirectX-игр (есть SDK и поддержкой плагинов на C++). На его основе сделан условно-бесплатный Construct 2 для HTML5-игр, где в качестве движка используется Box2D. Описание см. в статье «Разработка 2D игр под Windows и HTML5 без программирования».

Основатели компании Scirra заметили интерес аудитории Хабра к своей разработке и с готовностью ответили на вопросы хабражителей. Оригинал интервью на англ. лежит здесь на всякий случай.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments19

Лекториум записал почти тысячу лекций за год

Reading time4 min
Views57K
Дорогой Хабр!



У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Total votes 340: ↑333 and ↓7+326
Comments183

Знакомство с мнемоникой

Reading time6 min
Views99K
Введение

Доброго времени суток! Сразу оговорюсь, что цель этой статьи — познакомить и, возможно, заинтересовать вас такой штукой, как мнемоника. Мнемоника — наука о запоминании. То бишь совокупность способов и уловок, которые помогут вам запомнить большие объёмы информации в правильной последовательности (Например, 100 случайных слов (чисел) можно запомнить последовательно с интервалом в среднем в 6 секунд). Некоторые умудряются запомнить несколько тысяч цифр после числа Пи. Так же мнемотехника помогает в освоении иностранного языка ). Но нам пока рано об этом думать. Вы спросите:«Зачем мне ета ваша мнемоника?». Я отвечу: вы можете использовать её не только как хобби (от простого облегчения жизни, до того, что можете удивлять друзей, предложив с ними поочерёдно запомнить N информации поочерёдно), но и участвовать в соревнованиях (да-да, есть соревнования по запоминанию, где участвуют не прирождённые гении, а люди, натренировавшие себе память).
Читать дальше →
Total votes 214: ↑193 and ↓21+172
Comments70

Визуализация аудио в HTML5

Reading time7 min
Views20K
Наше практическое погружение описывает необычный сценарий — мы будем говорить не о том, что может HTML5, а о тех возможностях, которые на сегодня он еще не предоставляет и как эту неувязку можно обходить на практике.



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

Визуализация аудио, точнее принципиальный низкоуровневый доступ к аудио-информации, находится где-то между черновыми набросками и заметками на будущее.
Читать дальше →
Total votes 113: ↑110 and ↓3+107
Comments29

Введение в SuperCollider

Reading time3 min
Views7.3K
В этой небольшой статье вкратце расскажу о том, что такое SuperCollider и продемонстрирую примеры его использования. SuperCollider — это open-source кроссплотформенное клиент-серверное приложение, среда разработки и язык программирования для аудиосинтеза в реальном (и не только) времени. Первый релиз увидел свет в 1996 году под авторством James McCartney, это был open-source продолжение его предыдущих изысканий в программном аудиосинтезе. Со временем к проекту присоединилось еще несколько человек.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments25

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity