Pull to refresh
0
0.1
Антон @fr_ant

Software engineer

Send message

Аутентификация в rails-приложениях с помощью facebook, vkontakte

Reading time7 min
Views39K

Аутентификация в rails-приложениях через facebook, vkontakte



В данной статье будет рассказано, как сделать простейшую аутентификацию в rails-приложении через социальные сети vkontakte и facebook, помогают в этом гемы omniauth, omniauth-facebook, omniauth-vkontakte. Материал рассчитан на новичка. Хоть это и будет учебное приложение, но для придания законченности используем bootstrap с помощью гема twitter-bootstrap-rails.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments33

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

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

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

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

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

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

PHP: фрактал плохого дизайна

Reading time32 min
Views205K

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →
Total votes 450: ↑392 and ↓58+334
Comments538

Искусство публичных выступлений

Reading time9 min
Views106K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

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

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →
Total votes 235: ↑223 and ↓12+211
Comments59

PHP. Собеседование в вопросах и ответах

Reading time1 min
Views84K
imageНекто Андрей Шевченко составил, структурировал и выпустил в виде бесплатной PDF книги список вопросов, которые всенепрменнно могут встретится(и чаще всего встречаются) любому PHP программисту на самом стандартном собеседовании. Более того — каждый вопрос снабжен достаточно подробным ответом.

Читать дальше →
Total votes 118: ↑75 and ↓43+32
Comments432

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments91

Ремарт: как я создавал свой бизнес

Reading time5 min
Views2.9K

Часть I. Идея и инвесторы



Началось все с мебели. Листая один популярный журнал, я заметил статью с описанием интересного бизнеса. Там американская компания производила и устанавливала скрытые проходы. Это что-то вроде того, что можно увидеть в фильме о приключениях Бэтмена. Я до этого случая видел что-то подобное только в фильмах, мол, расставляешь шахматные фигуры на поле с электроникой внутри, и если правильно их расставить – то дверь откроется. Удивительное дело, вот мне и запомнилась эта статья.
Через пару месяцев жизненные обстоятельства сложились таким образом, что передо мной стал вопрос, как организовать собственное дело.
Дальше - больше.
Total votes 72: ↑63 and ↓9+54
Comments36

Как должно выглядеть идеальное персонализированное письмо

Reading time1 min
Views17K
Первоапрельский анекдот рассказывает компания UniSender:

Дорогой мистер Джонс,

Мы заметили, что Вы давно не покупали никаких презервативов в SpiffyMart (последний раз это было 8 недель назад).

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

Из этого ясно, что миссис Сандерс покинула Вас.

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

База данных почтового отделения подтверждает, что она сменила свой адрес.

Примите наши соболезнования. Мы полагаем, что горяченькое порно-видео поможет Вам пережить этот стресс. Если Вы чувствуете себя одиноким – просмотрите наш каталог.

Купите DVD не откладывая и мы добавим один диск бесплатно!

Искренне Ваш,
Менеджер по сбыту.

P.S. Помните ту блондинку, которую Вы угощали в прошлую субботу двойным мартини в баре O`Dougles? Забудьте о ней! Она уже много месяцев чем-то инфицирована и является постоянным клиентом аптеки Acme Pharmacy. (Ее домашний компьютер в одной сети с нашим). И неизвестно, что можно от нее подцепить. А наши видеокассеты совершенно безопасны.

Читать дальше →
Total votes 192: ↑130 and ↓62+68
Comments47

Дорабатывать или переписывать

Reading time3 min
Views17K
Основная мысль этой статьи: переписывайте с нуля работающий и внедренный проект только под дулом пистолета.

Если вы так не считаете, приглашаю прочитать мои скромные доводы на эту тему.
Total votes 184: ↑151 and ↓33+118
Comments182

Советы себе в прошлом

Reading time4 min
Views23K
У меня очень мало опыта (суммарно программистом я проработал 16 месяцев), тем не менее, я хотел бы дать несколько советов себе-в-прошлом, ну, или иными словами всем тем, кто сейчас учится в университете и планирует стать разработчиком ПО. Ни в коей мере не претендую на мудрость или опытность. Немного подумав, я понял, что все эти советы как никогда актуальны для меня и сегодня тоже. Первую заметку я опубликовал в своем блоге в прошлом году, а сейчас публикую здесь список, расширенный советами читателей блога.

Все советы автономны и их порядок не имеет значения.
Читать дальше →
Total votes 219: ↑193 and ↓26+167
Comments311

Заготовка для сайта (Kohana+Bootstrap+HTML5)

Reading time4 min
Views29K
Рассмотрим заготовку для сайтов, обладающую хорошими возможностями для дальнейшего расширения. Будут указаны её основные особенности, и подробно описан процесс установки.
Если представленная заготовка окажется полезной большинству пользователей, о чем они не преминут указать в комментариях, тогда, скорее всего, отдельные её модули и особенности будут рассмотрены в дальнейшем.
Некоторые функции, код и отображение данных используются больше в показательных целях, чем для практического применения в рамках создания рабочего сайта.
В представленном виде заготовку уже можно применять для создания простых сайтов, но с неплохими возможностями для расширения.
Читать дальше →
Total votes 36: ↑24 and ↓12+12
Comments10

Кто, Зачем и Как ищет стартапы

Reading time3 min
Views15K
Рассмотрим основные сценарии поиска стартапов игроками венчурного рынка в Рунете.
Кто ищет стартапы: инвесторы, менторы, бизнес-инкубаторы, корпорации, консультанты и даже стартапы ищут стартапы.

Как искали раньше? (на примере инвесторов)

1. Создать входящий поток проектов, т.е. чтобы стартапы сами приходили к инвестору. Для этого нужно много рекламировать себя, выступая спонсором конференций, публикуя новости венчурного рынка, рассказывая стартаперам как делать стартапы, показывая как много денег у тебя есть.
Самый яркий пример успешного создания входящего потока — Farminers. Они за 6 месяцев собрали около 2 тысяч проектов.
2. Создать исходящий поток проектов, т.е. самому находить стартапы и приглашать их на встречу. Для этого нужно мониторить новости о стартапах, раздел «Я пиарюсь» на Хабре, каталоги стартапов, конкурсы, обязательно ходить на мероприятия, где презентуются стартапы. Это может сделать любой инвестор, но ему придется посвятить этому много месяцев работы.
3. Работать по рекомендациям. Когда у тебя появилось имя на рынке, другие инвесторы могут присылать тебе интересные стартапы с предложением соинвестировать. Нет имени? Нет рекомендаций.

Кстати, когда большой поток проектов создан, возникает следующая еще более «интересная» задача — отфильтровать поток проектов и выбрать лучшие. Об этом мы подробнее расскажем в следующий раз ;)

Теперь месяцы работы можно сократить до пары часов «прицельного» поиска на StartupPoint.ru.

Рассмотрим, кто и зачем ищет стартапы.
Читать дальше →
Total votes 42: ↑30 and ↓12+18
Comments17

Сначала «скелет», а потом «мясо», или почему неуспешны стартапы

Reading time3 min
Views5.2K
Сначала «скелет», а потом «мясо».
Сначала процесс, а потом инструмент под процесс.
Автоматизация хаоса дает хаос.

Это все — разные формулировки одной простой идеи. Идея, которая часто не учитывается во множестве вещей.

Для примера рассмотрим стартапы. Обычно бывает как. Возникает у человека идея, что определенный процесс будет интересен группе людей. И человек создает стартап, сайт, где эти люди должны будут использовать сайт как инструмент для процесса.

Не учитываются следующие моменты
1. Сам процесс может существовать только в воображении создателя стартапа. К примеру, процесс аггрегации результатов матчей ЦСКА вовсе может быть не нужен фанатам этого футбольного клуба, как бы себе это не представлял стартапер. Поэтому важно быть в самом процессе, понимать, какой процесс — реален, а какой нет.
Читать дальше →
Total votes 57: ↑42 and ↓15+27
Comments43

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

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

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

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

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

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


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

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



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

Золотые правила успешной кнопки

Reading time3 min
Views71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →
Total votes 224: ↑215 and ↓9+206
Comments55

Зачем платить больше? Веб-студии, уменьшаем налоги с 34% до 20%

Reading time1 min
Views15K
Возможно, моя заметка для многих будет всем известной истиной, но для меня, как и для многих моих знакомых, это оказалось приятной новостью. Поскольку область нашей деятельности – веб-разработка, мое обращение именно к представителям этого сегмента. Хотя все, о чем пойдет речь ниже, будет относиться ко всем компаниям, которые занимаются разработкой ПО.
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments36

Делаем приватный монитор из старого LCD монитора

Reading time2 min
Views974K


Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.

Всё что Вам нужно – это пара старых очков, нож для бумаги и растворитель для краски.

Читать дальше →
Total votes 1486: ↑1468 and ↓18+1450
Comments327

Спасти проект: самые важные вопросы

Reading time4 min
Views5.9K
Так уж получилось, что последние пару лет я много работаю с кризисными проектами. Это проекты, в которых деньги потрачены, цели не достигнуты, все сроки много раз нарушены, менеджера уволили или он сам в ужасе сбежал, а уровень мотивации команды – ниже некуда. В общем, материализовавшийся fuck up. К сожалению, большинство таких проектов нельзя просто закрыть – все они важны для заказчика.
Читать дальше →
Total votes 73: ↑66 and ↓7+59
Comments48

Как должна работать компания по web-программированию

Reading time7 min
Views16K
imageИстория этой статьи началась лет как минимум семь назад когда поработав в одной немецкой web-компании я перешла под крылышко крупного конечного заказчика и начала работать удаленно.

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

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

И вот тогда в конечном итоге решилась эти само собой разумеющиеся, очевидные для меня вещи оформить в такой себе «манифест» (хе-хе), концепцию, описание и список того, без чего, имхо, работать компании не стоит. Уточню, что речь пойдет не о работе с клиентом, не о менеджменте как таковом, не о деньгах и бизнес-планах, а об организации работы небольшой фирмы разработчиков под веб (и, возможно, не только под веб), о том, что надо делать, чем важно заниматься чтобы работать успешно и развиваться.
Читать дальше →
Total votes 88: ↑72 and ↓16+56
Comments60

Information

Rating
2,769-th
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity