Pull to refresh
169
0
Alexander Kouznetsov @unconnected

User

Send message

Перспективы: MS Exchange + Linux

Reading time5 min
Views3.3K
Хочу рассказать о грядущем счастье для линуксоидов, в плане поддержки нативного протокола MS Exchange MAPI, а также тем, что уже реализовано и с чем уже сейчас можно поиграться.

Многие, кто пытался настроить доступ к MS Exchange из Linux наверняка всегда в своих поисках приходили лишь к одному решению — Evolution + exchange плагин к нему. Более любопытные. знают, КАК и с помощью какой матери реализована эта поддержка. И всегда становится грустно, потому как Exchange стоит во многих местах, например в гос. органах и обеспечивает совместную работу людей и линуксу без поддержки протокола доступа к Exchange, к сожалению, закрыта туда дорога. Так было раньше, но сейчас…

Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments22

Поменяйте вашу вкладку «Главная» для лучшей оптимизации поисковиками

Reading time1 min
Views374
Say No to the Home Tab

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

Любой сайт имеет навигационное меню, и почти всегда в первой вкладке меню имеется ссылка «Главная» и она ведет на главную страницу. Это очень плохо для поисковой оптимизации, и вот почему.

Гугль смотрит на текст ссылки и использует ключевые слова, которые помогают ему понять тему страницы. Итак, когда вы даете ссылку со словом «Главная», вы на самом деле говорите Гуглю, что страница о «Главном». Я готов с вами поспорить, хоть на миллион долларов, что ваша страница не о «главном»; в действительности же она о каком-то товаре или услуге, которую вы предлагаете. И даже если ваша страница о «главном», то на эту тему есть уже миллионы веб-сайтов с использованием ключевого слова «Главная», которые ссылаются на свои страницы, поэтому использование этого ключевого слова теряет свой смысл.

Идем дальше. Представим, у вас есть сайт в тысячу страниц и одно и то же меню в верхней части страницы. Это ужасно, когда у вас много ссылок, сообщающих Гуглю о какой-то «Главной» странице.

Пора покончить с этим! Если у вас на сайте есть запись «Главная», то я настоятельно призываю изменить ее сейчас же! Необходимо использовать то, что характеризует сам ресурс, то чем вы занимаетесь. Подберите ключевые слова, которые пользователи вводят в поле для поиска, чтобы найти ваш продукт или оказываемую вами услугу.

Если вы продаете голубые джинсы, так поменяйте же, наконец-то, вашу вкладку «Главная» на «Голубые джинсы»! Это такой мощный трюк, который очень сложно достичь каким-то другим способом. Вот так-то, ребятки! Просто берем и достаем из шапки кролика!
Total votes 56: ↑32 and ↓24+8
Comments16

Протоколы прикладного уровня: Jabber/XMPP часть1

Reading time7 min
Views8.3K
Прочитав статью и испробовав команды, научимся
--Соединяться с Jabber сервером
--Логиниться
--Менять статусы
--Отправлять сообщения
--Отключаться

И все это на чистом XML

В принципе, можно статью назвать «Введение в XMPP» или типа того… Но суть не изменится
Приступим-же!
приступить...
Total votes 79: ↑75 and ↓4+71
Comments21

Интернет-магазин. Начало работы

Reading time8 min
Views19K
Привет, хабранарод!
Писал я давно когда-то про osCommerce небольшую статейку, меня даже просили выложить свою сборку. Если кому она до сих пор нужна — у меня осталась, могу куда-нить положить. Но, наевшись с ОСК, решили написать свою систему. При помощи CakePHP. Об этом хорошо поведал товарищ neudor, с которым на пару мы это дело разрабатывали. В данный момент он несколько отошел от работы с магазином, поэтому я выхватываю у него эстафетную палочку вести цикл статей, посвещенный разработке ПО для интернет-магазина, а также непосредственно организации самой работы, службы доставки, регистрации, налогах. В общем полный FAQ «от и до» — что ждет начинающего предпринимателя, если он решится открыть полностью легальный бизнес в России, с выкладкой затрат в денежном и временном эквиваленте. Итак, сегодня я расскажу о стороне вопроса, не касающейся технической реализации…
Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments61

10 шагов для добавления сайта в Яндекс.Новости и Google News

Reading time3 min
Views83K
Яндекс.Новости и Google News являются крупнейшими новостными агрегаторами в России. Так, по данным TNS Russia в июне 2009 года Яндекс.Новости в день посещало чуть более 1,1 миллиона человек. Представьте, какой трафик на сайт могут дать подобного рода системы. И в отличие от, например, News2 и Smi2, новости попадают туда автоматически. Причем, для Google News не нужно совершенно ничего делать — главное, чтобы ваш сайт индексировался Гуглом. Для Яндекса нужно делать полнотекстовый фид со некоторыми тонкостями.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments36

Наборы команд должны быть свободны: доводы за RISC-V

Reading time10 min
Views19K
Примечание переводчика. В оригинале статьи авторы (один из них — пионер RISC-процессоров Д. Паттерсон) аргументируют необходимость развития открытых ISA (instruction set architecture, наборов команд процессоров) и продуктов на их основе. В качестве аргументов выдвигается стимулирование развития тех областей вычислительной техники и экономических ниш, в которых коммерческие компании не заинтересованы или же недостаточно гибки. Они напоминают об успехах открытых стандартов и свободного программного обеспечения.

На расширенную версию этой статьи (а также на контр-статью от представителей ARM и контр-контр-параграф от авторов!) я наткнулся в августовском выпуске Microprocessor Report (MPR). Доступ к MPR ограничен и распространяется только на подписчиков, однако в открытом доступе есть оригинальный отчёт, размещённый на сайте университета Беркли. Его перевод я и предлагаю далее.

Instruction Sets Should Be Free: The Case For RISC-V by Krste Asanović and David A. Patterson. EECS Department, University of California, Berkeley — Technical Report No. UCB/EECS-2014-146 www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.html

Copyright notice and disclaimers
Перевод делается с любезного разрешения авторов.

Copyright © 2014, by the author(s).
All rights reserved.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission.

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

Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments11

Папа, а почему на ноль делить нельзя?

Reading time6 min
Views238K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Total votes 262: ↑192 and ↓70+122
Comments281

Серьезное проектирование серьезного магазина. Часть 1. Исследуем и продумываем функционал

Reading time19 min
Views128K
Не так давно я писал статью про проектирование больших сайтов на примере социальной сети со схожим названием: «Серьезное проектирование серьезных сайтов». Сегодня я хочу поговорить про одну из основных сфер нашей деятельности – электронную коммерции, а именно про проектирование интернет-магазинов.

Это цикл статей больше специалистов, значительно более углубленно, чем все мои прошлые статье в этой области. В статье я расскажу про крупнейшие интернет-магазины США, Китая, России и Украины, расскажу как маркетинг влияет на проектирование, покажу подробный Mind Map гипермаркета, опишу 57 основных модулей интернет-магазинов для внешней (покупательской) части и более 50 модулей для внутренней части (административной), покажу интерфейсы магазинов и еще много полезного.

Интернет-магазинами и технологиями продаж в Интернете лично я занимаюсь с далекого 2005 года. За годы работы мое мнение по этому вопросу сильно эволюционировало. Когда-то я думал, что интернет-магазин – это довольно простой сайт с точки зрения разработчика или маркетолога, мне казалось, что все магазины похожи друг на друга и достаточно один раз получить пул знаний, который потом можно будет использовать многие годы без особых изменений, ведь интернете-магазин – это только тип сайта для продажи товаров и на первый взгляд нет ничего сложного в том, чтобы разработать очередной магазин со схожим функционалом, но с другими товарами. На самом деле все значительно сложнее и чем больше я узнаю про интернет-магазины, тем больше понимаю, что в этом вопросе невозможно знать все, даже одна мелочь в интерфейсе может изменить прибыль магазина на тысячи долларов, а для больших игроков эта «мелочь» может стоить миллионы. Именно эта особенность электронной коммерции делает требования к сайтам и специалистам, которые их делают, безумно высокими. Чуть ниже я покажу много интересных цифр, которые докажут мое утверждение.

Ранее я уже писал статью про технологию проектирования больших сайтов, которая, кстати, имела очень большую популярность в русскоязычном и англоязычном сегменте Интернета: «Серьезное проектирование серьезных сайтов». Проектирование интернет-магазина хоть и имеет сходную последовательность действий, описанную мной в прошлой статье, но сама технология все таки сильно отличается, поэтому давайте рассмотрим это в мельчайших подробностях. По ходу статьи я буду ссылаться на свою прошлую, чтобы не повторяться, а в этой сделаю упор именно на различия.
Mind Map
Читать дальше →
Total votes 88: ↑73 and ↓15+58
Comments56

30 полезных сервисов для веб-разработчика

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Total votes 180: ↑156 and ↓24+132
Comments48

Автоматизация тестирования. Начало пути

Reading time10 min
Views112K
Добрый день, Хабр!

Темой сегодняшней статьи будет автоматизация функционального тестирования веб-приложений. Точнее говоря, не сама автоматизация, как вид тестирования, а быстрый старт в этом, безусловно, увлекательном деле.
Многие тестеры, занимающиеся проведением функционального и регрессионного тестирования, рано или поздно приходят к мысли об автоматизации процесса, т.к. совершенно точно можно сказать, что выполнение одних и тех же регрессионных кейсов со временем ужасно надоедает.
Статья рассчитана на людей, которые только-только подходят к этой мысли и не знают думают, с чего бы им начать свой путь в автоматизации.
Кого заинтересовало, прошу под кат.
Total votes 16: ↑15 and ↓1+14
Comments14

Балансировщики нагрузки в Microsoft Azure

Reading time9 min
Views7.1K
Microsoft Azure предлагает сервис балансировки нагрузки для виртуальных машин (IaaS) и облачных служб (PaaS), запущенных в облаке Microsoft Azure. Помимо прочих достоинств, балансировка нагрузки позволяет масштабировать ваши приложения и дает возможность мягче реагировать при возникновении ошибки или отказа.

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

Диаграмма на рисунке ниже показывает пример приложения, расположенного в Microsoft Azure, которая использует балансировщик нагрузки для адресации входящего трафика (по адресу/порту 1.2.3.4:80) на три виртуальных машины, слушающих 80й порт (кликабельно).


Далее перечислены основные возможности балансировщика нагрузки в Microsoft Azure
Читать дальше →
Total votes 28: ↑20 and ↓8+12
Comments1

Готовим IndexedDB

Reading time7 min
Views79K


На Хабре уже рассказывали про IndexedDB — стандарт хранения больших структурированных данных на клиенте. Но это было давно и API сильно изменился. Несмотря на это в поиске статья всплывает одной из первых и вводит в заблуждение многих, кто начинает пытатся работать с этой технологией. Поэтому я решил написать новую статью с информацией об актуальном API.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments8

Об особенностях реализации префиксного энтропийного кодирования для больших алфавитов

Reading time4 min
Views10K
Думаю, всем читателям хабра хорошо известны алгоритмы энтропийного сжатия с использованием префиксных кодов (алгоритмы Шеннона-Фано, Хаффмана и др.). Особенностью этих алгоритмов является тот факт, что длина кода определённого символа зависит от частоты этого символа в закодированном сообщении. Соответственно при декодировании сообщения необходимо иметь таблицу частот. Данная статья посвящена рассмотрению малоизученной, но важной задачи – передаче частот исходного алфавита.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments18

Математические выражения в .NET (разбор, дифференцирование, упрощение, дроби, компиляция)

Reading time19 min
Views41K
Мне со школьных времен был интересен алгоритм вывода аналитических производных и упрощения выражений. Данная задача была актуальна впоследствии и в вузе. Тогда-то я реализовал ее, только получилось все не так, как хотелось: вместо кода IL у меня просто генерировался C# код в текстовом виде, сборки не выгружались, ну и к тому же не было возможности вывода производных в аналитическом виде. Однако потом я решил все-таки реализовать такую библиотеку, так как интерес остался. Стоит отметить, что таких библиотек в интернете большое количество, но нигде я не нашел именно этапа компиляции выражений в IL код, т.е. по сути везде выполняется интерпретация, которая не столь эффективна, в отличие от компиляции. Ну и к тому же я это разрабатывал чисто для себя, для изучения новых технологий, особо не надеясь, что результат моих трудов может где-нибудь потребоваться. Для нетерпеливых: исходники, программа.

Используемые программы и библиотеки


  1. GOLD Parsing System — IDE для написания грамматик и генерации кода лексеров и парсеров под различные языки (C, C#, Java, JavaScript, Objective-C, Perl, Python, Ruby и др.). Основана на LALR парсинге.
  2. Visual Studio 2010
  3. GOLD.Engine — сборка под .NET, подключаемая для взаимодействия со сгенерированными таблицами.
  4. NUnit — Открытая среда юнит-тестирования приложений для .NET.
  5. ILSpy — OpenSource дизассемблер под .NET.

Этапы, на которые я разбил весь процесс:
  1. Построение дерева выражения
  2. Вычисление аналитической производной
  3. Упрощение (симплификация) выражения
  4. Обработка рациональных дробей
  5. Компиляция выражения

Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments35

Windows Azure Pack — что за зверь и с чем его есть?

Reading time5 min
Views34K
Всем согревающий привет от Лорда Огня!
В этот замечательный, солнечный и морозный (ух! — лад-хлад!) день уж очень хочется рассказать про что-нибудь облачное (банально, не правда ли? — смайл).
Вот как раз на тему облачности думаю я пора рассказать про такую интересную штуку как Windows Azure Pack! Это как WIndows Azure, только как-бы «у вас в кармане»! Интересно? Тогда милости прошу продолжить чтение!



Читать дальше →
Total votes 33: ↑21 and ↓12+9
Comments6

Преобразование равномерно распределенной случайной величины в нормально распределенную

Reading time6 min
Views127K
Этот вопрос уже давно подробно изучен, и наиболее широкое распространение получил метод полярных координат, предложенный Джорджем Боксом, Мервином Мюллером и Джорджем Марсальей в 1958 году. Данный метод позволяет получить пару независимых нормально распределенных случайных величин с математическим ожиданием 0 и дисперсией 1 следующим образом:
алгоритм марсалья marsaglia
где Z0 и Z1 — искомые значения, s = u2 + v2, а u и v — равномерно распределенные на отрезке (-1, 1) случайные величины, подобранные таким образом, чтобы выполнялось условие 0 < s < 1.
Многие используют эти формулы, даже не задумываясь, а многие даже и не подозревают об их существовании, так как пользуются готовыми реализациями. Но есть люди, у которых возникают вопросы: «Откуда взялась эта формула? И почему получается сразу пара величин?». Далее я постараюсь дать наглядный ответ на эти вопросы.

Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments34

CBOR — новый бинарный формат представления данных

Reading time9 min
Views61K
Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments39

О достоинствах спагетти-методологии

Reading time7 min
Views55K
Недавно к нам в компанию пришёл специалист из дружественной сервисной компании с презентацией классического спагетти-подхода к программированию. Ниже приведён пересказ его лекции. Презентация вызвала живой интерес и обсуждение (среди менеджеров).

В ходе лекции мы узнали, что существует методология проектирования, которая работает в большинстве простых и среднесложных проектов, и только для крупных и растущих рекомендуется её сменить, начав переписывать функции заново на некотором этапе.
Читать дальше →
Total votes 122: ↑88 and ↓34+54
Comments63

Как и зачем я решил начать собственное дело

Reading time8 min
Views190K
Салют, Хабр!
Недавно я уволился с довольно завидной должности (главного архитектора) в довольно неплохой компании (Acronis) и с непоколебимым решением в мозгу больше не работать по найму переехал из Москвы обратно в Ереван, откуда семь лет назад понаехал в Златоглаво-Нерезиновую. Учитывая необычность произошедшего и часто задаваемый вопрос «но почему?!», я решил разобраться в собственных мыслях и озвучить их вслух для себя самого и тех, кто может почерпнуть в моих размышлениях что-то для себя полезное. Короче говоря, это рассказ о том, почему я оставил высокооплачиваемую перспективную работу в международной компании ради сомнительной перспективы начать собственное дело, и как я собираюсь дальше жить.
Читать дальше →
Total votes 321: ↑291 and ↓30+261
Comments418

Машинное обучение и анализ данных. Лекция для Малого ШАДа Яндекса

Reading time3 min
Views60K
Все чаще и чаще мы сталкиваемся с необходимостью выявлять внутренние закономерности больших объёмов данных. Например, для распознавания спама необходимо уметь находить закономерности в содержании электронных писем, а для прогнозирования стоимости акций — закономерности в финансовых данных. К сожалению, выявить их «вручную» часто невозможно, и тогда на помощь приходят методы машинного обучения. Они позволяют строить алгоритмы, которые помогают находить новые, ещё не описанные закономерности. Мы поговорим о том, что такое машинное обучение, где его стоит применять и какие сложности могут при этом возникнуть. Принципы работы нескольких популярных методов машинного обучения будут рассмотрены на реальных примерах.

Лекция предназначена для старшеклассников — студентов Малого ШАДа, но и взрослые с ее помощью смогут составить представление об основах машинного обучения.

image

Основная идея машинного обучения заключается в том, что имея обучающуюся программу и примеры данных с закономерностями, мы можем построить некоторую модель закономерности и находить закономерности в новых данных.
Видеозапись и конспект лекции
Total votes 68: ↑64 and ↓4+60
Comments3

Information

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