Как стать автором
Обновить
160
-3.9
Антон Д @atd

Самоуверенный пользователь ПК

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

База всех населенных пунктов и регионов России

Время на прочтение2 мин
Количество просмотров7.1K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии40

Знакомство с асинхронными операциями в C# 5

Время на прочтение10 мин
Количество просмотров21K
В прошлый раз мы говорили о том, как можно упростить работу с асинхронными операциями с помощью класса AsyncEnumerator Джеффри Рихтера, а также с помощью библиотеки Reactive Extensions. Однако, как поведал нам недавно Хейлсберг с компанией, счастье таки наступит с выходом новой версии языка C# и нам не понадобится использовать сторонние и не очень велосипеды, при работе с асинхронными операциями.

Идея, которая лежит в основе асинхронных операций в C# 5, очень похожа на ту, которую использовал Джеффри Рихтер в своем классе AsyncEnumerator, только на этот раз помимо нас с вами и старины Рихтера о ней еще узнал и компилятор (что здорово сказывается на вкусовых качествах сего синтаксического сахарка).  Для начала, давайте вернемся к синхронной версии нашего гениального примера, который мы использовали ранее:

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

Особенности Google CDN

Время на прочтение3 мин
Количество просмотров28K
Сначала посмотрите на это:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>


С помощью этого кода вы можете загрузить библиотеку jQuery напрямую из сети доставки контента (CDN) Google.

Обратите внимание, вы можете прямо указать какую версию (/1.4.4/) библиотеки следует загрузить. Но это далеко не все, что можно сделать. Путем простого изменения этой части ссылки можно творить маленькие приятности:
Читать дальше →
Всего голосов 89: ↑76 и ↓13+63
Комментарии52

Функциональное тестирование веб-приложений без боли

Время на прочтение5 мин
Количество просмотров37K
Иногда в жизни бывает так — вот ждёшь, ждёшь чего-то, изучаешь теорию по данному вопросу, рассматриваешь разные подходы к решению, дискутируешь с такими же ищущими как ты, внимаешь гласу признанных гуру, но не продвигаешься дальше ни на дюйм. Потом бросаешь, забываешь вообще об этом вопросе, занимаешься другими делами, и вдруг — на тебе, всё встало на свои места, из разрозненных элементов сложилась чудесная мозаика, нагрянуло просветление, а волосы вдруг стали густыми и шелковистыми.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии19

Бизнес-планирование

Время на прочтение4 мин
Количество просмотров8.9K
Приветствую, Хабрахабр.

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

Дело в том, что я учусь по финансовой специальности, и одним из курсов, которые я изучаю, является предпринимательство и бизнес-планирование. Поэтому в процессе курса я хочу делиться полученными знаниями с Хабром. Надеюсь, мои статьи заинтересуют вас, если нет, по крайней мере, вы будете знать, чему учат в американских бизнес-школах.

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

Итак, бизнес. Преимущественно мы говорим о т.н. стартапе, когда бизнес основывается с нуля. Вы приняли это решение, и неважно, как вы к нему пришли — возможно, у вас появилась идея, возможно, вам просто не хочется просто работать на кого-то. Есть распространенное мнение о том, что для бизнеса нужен существенный начальный капитал. Начальный капитал необходим, но не обязателен, и существует ряд успешных примеров бизнеса, основанного практически на карманные расходы. Как говорит один из моих профессоров, бывший член совета директоров Exxon Enterprises и Genesis Group – «основывая стартап, не заботьтесь о капитальных вложениях, просто докажите, что ваш бизнес способен приносить доход и что вы способны им управлять, и тогда у вас не будет недостатка в капитале».

С чего начать?


Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии40

0W-httpd — простой быстрый фронтэнд

Время на прочтение2 мин
Количество просмотров1.6K
Предлагаю решение, как быстро и просто поставить на сервере легкий фронтэнд для отдачи картинок, css-файлов и прочей статики. С лета 2002 года я для данных целей использую 0W-httpd или ZeroWait httpd, как его часто называют в разных источниках (искать что-то о нем, помимо дистрибутива, лучше по второму названию).
Установить и настроить его достаточно просто (даже слишком просто):
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии50

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Количество просмотров37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →
Всего голосов 77: ↑68 и ↓9+59
Комментарии35

Слушай то, что хочешь! Новый легальный музыкальный проект

Время на прочтение2 мин
Количество просмотров7K
Этим постом хочу познакомить вас с нашим музыкальным сайтом, в какой-то степени альтернативой last.fm, изменение работы которого недавно обсуждалось.

image

Итак, наш проект называется FunSpace. Если коротко, то Фанспейс это: удобный плеер; большая база лицензионной музыки; загрузка и хранение собственной музыки; много хороших плейлистов, которыми можно обмениваться.
Читать дальше →
Всего голосов 35: ↑18 и ↓17+1
Комментарии89

Dedicated-сервер за 1500 рублей

Время на прочтение1 мин
Количество просмотров25K
Благодаря тому, что Supermicro создала серверные платформы (19", 1U) на базе процессоров Intel Atom, мы смогли создать новый низкий тариф на арендуемые (dedicated) сервера.

Сервер на базе двухъядерного процессора Intel Atom D510 (1,66 ГГц), 2 гигабайта оперативной памяти, 500 гигабайт дискового пространства — за 1500 рублей в месяц.

Сервер с IPMI (и всеми полагающимися в связи с этим плюшками).

Причина, почему атомы в два раза дешевле ближайшей «старшей» платформы (Core 2 Duo, 3000р)?
  • Они кушают меньше электричества
  • Они меньше греются (меньше нагрузка на кондиционеры, опять же, меньше электричества).
  • У них ниже стоимость, а значит, меньше затраты на аммортизацию.

Читать дальше →
Всего голосов 83: ↑64 и ↓19+45
Комментарии174

Использование Thrift в .NET

Время на прочтение5 мин
Количество просмотров12K
Хочу поделиться с вами примером того как можно использовать такую удобную штуку как Thrift в своих .NET проектах.

Для тех кто не знает, Thrift — это фреймворк для облегчения взаимодействия между кодом написанным на разных языках, а именно C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk и OCaml.

Thrift используется и был изначально создан Facebook. Так же неоднократно упоминался здесь, на Хабре, но примеров для .NET я не нашел, кстати пошаговое руководство для .NET отсутствует и на официальном сайте. В гугле если честно, тоже не смог найти, хотя может плохо искал.

Thrift позволяет один раз описать сервис, структуры данных и даже исключения, а потом сгенерировать код для всех поддерживаемых языков. Таким образом, если вы, например, напишете сервер с использованием Thrift на .NET, то вы
  1. Сэкономите кучу времени для написания клиент серверного приложения, например с использованием сокетов.
  2. Почти автоматически получаете клиентов на всех поддерживаемых языках.
В своем примере я реализую простейший сервис, который просто будет возвращать время. Но имея такой макет достаточно легко расширить его до чего-нибудь полезного.
Читать дальше →
Всего голосов 41: ↑31 и ↓10+21
Комментарии28

DKIM — это просто

Время на прочтение3 мин
Количество просмотров374K
Здравствуйте.

Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.

Мы имеем:
Задача:
  • Разобраться в системе подписи сообщений DKIM, что бы gmail признал её валидной и выдал заветные: dkim=pass.

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии34

Решение проблем обработки XSLT на стороне клиента

Время на прочтение3 мин
Количество просмотров6.9K
Вы уже используете XSLT в качестве шаблонизатора на сервере. Настал черёд перенести xsl-трансформацию на клиента. Можно, например, воспользоваться способом описанным в статье На клиенте! Получить XML! Получить XSL! Сделать XHTML! Марш!. Но это было бы слишком просто, потому что каждый браузер добавляет несколько своих нюансов при работе с XSLT.

Вопросы о способе загрузки xsl- и xml-файлов и их обработки в различных браузерах был рассмотрен в указанной выше статье. Рассмотрим другие вопросы:
1) инклудинг;
2) кеширование;

Все примеры опубликованы на этой странице ra-project.net/xsl_tests и работают в браузерах Opera, Chrome, IE6, Firefox, Safari.
Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии40

И снова про Решарпер…

Время на прочтение1 мин
Количество просмотров1.5K
Многие из вас наверняка слышали об “аукционе невиданной щедрости” от Microsoft, в котором небольшие компании могут приобрести себе VS2010 со скидкой 60%, при условии, конечно, что в самой компании не более 20 программистов, и покупается не более 10 лицензий.

Но, имхо, за кадром осталась еще одна, не менее интересная новость – а именно то, что вместе со студией можно также прикупить… (барабанный бой)… ReSharper, причем с 80% скидкой. Поэтому если вы, например, сидите на 2005 или 2008, самое время пнуть вашего PM/DM/десижнмейкера и покидаться в него такими словами как “рефакторинг”, “производительность”, и т.п.

Сей праздник жизни продлится до 22 Ноября. Что касается Решарпера, то условии акции описаны тут, ну а собственно форма заказа находится тут.
Всего голосов 63: ↑40 и ↓23+17
Комментарии22

Пара слов о гибридном шифровании и эллиптических кривых

Время на прочтение8 мин
Количество просмотров10K
Здравствуйте, уважаемые читатели. В качестве предисловия позвольте напомнить, что представляют собой гибридные криптосистемы и почему они получили такое широкое распространение.
Итак, гибридной криптосистемой принято называть способ передачи большого объема зашифрованных данных, при котором данные шифруются секретным ключом с применением симметричного алгоритма (например, AES или DES), а сам ключ передается зашифрованным асимметричным шифром (как, скажем, RSA). Такой способ получил широкое распространение за то, что он вбирает в себя преимущества как симметричной, так и асимметричной криптографии. Большой блок данных шифруется очень быстрым симметричным алгоритмом (и это избавляет от серьезных временных затрат), а ключ шифрования передается надежно зашифрованным с помощью асимметричного алгоритма (и это решает проблему распределения ключей, свойственную только симметричным методам). Все это достаточно широко известно, а поэтому перейдем к самому главному, а именно к вопросам реализации. И вот тут начинается много интересного.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии18

Как я спасал сайт apachedev.ru

Время на прочтение4 мин
Количество просмотров2.2K
Решил посетить сайт (на который не заглядывал уже несколько лет) посвященный внутренностям apache2. Но увидел лишь сообщение от хостера о том, что сайт временно заблокирован. Сделал запрос в яндексе: в кеше у поисковика уже ничего нет. Думаю, что сайт заблокирован давно. С помощью смс я продлил хостинг на один день и увидел, что обновлений не было с декабря 2007 года. Попытался связаться с автором через электронную почту, указанную в контактах домена. Ответа не получил…

И тут я решил сделать копию сайта
Всего голосов 106: ↑90 и ↓16+74
Комментарии30

Ликвидатор велосипедов: часть 2

Время на прочтение3 мин
Количество просмотров34K
Исходя из того, что первая статья насобирала много плюсов и попала в избранное большого количества человек, я понял что тема актуальна и во-первых призываю подтянуться сообщество (ведь я не могу знать абсолютно все библиотеки и решения), а во-вторых буду продолжать своими силами рассказывать о том какие библиотеки можно подтянуть, если необходимо что-то сделать вместо того чтобы делать все новые и новые велосипеды, состоящие из водопроводных труб.

В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.

Часть первая из серии



Читать дальше →
Всего голосов 85: ↑71 и ↓14+57
Комментарии36

Компрессия данных в системах промышленной автоматизации. Алгоритм SwingingDoor

Время на прочтение5 мин
Количество просмотров9.1K
Здравствуйте, уважаемые читатели. Хочу представить вашему вниманию описание алгоритма компрессии данных SwingingDoor и рассказать о том, как мы его применяем.



По роду деятельности я занимаюсь разработкой решений в области промышленной автоматизации, а более конкретно — разработкой информационных систем производства. Их назначение — предоставлять информацию для людей и других систем. Они предоставляют оперативные, самые последние данные, а также данные за прошлое. Данные поступают из многочисленных систем контроля (СК), количество параметров измеряется десятками тысяч.

Зачем использовать компрессию, почему бы не хранить все данные?
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии43

Ликвидатор велосипедов: часть 1

Время на прочтение3 мин
Количество просмотров15K
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →
Всего голосов 119: ↑101 и ↓18+83
Комментарии52

На что ещё способно Undo/Redo

Время на прочтение4 мин
Количество просмотров15K
На первый взгляд кажется, что ничем другим кроме отката и повтора Undo/Redo не занимается и заниматься не может. Но это не совсем так.



При реализации XtraRichEdit настал момент, когда нам надо было сделать свойство, которое отвечает на вопрос, изменён документ или нет. Как именно его делать, на первый взгляд было вполне очевидно. Надо было завести переменную isModified и выставлять ей значение true, когда документ изменялся. В тот момент, когда пользователь сохранял документ, надо было присвоить ей значение false. Разумеется, изначальное значение переменной также было false, что означало, что документ не изменён.

Всё было просто и понятно и мы принялись за дело.
Читать дальше →
Всего голосов 60: ↑46 и ↓14+32
Комментарии29

Undo/Redo — Иллюзия простоты

Время на прочтение5 мин
Количество просмотров38K
Такая простая и привычная функция в любом текстовом и графическом редакторе. Казалось бы, какие могут быть сложности с её реализацией? Впервые столкнувшись с разработкой Undo/Redo для текстового редактора XtraRichEdit, мы задумались, а какой же подход нам избрать?


Читать дальше →
Всего голосов 89: ↑75 и ↓14+61
Комментарии87

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность