Как стать автором
Обновить
5
0
Хохлов Дмитрий @F0rc0sigan

Пользователь

Отправить сообщение

Регистрируемся как частный предприниматель в Украине

Время на прочтение14 мин
Количество просмотров116K
Осознав необходимость выхода из тени или же просто смены формы деятельности из наемного работника в самозанятого гражданина приходим к тому, что надо бы зарегистрироваться в качестве частного предпринимателя (ЧП, ИП, СПД ФОП). О том, как зарегистрироваться, какую форму налогообложения выбрать IT-шнику, сколько и куда платить читаем под катом. В конце так же приложен бонус «Как получить деньги под открытие от Центра занятости» (на оплату налогов на первое время), какие виды деятельности выбрать согласно КВЭДа, а так же несколько примеров типичных документов. Актуально только для Украины.
Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии98

Почему веб-приложения на мобильных платформах работают медленно

Время на прочтение34 мин
Количество просмотров66K
От переводчика
Это перевод статьи Drew Crawford «Why mobile web apps are slow», опубликованной 09 июля 2013. Статья очень интересная, но большая — ошибки возможны — прошу простить и присылать замечания в личку.
Поскольку затронута острая тема, прошу заметить, что переводчик не обязательно разделяет мнение автора статьи!
При переводе текст слегка видоизменялся, поскольку прямой перевод не всегда понятно передает смысл. Для перевода термина «native code» был использован англицизм «нативный код», который понятнее и короче, чем «родной для платформы код». Термин «word processing» переводится как «верстка текста», хотя это немного сужает первоначальный смысл. Термин managed код («управляемый код») не был переведен, так как удачного перевод (на взгляд переводчика) не существует. Под «терминированием» приложения подразумевается его принудительное завершение операционной системой.
Повествование в статье ведется от первого лица: автора статьи.


Читать статью
Всего голосов 156: ↑150 и ↓6+144
Комментарии74

Легализация дохода фрилансера в Украине. Часть 1: государственная регистрация бизнеса

Время на прочтение9 мин
Количество просмотров101K
Рано или поздно любой фрилансер задумывается о том, чтобы перестать прятать свои доходы от государства. Преимущества очевидны: идет официальный стаж работы, в банке охотнее выдают кредиты, для получения туристической визы заграницу не нужно искать обходные пути, спишь, в конце концов, спокойнее. Самый простой способ выйти из тени в Украине — стать предпринимателем или, как это официально называется, физическим лицом — предпринимателем.

Я работаю предпринимателем — фрилансером с 2007 года и успел накопить значительный опыт получения денег из-за рубежа как через онлайн-биржи вроде oDesk и Elance, так и работая с заказчиками напрямую. В свое время я был инициатором некоторых изменений на oDesk, помогающих упростить легальное получение денег на свой предпринимательский счет. Сегодня я руковожу разработкой в нашем украинском стартапе Taxer.ua, от чего опыта во взаимодействии с государством накопилось еще больше.

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

  1. Государственная регистрация предпринимателя: выбор системы налогообложения, подача заявления.
  2. Составление ВЭД договора, получение денег от клиентов: биржи oDesk, Elance и напрямую.
  3. Ведение ВЭД бухгалтерии: акты, счета, книга доходов и курсовая разница.
  4. Уплата налогов и отправка отчетности в контролирующие органы: сдавать ли валютную декларацию.

Читать дальше →
Всего голосов 91: ↑81 и ↓10+71
Комментарии74

CSS Sticky Footer / Прилипающий футер

Время на прочтение4 мин
Количество просмотров77K

Как использовать прилипающий футер


Введение


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

Решения Райана Фэйта хорошо известно и работает, но требует лишний пустой <div>. Приверженцы чистого HTML-кода могут найти это богохульство несемантичным. В нашем решении лишнего <div> нет.
далее
Всего голосов 77: ↑59 и ↓18+41
Комментарии74

Страсть к программированию. Глава 8. Будь специалистом

Время на прочтение4 мин
Количество просмотров41K
Продолжаем переводить книгу Чеда Фоулера «Страсть к программированию» совместными усилиями. Готов координировать работу с остальными переводчиками.

Глава 8. Будь специалистом


— Каким образом Вы можете добиться падения JVM используя только возможности Java?
В ответ — тишина.
— Вы меня слышите?
— Извините, я не понял Вас. Повторите, пожалуйста, вопрос.

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

— Каким образом Вы можете добиться падения JVM используя только возможности Java?
— Эм… Извините, я никогда не сталкивался с подобной задачей.
— Я уверен, что не сталкивались. Как насчёт такого вопроса: как бы Вы написали программу, которая бы никогда не приводила к сбоям JVM?
Читать дальше →
Всего голосов 66: ↑48 и ↓18+30
Комментарии132

Общество телефонных зомби

Время на прочтение3 мин
Количество просмотров137K
Многие знают, что я хакер. При этом многих удивляет, когда я говорю, что терпеть не могу технологии. Да, когда я произношу это, я слегка преувеличиваю. На самом деле, меня просто стало раздражать, каким образом технологии вторгаются в нашу жизнь.

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

Не поймите меня неправильно, технологии — это великая сила, которая помогла нам достичь удивительных высот (мы отправили людей на е***ую луну). Но это не мешает мне думать, что наши недавние изобретения скорее снизили качество нашей жизни, чем улучшили. Мы превратились в общество телефонных зомби, склонивших головы над светящимися экранами в бесконечном поглощении бесконечных объемов бесполезной информации.
Читать дальше →
Всего голосов 262: ↑210 и ↓52+158
Комментарии332

«Смс не надо» — сервис позволяющий отписаться от назойливых смс-рассылок

Время на прочтение3 мин
Количество просмотров37K

Здравствуй!
Тема борьбы с нежелательной смс-рекламой на Хабре поднималась уже не раз[1]. Хочу внести свой небольшой вклад в дело борьбы с многоголовой гидрой спама.

Я, как и наверное многие, частенько получаю смс сообщения с «ненавящевой» рекламой такси, кредитов, фитнес-центров и прочих радостей жизни. И вот сегодня наткнулся на сервис smsnenado.ru[2], предлагающий отписаться от смс-рассылок.
%username%, я к данному сервису не имею никакого отношения, предупреждаю сразу

Когда увидел репост новости о данном проекте — отнесся скептически, но любопытство пересилило, и я пошел в разведку.
Итак, разведка боем
Всего голосов 115: ↑99 и ↓16+83
Комментарии99

Как две недели?!

Время на прочтение2 мин
Количество просмотров105K
Как это вам надо две недели на эту задачу? Что, правда? Вот на эту элементарную формочку с тремя полями и двумя кнопками? Две недели? Да вы надо мной издеваетесь, наверное! Давайте разбираться.

Что? Нужна ли валидация данных при вводе? Ну, конечно, нужна! И вообще, вот это поле лучше разбить на два, так понятнее. А вот в это добавить маску. А вот это — заменить на выпадающий список. Где брать варианты для этого списка? В базе на сервере, конечно. Как это их там нет? А, ну да, это же в другом проекте они у нас были… Ну, значит надо добавить. Взять там и добавить сюда. Сейчас я дам вам контакт разработчика того проекта — обсудите с ним. Он, правда, у нас уже не работает, но я думаю, вполне можно спросить что и как — он расскажет, скорее всего.

Мы всё обсудили? Нет? Что ещё?
Читать дальше →
Всего голосов 334: ↑288 и ↓46+242
Комментарии82

Новый практический обучающий курс по Windows Phone 8

Время на прочтение2 мин
Количество просмотров21K
Всегда приятно делиться хорошей новостью. И сегодняшнее утро я как раз и хочу начать именно с хорошей новости.

Доступен новый практический обучающий курс по Windows Phone 8 на русском языке. Для нетерпеливых — сразу ссылка на заглавную страницу курса: aka.ms/wp8labs.

Данный курс предполагает, что вы уже знакомы с разработкой под Windows Phone. Если это не так, можно начать с курса по Windows Phone 7.5 msdn.microsoft.com/ru-ru/ff380145 или книги.
Подробнее о содержании курса
Всего голосов 34: ↑26 и ↓8+18
Комментарии21

Кроссбраузерная кастомизация системного скроллбара

Время на прочтение8 мин
Количество просмотров146K


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

Под катом можно узнать, как в ближайшее время будет работать скролл в 2ГИС Онлайн.
Подробности
Всего голосов 127: ↑116 и ↓11+105
Комментарии132

Для чего нужны шаблоны проектирования

Время на прочтение5 мин
Количество просмотров100K
Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.

Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии44

Оправдание стоимости разработки сайта и защита от демпинга

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

Расчет себестоимости


Говоря о стоимости создания сайта, начать необходимо с определения его внутренней себестоимости в самой компании. До сих пор многие студии работают по фиксированным тарифам (сайт-визитка – XXX рублей, интернет-магазин – YYY и т.п.). Но, так или иначе, все агентства продают время своих сотрудников, и определение себестоимости должно отталкиваться именно от этого фактора.

Заказчик покупает время производящих сотрудников (дизайнеров, разработчиков, специалистов по вносу контента и пр.). Он не готов платить за время PR-менеджера, бухгалтера, уборщицы. Поэтому расчетная смета на проект отталкивается, как правило, именно от стоимости часов «производящих ресурсов».

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

  • ФОТ сотрудников – 50%
  • — Производящие ресурсы (30%)
  • — Менеджеры, обслуживающий и административный персонал (20%)
  • Условно-постоянные расходы – аренда офиса, канцелярка, расходники, еда, техника и пр. – 15%
  • Налоги – 20%
  • Маркетинг и реклама – 15%
Читать дальше →
Всего голосов 121: ↑103 и ↓18+85
Комментарии66

Кеширование в ASP.NET MVC

Время на прочтение6 мин
Количество просмотров48K
В прошлом посте я рассказывал о различных стратегиях кеширования. Там была голая теория, которая и так всем известна, а кому неизвестна, тому без примеров ничего не понятно.

В этом посте я хочу показать пример кеширования в приложении ASP.NET MVC и какие архитектурные изменения придется внести, чтобы поддерживать кеширование.

Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии26

CANVAS шаг за шагом: Основы

Время на прочтение6 мин
Количество просмотров532K
CANVAS шаг за шагом:
  1. Основы
  2. Изображения
  3. Понг
  4. Пятнашки

Если верить англо-русскому словарю, то можно узнать что canvas переводится как холст, а если верить википедии, то можно узнать что тег canvas, это элемент HTML 5, который предназначен для создания растрового изображения при помощи JavaScript. Тому как создать это растровое изображение и будет посвящен мой небольшой текст. Прежде чем начинать пробовать свои силы в этом не легком деле рекомендуется уже иметь базовые знания о том что такое HTML и с чем едят JavaScript.
Читать дальше →
Всего голосов 84: ↑82 и ↓2+80
Комментарии48

Как устроен jQuery: изучаем исходники

Время на прочтение6 мин
Количество просмотров58K

jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

Читать дальше →
Всего голосов 212: ↑200 и ↓12+188
Комментарии40

Технология быстрого создания фонов для 2D-игр на базе 3D-заготовок (48 часов разработки)

Время на прочтение15 мин
Количество просмотров150K

Вместо предисловия


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

Перед тем как начать я хотел бы сделать акцент на двух положениях:
Первое. Мы исходим из того что читатель знаком с такими пакетами как 3D Studio MAX (либо любым другим пакетом трехмерного моделирования) и Photoshop (или любым его аналогом). В данном конкретном случае я собираюсь использовать терминологию этих двух пакетов. Однако, не смотря на это те же самые принципы можно использовать, пользуясь любым другим софтом.

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

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

Хочу также отметить, что я не причисляю себя к мастерам, которые делают шедевры. Данное примечание я делаю для тех злых людей, которые говорят (или скажут после публикации), что я заносчив, что меня занесло под небеса, и тех кто вместо того чтобы работать предпочитает злословить словно ябедник Кийр из моей любимой книги Оскара Лутса «Весна».

С преамбулами покончено перейдем к сути.

Я утверждаю и не беспочвенно, что хороший фон можно и нужно создавать не за неделю, не за пять дней и даже не за три. Чтобы сделать хорошую картинку для казуальной игры, без разницы i-spy это, match-3 или аркада, достаточно 48 часов. Разумеется, при условии того, что человек занимается работой, а не просиживанием штанов.

image

Читать дальше →
Всего голосов 293: ↑288 и ↓5+283
Комментарии102

Разработка игры под Windows Phone

Время на прочтение9 мин
Количество просмотров37K


В этой статье я хочу рассказать о своем опыте написания игры под платформу Windows Phone. Несмотря на кажущуюся простоту, путь от идеи до принятия игры в Windows Phone Store занял практически год и был полон неожиданных подводных камней — как с технической, так и с организационной сторон. Статья рассчитана на начинающих разработчиков, которые имеют представление о .NET / C#, но не пробовали делать полноценных игр.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии28

Простой путь создания сложных ASP.NET MVC контролов

Время на прочтение6 мин
Количество просмотров23K
Наверняка все создавали свои asp.net mvc контролы (речь, конечно, про asp.net mvc кодеров). Вам должен быть знаком метод создания контролов, используя TagBuilder? Пробовали писать реально сложные контролы (например с большим количеством javascript-та или разметки, которая зависит от опций)? Тогда наверняка вам знаком адЪ экранирования кавычек, конкатенации строк (или вызова .Format() функции) и т.п. «неудобства». Я предлагаю взглянуть на достаточно простую методику, которая позволит избежать подобных вещей и в тоже время сосредоточиться на функциональной стороне контролов, а не на программировании шелухи.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии8

RESTFul Api контроллеры в .NET MVC 4

Время на прочтение5 мин
Количество просмотров99K
Приветствую.
Летом вышел релиз новой версии фреймворка, но поработать с ним получилось только недавно. В новой версии было добавлено много полезных штук, об одной из них, а именно ApiController, я хотел бы сегодня рассказать.
Благодаря им стало возможно делать RESTFull Api без лишних усилий. На небольшом примере заодно разберем работу с OData.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии57

Версионность API в .NET MVC 4

Время на прочтение6 мин
Количество просмотров9.9K
Доброго времени суток.

С появлением ASP.NET Web API появился удобный и мощный инструмент для создания API для вашего сайта. Но, как известно, с течением времени, ваш API может меняться, дополняться или может быть вовсе переделан с нуля. Для совместимости со старыми клиентами необходимо реализовать версионность.

К сожалению, на данный момент Microsoft не предоставила удобного и простого способа для реализации версионности. В интернете можно найти некоторую информацию на эту тему, но, как правило, большинство найденных мной решений сводятся к добавлению параметра для версии в каждый запрос и его обработке. Мне же хотелось получить более гибкий метод для разделения на версии, который не будет засорять методы контроллера и избавит от множества блоков if else. И самым главным критерием для меня была возможность иметь контроллеры с одинаковыми именами для одних и тех же методов API, но разделенных на версии с помощью пространств имен.

В тоже время, в ASP.NET MVC Web API есть достаточно мощный механизм в виде интерфейса IHttpControllerSelector, с помощью которого можно реализовать версионность, оставив код чистым и понятным.

Давайте посмотрим, что из этого вышло.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии3
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность