Pull to refresh
169
0
Alexander Kouznetsov @unconnected

User

Send message

Windows Azure Blob-storage: поддержка CORS

Reading time6 min
Views5.9K
Недавно вышло много обновлений Windows Azure. Среди них долгожданная поддержка Cross-Origin Resource Sharing для хранилищ. Я плотно использую в работе blob-storage (файловое хранилище) и в этом посте опишу как сделать загрузку файлов простой и приятной.
хочу стать счастливым
Total votes 22: ↑18 and ↓4+14
Comments3

Кэширование в Windows Azure

Reading time7 min
Views3.7K
Проблема кэширования встает перед любым высоконагруженным приложением. В Windows Azure, где основным алгоритмом увеличения производительности является добавление экземпляров приложения, роль кэша становится еще более важной, т.к. с его помощью можно обеспечить «общую память» для всех экземпляров.
что же делать
Total votes 19: ↑15 and ↓4+11
Comments1

Аспектно-ориентированное программирование: изучи и сделай сам!

Reading time17 min
Views58K
Статья родилась из того, что мне потребовался удобный и простой механизм перехвата для некоторых задач, который легко реализуется техниками АОП. Существует довольно много перехватчиков (Casle.net, Spring.net, LinFu и т.д.), требующих внедрять динамические дочерние классы в IL-код во время исполнения и приводящих практически всегда к одним и тем же ограничениям, накладываемым на перехватываемые классы: не статические, не запечатанные, методы и свойства должны быть виртуальными и т.д…

Другие механизмы перехвата требовали изменения процесс сборки или покупки лицензии. Ни то ни другое я себе позволить не мог…
а дальше было...
Total votes 33: ↑33 and ↓0+33
Comments8

Чтоб ты жил на донейты!

Reading time5 min
Views76K
Опять подняли вой про злых правообладателей. Сейчас поводом стало то, что Лопуховым впаяли по 4 года условно, и на подходе к ним гражданские иски на возмещение ущерба. На этих бедолаг всем, в общем-то наплевать, а поводом для воя послужила заявленная обвинением сумма ущерба – 38 миллиардов рублей. И опять началось – цена должна быть честной, доступной, адекватной; незачем кормить копирастов, надо донейтить авторов; долой двд, даёшь цифровую дистрибуцию (за честную цену конечно же).

Поскольку кино я смотрю редко, а если и смотрю, то либо в кинотеатре, либо в телевизоре – проблемы Голливуда и Михалкова меня волнуют мало. Потому разговор пойдёт не про фильмы.
а про книги
Total votes 102: ↑72 and ↓30+42
Comments250

Прагматичный подход к производительности

Reading time7 min
Views2.3K
Является преждевременная оптимизация дорогой в ад? Или подход «потом исправим» превращает программистов из «специалистов» в презираемую всеми «школоту»?

Эти вопросы не имеют четких ответов, тем не менее, в этой статье я постараюсь описать мой собственный подход к производительности. Что я делаю для того, чтобы мои системы работали с приличной скоростью, но не нарушали прочих требований, таких как модульность, сопровождаемость и гибкость.
Читать дальше →
Total votes 81: ↑70 and ↓11+59
Comments26

Chess@home: создаем крупнейший шахматный ИИ

Reading time6 min
Views6.2K
Многие знакомы с проектом Seti@home: мощнейшей инициативой по поиску следов внеземных цивилизаций в океане данных, получаемых с неба, с использованием мощностей миллионов компьютеров по всему земному шару («матрицы»).

Хотя инопланетян до сих пор не обнаружили, Seti@home вполне успешно демонстрирует потенциал крупномасштабных распределенных вычислений. Проекты типа BOINC распространили подобные инициативы в другие области: биологию, медицину и физику.
Читать дальше →
Total votes 80: ↑73 and ↓7+66
Comments46

SCLOG: велосипед со всеми признаками языка программирования

Reading time2 min
Views1.1K
Когда мы добрались до разработки системы пользовательских фильтров (или условий), Миша, наш главный по интерфейсам, завис. Он задумчиво смотрел в окно и курил одну за другой, иногда срывался и начинал молотить по груше, крича что-то нецензурное. Вообще, задача у него была непростая: на последнем совещание было решено, что заставлять пользователей создавать правила в текстовом виде – негуманно и неинтуитивно.
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments39

IndexedDB: пробуем готовить

Reading time7 min
Views22K
IndexedDB – стандарт хранения больших объемов структурированных данных на клиенте – был ожидаем также как и WebSocket (ну может самую малость меньше). В свете выхода FireFox 4 я нашёл время и силы всё-таки разобраться, как им пользоваться, и попытаться написать что-то больше, чем пример с адресной книгой, гуляющий по интернетам (в процессе поиска информации у меня сложилось впечатление, что это был единственный пример).
что из этого вышло
Total votes 49: ↑46 and ↓3+43
Comments31

Черные разработчики: уволенные программисты возвращаются… с дьявольским кодом

Reading time3 min
Views7.2K
Программистов увольняют по разным причинам, иногда, весьма странным.
Но в отношении разработчиков важно другое: они могут отплатить своему бывшему работодателю очень серьезно, что вряд ли доступно большинству других профессий. Полно историй про то, как разработчики распространяли вирусы, уничтожали данные, воровали секреты и устраивали различные электронные беспорядки, сразу же после того, как им показывали на дверь.

Пройдемся же по аллее славы светлых разработчиков (или просто компьютершиков с хорошими способностями), которые перешли на темную сторону силы.
Читать дальше →
Total votes 98: ↑89 and ↓9+80
Comments141

Самый страшный код в моей жизни

Reading time3 min
Views9.1K
Большинство проектов, над которыми работал, довольно быстро стираются из памяти. Но некоторые запоминаешь по гроб жизни. О таком дальше и пойдет речь.

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

В общем-то, ничего необычного, частенько компании обнаруживают, что важные знания содержаться в одной единственной голове, только когда что-нибудь случается с её владельцем. Как правило, проходит несколько дней в легкой панике и яростном чтении документов, и жизнь входит в своё русло.
Но не в этот раз.
Total votes 142: ↑122 and ↓20+102
Comments226

Скорость разработки

Reading time4 min
Views4.6K
«Объясни мне, что это за фигня!»

Алиса, новый сотрудник, бросила пачку документов Джимми на клавиатуру, и нависла над ним, скрестив руки.

Он нажал «отмену» и взглянул на документы. Это было полное описание ERP-системы с грифом «высокой важности» — новая инициатива менеджеров, за которую они были щедро вознаграждены, требующая от программистов «инвестировать» в собственный труд.

«Для первого проекта весьма амбициозно» — сказал он. «Может, стоит начать с задачи попроще, чтобы вначале узнать наш код?»
Читать дальше →
Total votes 154: ↑127 and ↓27+100
Comments127

За пределами HTML5: API к базам данных и путь к IndexedDB

Reading time4 min
Views6.5K
IndexedDB – развивающийся веб-стандарт для хранения значительных объемов структурированных данных в браузере и осуществления высокопроизводительного поиска по данным с помощью индексирования. Mozilla внесла значительный технический вклад в эту спецификацию, и мы планируем реализовать её в Firefox 4 (поддерживается в FF RC4 — прим. пер.). Мы общались с известными веб-разработчиками на предмет внедрения элегантного API для хранения структурированных данных в веб. Safari, Chrome и Opera поддерживают технологию Web SQL Database, использующую SQL-запросы, которые передаются строковыми аргументами в JavaScript API; нам же кажется, что эстетическая составляющая разработки тоже заслуживает внимания, а подобное решение является не очень элегантным для клиентских веб-приложений. Мы донесли мнение разработчиков до редактора спецификации IndexedDB, и пообщались с Microsoft, которая отметила, что IndexedDB была бы не плохим решением для веба. С маячащими на горизонте реализациями от команды Chrome, нам кажется необходимым объяснить наш выбор архитектуры и то, почему нам кажется, что IndexedDB является лучшим решением для веб нежели Web SQL Database.

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments3

Взаимодействие звеньев и их изоляция. Часть 2

Reading time4 min
Views1.7K
Продолжение статьи «Взаимодействие звеньев и их изоляция.» часть 1

Хочу извиниться перед общественностью за то, что разбил статью на две части. Но в последнее время большие тексты перестали приниматься Хабром. Если кто-то подскажет как с этой напастью справиться: буду благодарен.
Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments41

Взаимодействие звеньев и их изоляция. Часть 1

Reading time5 min
Views4.5K
Логические звенья в n-звенных системах должны проектироваться так, чтобы они взаимодействовали и подвергались влиянию только соседних звеньев. Данное ограничение зачастую нарушается, что негативно влияет на систему. В этой статье я расскажу почему так обычно случается, о последствиях, и почему следует уделять большое внимание изоляции слоев.

Статья посвящена основам и является детальным их описанием. Следующие статьи с подробными примерами будут основываться на ней. Данная статья построена на принципах, которые мы обсуждали в «Где наша бизнес-логика, сынок?» («Dude, where's my business logic?»).
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments10

Ужаснейший способ тарификации. Который работает

Reading time5 min
Views5.7K
Представляю вам способ формирования цены, который выглядит как самая тупая ошибка нуба.
Назовем его «заполните пустой счёт». Или «заплатите, сколько считаете нужным».

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

Но на самом деле, это довольно оригинальная тактика, которой должен уметь пользоваться любой фрилансер, когда ветер дует в нужную сторону. (Заметьте, я сказала «когда ветер дует в нужную сторону». Мы вернемся к этому позже.)
Делается это так.
Total votes 152: ↑138 and ↓14+124
Comments101

Фатальный выбор

Reading time8 min
Views2.4K
В своей предыдущей статье (en), я рассказывал об истории японского проекта вычислительных систем пятого поколения, запущенного под звон фанфар в 1982 и почившего в 1992, прихватив с собой логическое программирование. В этой я расскажу о том, как в качестве языка для систем пятого поколения был выбран Пролог, вместо более очевидного Лиспа. Мне интересен феномен людей, способных формировать приверженцев того или иного языка. Надеюсь, в этой статье я смогу объяснить его.
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments24

Бесплатный сыр бывает вкусным

Reading time4 min
Views1.5K
Садитесь рядом. Садитесь, это будет долгая история. Я и сам не знал, насколько долгая, когда начинал ее рассказывать.
Вы любите страшные сказки? Я — нет. Во всяком случае, мне так казалось.
Но нам редко дано делать лишь то, что мы любим.
Главное, что следует запомнить вначале — эта сказка не о вас. Она могла случиться, и она может случиться, но только не с вами.
Вы в безопасности, в мире, который тверд и надежен. Вас нет в этой сказке, и если даже вам покажется обратное — вы ошиблись. Поверьте.
И если вы дочитаете до конца, а нечто темное коснется вас — не пугайтесь. Просто страшная сказка, которую рассказывают страшные люди.
Эта сказка не о вас.


Сергей Лукьяненко «Осенние визиты»

Зачем компании работают? Самый распространенный ответ: чтобы заработать деньги. Это верный ответ, но не полный. Чтобы жить, человеку нужно есть, пить, дышать и осуществлять другие естественные потребности. Без еды можно какое-то время протянуть, без воды – меньшее, без воздуха – совсем чуть-чуть. Компании в этом плане похожи на людей, деньги – их пища, вода и воздух. Без них они умирают. Но как мало кто из людей видит свое предназначение только в том, чтобы посытнее пожрать, так мало какая компания ставит своей основной целью заработать побольше. Но точно так же, как большинству людей приходится в поте лица добывать себе хлеб, забыв о своём высшем предназначении, так и многие компании концентрируются на заработке, забыв о том, что принято называть модным словом «миссия».
читать страшную сказку дальше
Total votes 24: ↑11 and ↓13-2
Comments13

Симуляция донейт в он-лайн игре

Reading time2 min
Views1.5K
К написанию этого топика меня подтолкнул проведенный на Хабре эксперимент. Он мне напомнил, что я симулировал различные схемы продаж в одной он-лайн игре. В данном случае речь пойдет о донейт схеме, которая вызывает немалые холивары.

В рамках эксперимента раздавались таблетки. В игре эти таблетки не то, что жизненно необходимая вещь, но позволяет чувствовать себя более комфортно. Т.е. легкодоступный товар массового потребления. Одна таблетка стоит одну (неделимую единицу денег) монету, оптом дешевле (1 монета = 3-4 таблетки).
Читать дальше →
Total votes 102: ↑66 and ↓36+30
Comments91

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity