Search
Write a publication
Pull to refresh
3
0
Александр Тимофеев @ATimofeev

User

Send message

Как правильно считать чужие деньги

Reading time3 min
Views2.4K
Для рельс уже написан миллион и один туториал про то, что делать, если вдруг приходится писать приложение, которое работает с деньгами.

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

А сталкивались ли вы с ситуацией, когда, скажем, приложение должно обслуживать жителей более чем одной страны?

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

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

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

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

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

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

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

RVM — подробно

Reading time4 min
Views98K

RVM — Ruby Version Manager
Программа для управления версиями Ruby.

Как быть если один проект использует Ruby 1.8.7, а другой 1.9.2? А что если при этом у вас 2 проекта под версией 1.9.2, но с разными наборами гемов? Хотелось бы вам иметь отдельные наборы gem's для каждого проекта?

Основные задачи:
1. Физическое разделение версий ruby и наборов гемсетов
2. Возможность иметь несколько версий ruby и переключаться между ними
3. Возможность для каждой версии ruby иметь несколько gemsets — наборов gem's и переключаться между ними

Под катом будут описаны:
1. Установка RVM
2. Работа с разными версиями Ruby
3. Работа с gemsets
4. Задание окружения под отдельный проект с помощью .rvmrc
5. Команды RVM которые могут оказаться полезными
6. Шпаргалка по основным командам RVM

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

Как приучить себя к чему-либо

Reading time2 min
Views8K

О чем речь?


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

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

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

Отказ от регистрации

Reading time3 min
Views3.4K
Большинство разумных веб-разработчиков уже давно знают, что принудительная регистрация — зло. Но некоторые до сих пор без лишней необходимости закрывают контент от пользователей или не дают им купить товар до тех пор, пока они не зарегистрируются. Такой подход оправдан в случае платных услуг или сервисов вроде РуТрекера. Но в большинстве своём является для ресурса крайне вредным или даже губительным.

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

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

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

Локализация html-страницы средствами CSS

Reading time3 min
Views9.3K
Люди по-разному относятся к CSS. Кто-то ворчит, что раньше и таблицы были зеленее, кто-то горячится, мол, дайте мне ваши таблицы, уж я их озеленю. Лично я довольно давно воспринимаю CSS-файлы как совего рода конфиги для внешнего вида веб-страницы. По сути ведь так и есть. У хорошего верстальщика HTML используется для того, чтобы создать структуру документа, у которой затем с помощью CSS настраивается внешнее отображение.

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

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

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

История про ExecJS или как выполнять джаваскрипт в руби

Reading time4 min
Views3.8K
Допустим, вы пишите крутой вебдванольный проект на рельсах. У вас есть друг Петя — сильный программист на джаваскрипте. Поскольку Петя пишет много и задорно, он решил облегчить себе жизнь и придумал новый язык с красивым и простым синтаксисом, который будет транслироваться в джаваскрипт.
Еще Петя — большой любитель зеленого чая, поэтому назвал он свой новый язык GreenTeaScript.

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

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

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

Теперь начинается самое интересное.
Читать дальше →

СтартапДжобс от PRUFFI(6-10 июня)

Reading time2 min
Views2.6K
СтартапДжобс – это совместная программа поиска кадров для стартапов GreenfieldProject и PRUFFI.
Чтобы принять в ней участие, необходимо подать заявку сюда.

СтартапДжобс на Хабре — это еженедельная публикация вакансий стартапов, описаний проектов с комментариями экспертов в IT.

Вакансия и проект сегодня(6-10 июня): в проект Thankyou.ru приглашается технический директор(опцион на долю в компании + стабильный оклад).

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

Новые возможности XMLHttpRequest2

Reading time9 min
Views84K
Одним из незамеченных героев вселенной HTML5 является XMLHttpRequest 2. Строго говоря XHR2 не является частью HTML5 и не является самостоятельным объектом. XHR2 это тот же XMLHttpRequest, но с некоторыми изменениями. XHR2 является неотъемлемой частью сложных веб-приложений, поэтому ему стоит уделить большее внимание.

Наш старый друг XMLHttpRequest сильно изменился, но не многие знают о его изменениях. XMLHttpRequest Level 2 включает в себя новые возможности, которые положат конец нашим безумным хакам и пляскам с бубном вокруг XMLHttpRequest: кросс-доменные запросы, процесс загрузки файлов, загрузка и отправка двоичных данных. Эти возможности позволяют AJAX уверенно работать без каких-либо хаков с новейшими технологиями HTML5: File System API, Web Audio API, и WebGL.

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

Режьте, братцы, режьте. Режьте осторожно…

Reading time5 min
Views2K
Прошла весна и пол-зимы с тех пор, когда я ступил на лично выстраданный путь покорения appStore.

Все что есть в печи — все в аппстор мечи, — не самый лучший лозунг, но имеет право на существование.

Теперь я строчу, как Жюль Верн, еженедельно заваливая iOs Review Team свежеиспеченным кодом.
iOs Review Team морщится, но ест. Им приходится пробовать все блюда от клиентов, уплативших 100 долларов за вход в это чудесное яблочное заведение.

image

Злоключения и заключения экстенсивного пути покорения appStore выкладываю под habracut
PS. Можно ли перенести данный топик в раздел Game Development для всеобщего чтения?
Читать дальше →

Золотая лихорадка стартапов

Reading time2 min
Views1.1K
Сегодня очень модно делать стартапы. В чем-то это похоже на золотую лихорадку.

Огромное количество людей, прочитав готовые алгоритмы, хотят открыть свой стартап.

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

Скрудж МакДак

В ответ на вопросы про стратегию, про конкурентов на рынке, про ожидаемый доход, про управление рисками — молчание. Поэтому пишут реже.

Итак, я настоятельно рекомендую всем, кто делает свой стартап или только собирается, пересмотреть отношение к ряду вопросов.
Читать дальше →

Тестируйте ПО с Фиксбером

Reading time3 min
Views8.6K
Привет, Хабражители!

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

Есть как интересные масштабные изменения, так и небольшие, но от этого не менее важные.



Всем кому интересно, добро пожаловать под кат.
Читать дальше →

Стартапомания: как перестать искать богатых лохов и сменить галстук на шлепанцы

Reading time5 min
Views1.7K
Как ни странно, значение слова «стартап» за последние годы получило множество различных толкований, не смотря на то, что изначально, в классическом понимании этого слова, стартап – это всего лишь компания-новичок, фирма с короткой жизнью, недавно начавшая вести свою операционную деятельность. Будем придерживаться этого толкования и в данной статье.
Читать дальше →

Jinni: поиск фильмов по настроению

Reading time2 min
Views3.1K
Киностартапом сейчас никого не удивишь.
Казалось бы, изобретено все: топы лучших фильмов, поиск фильмов по жанрам, стране и прочим параметрам, рекомендации пользователей.

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

Поиск по жанрам также не помогает: комедии бывают романтические, тупые, а бывают и грустные. А что может скрываться за жанром «драма» — перечислять устанешь.

Но вот ребятам из jinni удалось сделать кое-что новое в поиске фильмов.
Читать дальше →

Игра вКонтакте — история одного запуска

Reading time3 min
Views1.6K
Всем привет. В пятницу мы запустили гонки для социальной сети вКонтакте — ТурбоГонки. Поиграть в них можно здесь: http://vkontakte.ru/turboraces, а выглядят они приблизительно так:

image

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

Используйте бандлер вместо практики rvm gemset per project

Reading time1 min
Views7.6K
Наша команда долгое время использовала известную практику rvm gemset per project. Однако, после работы с пакетным менеджером nodejs мы поняли, что гораздо удобнее складывать зависимости в папку проекта (дефолт для нодовского пакетного менеджера).

Немного покопавшись в документации бандлера я обнаружил, что тоже самое можно сделать и на его основе.
Читать дальше →

JavaScript F.A.Q: Часть 1

Reading time15 min
Views74K
image

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →

Основы и заблуждения насчет JavaScript

Reading time9 min
Views55K

Объекты, классы, конструкторы

ECMAScript, будучи высоко-абстрактным объектно-ориентированным языком программирования, оперирует объектами. Существуют также и примитивы, но и они, когда требуется, также преобразуются в объекты. Объект — это коллекция свойств, имеющая также связанный с ней объект-прототип. Прототипом является либо также объект, или же значение null.
В JavaScript нет привычных классов, но есть функции-конструкторы, порождающие объекты по определенным алгоритмам (см. Оператор new).

Прототипное делегирующее наследование


Классическое наследование очень похоже на то, как люди наследуют гены своих предков. Есть какие-то базовые особенности: люди могут ходить, говорить… И есть характерные черты для для каждого человека. Люди не в состоянии изменить себя — свой класс (но могут поменять собственные свойства) и бабушки, дедушки, мамы и папы не могут динамически повлиять на гены детей и внуков. Все очень по земному.

Теперь представим другую планету, на которой не такое как на Земле генное наследование. Там обитают мутанты с «телепатическим наследованием», которые способны изменять гены своих потомков.
Разберем пример. Отец наследует гены от Дедушки, а Сын наследует гены от Отца, который наследует от Дедушки. Каждый мутант может свободно мутировать, и может менять гены своих потомков. Например у Дедушки был зеленый цвет кожи, Отец цвет унаследовал, Сын тоже унаследовал цвет. И вдруг Дед решил: «надоело мне ходить зеленым — хочу стать сними», смутировал (изменил прототип своего класса) и «телепатически» распространил эту мутацию Отцу и Сыну, вобщем посинели все. Тут Отец подумал: «Дед на старости лет совсем двинулся» и поменял свой цвет в генах обратно на зеленый(изменил прототип своего класса), и распространил «телепатически» свой цвет сыну. Отец и Сын зеленые, Дед синий. Теперь как бы дед ни старался Отец и сын цвет не поменяют, т.к сейчас Отец в своем прототипе прописал цвет, а Сын в первую очередь унаследует от Прототипа Отца. Теперь Сын решает: «Поменяю ка я свой цвет на черный, а моё потомство пусть наследует цвет от Отца» и прописал собственное свойство, которое не влияет на потомство. И так далее.
Читать дальше →

Обзор потребностей заказчиков сайтов

Reading time7 min
Views14K
Цель обзора — упорядочить представления о рынке веб-разработки. Упорядоченные представления о потребностях позволят в дальнейшем выбрать подходящую нишу для своей разработки и определить конкурентные преимущества нового продукта или веб-ресурса. Обзор может быть полезен разработчикам, которые выпускают на рынок новые решения или начинающим веб-студиям, так как в условиях высокой конкуренции необходимо выявить не охваченные потребности заказчиков (или создать такие потребности) и закрепиться на рынке. Точка зрения «Заказчик» обусловлена необходимостью в первую очередь решать задачи заказчика.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity