Pull to refresh
15
0
Иван Никитин @ivann

User

Send message

CodeRush for Roslyn: Part 1 — полезные фичи для разработки через тестирование

Reading time 2 min
Views 6K
Мы выпускаем новый продукт — CodeRush for Roslyn (далее CRR). Уже более 10 лет у нас есть другой продукт, который называется просто CodeRush, или CodeRush Classic (сокращенно CRC). Главное отличие CRR от CRC в том, что Roslyn-версия использует парсинг и языковые сервисы встроенные в Visual Studio. CRR полностью написан с нуля, поэтому он быстрый, легкий и уже содержит всё необходимое для эффективной работы.

В этой статье я расскажу о поддержке тестовых фреймворков в CRR. Почти во всех примерах будет использован проект github.com/dewe/Money. Этот проект использует NUnit Framework, но мы так же поддерживаем xUnit, MSpec и MS Test Framework. Все рассмотренные ниже практики работают одинаково вне зависимости от того, какой тестовый фреймворк вы используете.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 0

Опасный target="_blank"

Reading time 2 min
Views 199K
Большинство создают внешние ссылки через target="_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство window.opener.

Через window.opener.location мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера.
Читать дальше →
Total votes 132: ↑126 and ↓6 +120
Comments 136

Регистрация безналоговой компании в Эстонии

Reading time 5 min
Views 167K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →
Total votes 61: ↑57 and ↓4 +53
Comments 73

PMM Summer School: Как пройти школу маркетинга софтверных продуктов и остаться гиком?

Reading time 5 min
Views 4.7K
image

Недавно в Санкт-Петербурге закончилась летняя школа по маркетингу софтверных продуктов (PMM summer school) от JetBrains, о которой уже упоминали здесь и здесь. Чернила еще не высохли, лекции еще не забылись, а организаторы еще не выспались, но спешу поделиться впечатлениями о маркетинге, продуктах, школе PMM и JetBrains. Холивар про маркетинг неисчерпаем, поэтому добро пожаловать под <cut/>!
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 1

DDoS атака в обход Qrator. Как защититься?

Reading time 4 min
Views 26K
Есть сервисы, защищающие нас от DDoS атак. Они работают по принципу прокси: в DNS прописывается их IP, они фильтруют трафик и проксируют на ваш сервер. Все они настоятельно рекомендуют прятать свой IP и в публичном доступе давать только IP прокси-защитника. Вполне здравый подход, достаточный для успешной защиты. А я расскажу на чем можно проколоться и как от этого защитится.
Читать дальше →
Total votes 43: ↑38 and ↓5 +33
Comments 10

Как правильно переходить границу: кроссплатформенность в мобильном приложении

Reading time 10 min
Views 14K
image
Сегодня все больше приложений создается сразу для нескольких мобильных платформ, а приложения, созданные изначально для одной платформы, активно портируются на другие. Теоретически можно полностью писать приложение «с нуля» для каждой платформы (т.е. фактически «кроссплатформенной» оказывается только идея приложения). Но это означает, что трудозатраты на его разработку и развитие будут расти пропорционально количеству поддерживаемых платформ. Если же многоплатформенность изначально заложить в архитектуру приложения, то эти затраты (плюс, в особенности, затраты на поддержку) могут существенно сократиться. Вы разрабатываете общий кроссплатформенный код один раз — значит используете его на текущих (и будущих) платформах. Но в этом случае сразу возникает несколько взаимосвязанных вопросов:

  • Должна ли быть граница между общим (кроссплатформенным) и нативным (специфичным для данной платформы) кодом?
  • Если да, то где и как провести эту границу?
  • Как сделать так, чтобы кроссплатформенный код было удобно использовать на всех платформах, как на тех, что надо поддержать сейчас, так и на тех, чья поддержка, вероятно, может потребоваться в будущем?

Конечно, ответы на эти вопросы зависят от конкретного приложения, предъявляемых к нему требований и накладываемых ограничений, поэтому универсальный ответ найти, по всей видимости, невозможно. В этой статье мы расскажем, как мы искали свои ответы на эти вопросы в процессе разработки мобильного клиента Parallels Access для iOS и Android, какие архитектурные решения были приняты и что в итоге получилось.

Хочу сразу предупредить, что букв в этом посте много, но дробить тему на куски не хотелось. Поэтому запаситесь терпением.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 1

Организация и использование сегментации в больших мобильных приложениях

Reading time 11 min
Views 7.6K
Однажды, ваше мобильное приложение становится достаточно большим и им ежедневно пользуются десять тысяч — сто тысяч — миллион, не важно, в общем очень много живых и разных людей. Что это значит для вас, как для разработчика?

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

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



В этой статье я постараюсь рассказать о том, что мы делаем, чтобы огромное продакшн-приложение продолжало оставаться таковым.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 3

Как защитить интересы сторон в договоре на создание ПО

Reading time 3 min
Views 4.7K
Сегодня мы рассмотрим основные вопросы, которые возникают на практике при согласовании условий договора на создание ПО. Понятно, что в целях защиты интересов заказчика или разработчика в договор могут вноситься различные положения, от которых зависит его фактическое исполнение и достигаемый результат.

До начала обсуждения условий договора на разработку ПО необходимо определиться с его формой. В этом вам поможет предыдущий пост: «Как выбрать договор на разработку ПО». С формами договоров и пояснениями к ним можно ознакомиться здесь.

После определения формы договора на разработку ПО стороны, как правило, волнуют три вопроса:
1) Как оформить заказ на разработку ПО в упрощенном порядке?
2) Какие права на ПО переходят заказчику и сохраняются у разработчика?
3) Как документально оформить передачу заказчику прав на ПО?

Ниже мы рассмотрим данные вопросы подробнее.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 6

86 бесплатных площадок для продвижения стартапов на международном рынке

Reading time 4 min
Views 102K


Мы дополнили и адаптировали оригинальную подборку, выбрав исключительно бесплатные ресурсы для продвижения стартапов на международном рынке. Помимо этого мы переработали первоначальную классификацию, ввели ранжирование по потенциальному охвату аудитории (для площадок с обозначенным охватом) и распределили соответствующие ресурсы в тематические категории.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 9

Больше возможностей с новой версией продуктов DevExpress 14.2

Reading time 4 min
Views 14K
Близится конец года, а это значит, что настало время представления очередной версии продуктов от компании DevExpress. В этот релиз 14.2 мы постарались включить многие интересные и полезные возможности для наших пользователей. Поскольку все улучшения и нововведения описать в рамках одной статьи тяжело, их можно посмотреть вот здесь, а под катом мы рассмотрим лишь некоторые из них. Для тех, кто не хочет долго читать, вот этот небольшой ролик:


Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Comments 18

Автоматизированная установка WordPress на VPS с помощью Ansible

Reading time 6 min
Views 15K
Добрый день, Хабр.

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

Что такое Ansible


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

Кто-то скажет, что он не нужен, т.к. есть Chef, Puppet, etc. Я с этими людьми абсолютно соглашусь. Если вы можете использовать эти инструменты — отлично. Я же пишу эту статью для тех, кто хочет немного понять как работает Ansible и как с его помощью можно многое автоматизировать.

Если вы до этого не сталкивались с Ansible вообще, то советую почитать статью компании Селектел. Отличная статья.

Максимум автоматизации


Давайте определимся, что нам нужно, чтоб запустить Wordpress на VPS сервере с установленной Ubuntu:
  • Nginx
  • Mysql
  • PHP5
  • Memcached для использования W3Total Cache плагина
  • Wordpress

Вот в таком порядке мы и будем писать роли для настройки сервера.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Comments 3

«Дыры» стартапов: самые распространенные проблемы молодых компаний, которые мешают их развитию

Reading time 7 min
Views 56K
Каждый месяц Фонд развития интернет-инициатив проводит мероприятия для предпринимателей под названием «Бизнес-секреты». На этих встречах лидеры стартап-индустрии делятся со слушателями секретами увеличения прибыли проекта и дают советы по его продвижению. Такие мероприятия для их участников не только полезны, но и бесплатны – достаточно только зарегистрироваться и прийти на встречу в наш мультимедийный конференц-зал Сити Холл в БЦ Silver City.

В октябре на одном из таких мероприятий Артем Азевич, руководитель трекинга ФРИИ, рассказал о «дырах» стартапов или «узких местах», которые необходимо заделывать, чтобы в разы улучшить их бизнес-показатели. Данный материал на основе выступления, дополненный кейсами проектов, рассказывает об этапах развития IT-стартапа на ранней стадии и о самых распространенных проблемах предпринимателей, которые не дают им начать зарабатывать. Почему это происходит?
Читать дальше →
Total votes 45: ↑32 and ↓13 +19
Comments 39

Как купить золото?

Reading time 5 min
Views 138K
Пенсия для ITшника.
Тут нужно было бы писать «а что делать в старости?», «на государство недёжи никакой», «в наше время каждый должен...» и прочее бла-бла-бла и би-би-би. Но мне лень, потому — сразу к делу.

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

А еще?
А еще золото двигается в противофазе с рынком акций. То есть, когда в экономике тайфун — все инвесторы бегут в золото, как самый надежный актив. Ну и наоборот, естественно… Это делает золото идеальным инструментом для построения «портфеля простака».
Читать дальше →
Total votes 92: ↑73 and ↓19 +54
Comments 167

Аманда Палмер на TED: Про свободное распространение музыки и заработок

Reading time 1 min
Views 27K
Тема копирайта и, в частности, заработка музыкантов — очень актуальна и обсуждаема. И вот, есть возможность получить информацию из первых рук, от самого что ни на есть музыканта, у которой был как опыт работы с крупной компанией-лейблом, так и опыт самостоятельного получения денег разными способами. Аманда Палмер — яркий пример широко известной в узких кругах личности. Но прославилась она, собрав на кикстартере 1.2 миллиона долларов на свой новый альбом.

Тема выступления Аманды: искусство просить. Я в названии поста написал иначе, чтобы было понятнее, о чем вообще речь в ее выступлении. Речь доступна в оригинале на сайте TED'а, но там пока нет субтитров на русском. Но DIY — это не просто 3 буквы, это способ мышления, поэтому я на примере этого видео попробовал впервые, что такое адаптировать субтитрами видео на другой язык. Критика и комментарии — приветствуются.

Total votes 59: ↑51 and ↓8 +43
Comments 55

Что делать, если вам надоели рекламные СМС

Reading time 3 min
Views 297K
В продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.

Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.

Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
Читать дальше →
Total votes 202: ↑199 and ↓3 +196
Comments 150

Не тратьте своё время на дерьмовую работу в стартапе

Reading time 21 min
Views 73K
Под катом перевод огромной статьи, написанной Майклом Чёрчем и посвящённой стартапам. Статья вызвала необыкновенное бурление… мнений, скажем так, на разных сайтах и агрегаторах, поэтому я решил её перевести на русский и посмотреть на реакцию. Текст ОЧЕНЬ длинный, но также и очень интересный. И несколько пояснений перед чтением: в статье речь идёт об инженере в стартапе, именно с этой позиции всё рассматривать; некоторые финансово-экономические термины, возможно, не очень адекватно удались и я буду рад любым конструктивным поправкам.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.
Читать дальше →
Total votes 238: ↑221 and ↓17 +204
Comments 77

Коррекция духовности интернет-трафика

Reading time 3 min
Views 67K
За десятки тысяч лет существования, человечество сформировало великое множество религиозных, философских и мировоззренческих учений. Однако с бурным развитем естественных наук в последнюю сотню лет, в обществе появилась и укрепилась тенденция все наблюдаемые явления пытаться описать в материалистических терминах, не принимая во внимание духовную сторону вопроса.

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

дальше - интереснее..
Total votes 143: ↑118 and ↓25 +93
Comments 43

Как найти работу в Германии

Reading time 4 min
Views 145K

Для всех, кто просил описать как искать работу программистом в Германии, а так же для тех, кто в комментариях бездоказательно писал, что Германия далеко не лучшее место для работы, ну и для всех интересующихся написан этот пост.
Читать дальше →
Total votes 103: ↑95 and ↓8 +87
Comments 283

Как я нанимаю программистов

Reading time 2 min
Views 24K
Захожу на гитхаб, ищу репозитории проектов, сходные по профилю с теми, для которых мы ищем программистов.
Просматриваю issues, выбираю подходящие — такие, для которых не потребуется слишком много времени (идеально — вечер) и для которых потребуется разобраться в самом проекте.

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

По pull request'у сразу видно как соискатель умеет разбираться в чужом коде и как он пишет код. Я не даю классических тестовых заданий — это убийство времени в никуда, этот код будет выброшен, он не поможет никому решить какую-либо задачу.
Читать дальше →
Total votes 312: ↑254 and ↓58 +196
Comments 125

Жизнь разработчика (в картинках)

Reading time 1 min
Views 65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184 +516
Comments 132

Information

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