Search
Write a publication
Pull to refresh
-5
0
Артур Терегулов @AirLight

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

Send message

ASP.NET, HTTP 404 и SEO

Reading time2 min
Views10K
Недавно, мой SEO оптимизатор сказал мне, что недоволен тем как ASP.NET возвращает HTTP ответ в случае ситуации 404, то есть страница не найдена. Я начал ковыряться и обнаружил пару интересных моментов, которые возможно кому-то пригодятся.
Читать дальше →

Как прокачивать мозг

Reading time8 min
Views174K
В этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.

Не правда ли, картинка объемна?

Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.

Но обо всем по порядку.

Понимание роли мозга


Нет невежества страшнее, чем невежество по отношению к самому себе.

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

Используем Farseer Physics Engine в Silverlight

Reading time7 min
Views1.6K
Сегодня я вам покажу, как можно довольно просто добавить физику в Silverlight-проект. Рассмотрим это на небольшом примере с использованием физического движка Farseer Physics, распространяющегося совершенно бесплатно.

FarseerPhysicsNoBorder430X260.png
Читать дальше →

Простой подход к версионированию баз данных MS SQL Server

Reading time8 min
Views12K

Простой подход к версионированию баз данных MS SQL Server



Предисловие.

Очень часто в прикладных программах возникает необходимость использовать современные базы данных, которые предоставляют разработчику очень большой функционал, основанный не только на уровне данных, но также и созданию собственного API для предоставления доступа к этим данным, посредством хранимых процедур, триггеров, функций. Очевидно, что во всей этой структуре в зависимости от обстоятельств, могут понадобятся какие-либо изменения. И в самом безобидном случае, когда разработчик имеет дело с одним клиентом и одной изменяющейся базой данных (предположим на небольшом предприятии), процесс обновления выглядит просто – мы делаем необходимые изменения в структуре, сравниваем с помощью специальных утилит, например SQL Examiner, старую и новую версию и накатываем сгенерированный sql-скрипт на существующую базу. Как видно в описанном случае, миграция данных происходит каждый раз при обновлении структуры базы. Но к сожалению, описанная ситуация встречается крайне редко, чаще — клиенты и соответствующих для них базы данных для какого-либо продукта у разработчиков исчисляется сотнями, если не больше. Таким образом, для нормального жизненного цикла базы данных необходима система версионирования (не путать с системами версионирования исходников типа Subversion).
Читать дальше →

«Цветные карандаши» — идеальная система учета задач

Reading time2 min
Views5K
Как у любой серьезной команды, у нас есть настоящая система учета задач: с проектами и рабочими группами, с разделением ролей пользователя и прав доступа, с учетом времени и жизненного цикла задачи. Но жизнь, как обычно, штука многогранная, и не всегда бывает удобно вписываться в холодную логику таск-трекера. Особенно это заметно на сверхсрочных проектах, когда надо сделать командный рывок и за несколько дней совершить невозможное ;) Вот в таких ситуациях у нас и родился этот неожиданный подход, которым я хочу поделиться.

Учет задач мы ведем не в солидном таск-трекере, а в… текстовом файле. Точнее не просто текстовом, а в расшаренном документе Google Docs. Происходит это так:
  • Записываем возникающие задачи обычным черным шрифтом в виде обычного ненумерованного списка.
  • Размером шрифта отмечаем приоритет задач — чем крупнее, тем важнее.
  • Цветом помечаем задачи, назначенные на конкретного человека — за каждым разработчиком закреплен свой цвет.

В начале файла обычно помещаем "легенду", чтобы всегда можно было вспомнить, где чей цвет. Вот как это выглядит:



Интересно? Читайте дальше! ...

Динамические формы в ASP.NET MVC

Reading time6 min
Views19K
Часто у пользователя требуется узнать информацию о нескольких дополнительных объектах, число которых заранее не известно. Для это используют динамические формы, поля которых создаются javascript кодом на клиентской машине. В asp.net mvc работая в связке Controller-View мы работаем с типизированными объектами. Преобразованием значений из requestа пришедшего с клиента в типизированный объект занимается класс ModelBinder. Для простых объектов это достаточно тривиальная задача. Но как правильно обработать динамические данные, имена параметров которые заранее неизвестны. Решением этой задачи и посвящен этот пост.

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

Обзор электронных платежных систем. Что выбрать?

Reading time4 min
Views65K
В процессе разработки довольно интересного проекта для туристической компании возникла необходимость интеграции на сайт одной из платежных систем, дабы пользователи сайта могли без каких-либо проблем и ограничений оплачивать собственные заказы.

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

Программируем Reversi на Silverlight

Reading time5 min
Views2.9K
Давно хотел начать изучать Silverlight, начинал читать литературу, пытался вникать в концепции, паттерны, но все больше как-то абстрактно, в теории. На практике, настоящую программу на Silverlight так и не попытался написать.

Но вот совсем недавно на просторах Хабра проскочила статья «программируем Reversi на Питоне». Глянув в код, ужаснулся, у меня сразу включился мотиватор. Не то, чтобы я не люблю Питон, просто я очень люблю C#.

То, что вы увидите было написано за 1 рабочий день человеком, имеющим нулевой практический опыт разработки приложений в WPF/Silverlight.
Читать дальше →

Удаленное обучение на основе Open Source — BigBlueButton

Reading time1 min
Views21K
Какое-то время работал с организацией системы обучения на основе ВКС Tandberg. Когда была поставлена задача организации удаленного обучения, Open Source решения были просты и унылы. Конторе пришлось изрядно потратится. Но Open Source не стоит на месте, все больше и больше компаний выходят на рынок с новыми идеями и большинство из них бесплатны для простого обывателя.


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

Два протокола управления проектами

Reading time5 min
Views5.3K
Доброго времени суток.

Я пришел в управление проектами из программирования. То есть, нет так давно, я еще писал код и мне это очень нравилось. Меня мало беспокоили волнения, происходящие где-то на верху — «у менеджеров». Все поменялось в 2004, когда меня назначили тим лидом.

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

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

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

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

Поднимаем софтверный бизнес

Reading time8 min
Views1.9K
WEBO SoftwareЭто вторая статья о становлении софтверного (интернет-) бизнеса в России (первая тут). В ней я собираюсь раскрыть некоторые ключевые моменты адаптации продукта под рынок (под требования пользователей), о преодолении тенологической пропасти, и чуть-чуть о реалиях российского бизнеса.

Данный топик хочу приурочить к тому, что год назад (может, чуть раньше или чуть позже) появился продукт WEBO Site SpeedUp (ранее Web Optimizer). Мысли немного сумбурны, но, видимо, для каждого направления все сильно специфично, поэтому ценными будут только общие идеи, направления и подходы к решению проблем (в чем я искренне надеюсь :). Здесь и далее речь идет о создании коробочного решения (а не софтверном аутсорсе).
Читать дальше →

Netsukuku — свой собственный интернет

Reading time5 min
Views67K


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

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

Бред? Не совсем.
Читать дальше →

У вас будет партнер? Предохраняйтесь!

Reading time7 min
Views1.6K
Итак, вы решили, что не смотря на всю мудрость земли и предупреждения товарищей, вы начнете бизнес с партнером, который надежен, умен, трудолюбив и обладает прочими достоинствами не свойственными другим людям.
Как показывает опыт такие «интимные» связи часто заканчиваются губительно для одного из партнеров. Поэтому хочу поделиться некоторыми наработками в плане предохранения от некачественного партнерства.
Читать дальше →

Программа из одного exe

Reading time4 min
Views43K
Как правило, при написании .NET программ используются не только классы из .NET BCL, но и сторонние библиотеки. Во время выполнения программы все используемые библиотеки должны быть найдены. Для этого зависимые dll кладут в одну папку с exe файлом.

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

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

Программа из одного EXE

«Мое дело» — подготовка документов для регистрации ИП

Reading time1 min
Views2.3K
Регистрация ИП - бесплатно
Привет!

Представляем хабрасообществу новый сервис от онлайн-бухгалтерии "Мое дело".

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

Подробности и скриншоты под катом.
Читать дальше →

«Снежки» — мега-шутер в джаббере

Reading time1 min
Views1.2K
image

Легенда гласит, что однажды злейший дубак под -40 помешал хорошим парням поиграть в снежки, и они замутили собственные джаббер-снежки с Блэк Джэком и девицами.

image«Снежки» — мега-шутер по мотивам одноименной народной забавы, события которого развиваются где-то в Сибири.

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

Со временем ты получаешь валенки, шапку-ушанку, штаны с начесом и фуфайку, но главная цель — твёрдо обосноваться в рейтинге кидал.

Всё управление игрой происходит в окне мессенджера посредством текстовых команд. Ну, другие в мессенджер и не прикрутишь :)

Собственно, к чему вся эта болтовня? Добавляйте контакт и сами всё увидите.

Контакт «Снежков» — snow@talk2play.ru (Если бот ничего вам не написал — напишите ему сами. Можете даже обозвать — он не обидится.)

Инвайты? К чёрту инвайты.

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

PS Сайт пока не замутили, так как времени катастрофически не хватает. Но замутим в ближайшее время.

Договор на абонентское обслуживание сайта

Reading time6 min
Views47K
Несколько месяцев назад я уже выкладывал типовой договор на техническое обслуживание и поддержку сайта. В том топике, я получил много замечаний и комментариев. Мы постарались учесть все комментарии и замечания при составлении нового договора, им я и спешу поделиться.

image

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

#1 Организация активных продаж в веб-студии

Reading time10 min
Views66K
Привет, хабр. Я собираюсь опубликовать небольшой цикл материалов, посвященный бизнесу веб-студий (интерактивных агентств) и его развитию. Начну с нескольких материалов о продажах.

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

Итак, продажи в веб-студии делятся на три типа:
  • Новые продажи со входящего потока (заказчик обращается с запросом сам). Расширение данного канала – основная задача внешнего маркетинга и PR компании.
  • Повторные продажи по текущим клиентам. Увеличение продаж по данному направлению – одна из важных задач службы клиентского сервиса.
  • Холодные/активные продажи (инициируется контакт с заказчиком, который не проявлял до этого интереса к компании).

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

Сразу оговорюсь – ни про какой спам и прочие массовые безадресные акции речь не пойдет.
Читать дальше →

Введение в Continuous Integration

Reading time5 min
Views178K
Недавно я попал на новый проект, с задачей создать небольшое приложение с нуля. Разговариваю с тестером:
— А как тебе новые версии поставлять?
— Можешь как все остальные на проекте, через SVN.
— То-есть ты сама билдить будешь?
— Да нет… Бинарники оттуда беру.


Оказывается, очень много программистов, даже имеющих в подписях слова вроде Senior или Superior никогда в жизни не стыкались с понятием CI, или слабо себе представляют что это такое. Не найдя отдельных публикаций на Хабре на эту тему, решил восполнить пробел, а заодно и по возможности заработать желанный инвайт.
Читать дальше →

Information

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