Pull to refresh
18
mayhem @mayhemread⁠-⁠only

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

Send message

Hadoop. Подробное руководство. 3-е издание

Reading time2 min
Views23K
Возможно вы помните пост: Нужна ли книга по Hadoop?, в котором мы хотели узнать ваше мнение, стоит ли издавать эту книгу на русском языке. Прошли положенные 9 месяцев, и мы готовы представить её вашему вниманию.

Встречайте:

image
Читать дальше →
Total votes 60: ↑52 and ↓8+44
Comments24

Python Tools для Visual Studio, о новинках из первых рук

Reading time6 min
Views52K
Эта статья написана Павлом Минаевым int19h — разработчиком из команды PTVS специально для публикации в нашем корпоративном блоге на Хабрахабре. Делитесь вашими впечатлениями в комментариях. Все отзывы будут переданы команде.

Здравствуйте! Я – разработчик из команды Python Tools for Visual Studio. На днях мы выпустили новую бета-версию нашего продукта, и, воспользовавшись поводом, в этот раз я хотел бы поподробнее рассказать о том, что из себя представляет PTVS, и что он может вам предложить.

image
рассказ о новинках из первых рук...
Total votes 126: ↑119 and ↓7+112
Comments49

Коллекция ресурсов для frontend и backend разработчиков

Reading time1 min
Views55K
image

Некий dypsilon выложил на GitHub огромную коллекцию ссылок на ресурсы по веб-разработке, за что ему огромное спасибо.

Список состоит из ссылок на библиотеки, руководства и статьи.

Frontend: github.com/dypsilon/frontend-dev-bookmarks
Backend: gist.github.com/dypsilon/5819528 (много node.js)

Ссылок много, но все — строго по делу и упорядочены по группам (пример для фронтенда):
  1. Архитектура
  2. Фреймворки
  3. Cross Browser
  4. Cross Device
  5. Паттерны и сниппеты
  6. Манипуляция с DOM
  7. … и многое другое

matmuchrapna советует еще frontdesk Вячеслава Олиянчука.
Настоятельно рекомендуется добавить в закладки, а лучше — почитать.
Total votes 120: ↑100 and ↓20+80
Comments12

Разработка web API

Reading time9 min
Views289K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

Создание OLAP куба в MS SQL Server 2012

Reading time1 min
Views44K
Здравствуйте.

Понадобилось мне использовать для анализа данных OLAP кубы. Эту технологию я активно изучал и использовал в 2001-2002 годах и даже сертифицировался по ней. Но потом долгое время не прикасался к ней. И вот совсем недавно попробовал воспользоваться 2012 SQL Server’ом, но не тут то было: многое и того что появилось в новом сервере оказалось мне совершенно не знакомым.

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

Ролик ознакомительный, возможно, некоторые вещи сделаны неправильно, но пример вполне рабочий. Предполагается, что читатель (зритель) уже знаком с понятиями многомерного куба, измерений, мер и для чего это используется.



Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments1

Легальная минимизация налогов в Украине для ИТ компаний

Reading time9 min
Views34K
В 1935 году судья Дж. Сандерленд выразил принципиальную позицию Верховного Суда США:
«Право налогоплательщиков избегать налогов…
с использованием всех разрешенных законами
средств никем не может быть оспорено»


Я продолжаю маленький ликбез по правильной работе с законами нашей страны. Ранее я уже писал про юридическую безопасность ИТ бизнеса в СНГ. Как сказано в цитате выше, которую я совсем недавно где-то прочитал, у каждого есть право платить минимум налогов в рамках закона, и эта статья именно об этом. Как и в прошлой статье, я буду рассматривать одну работающую схему.

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

Немного о том, как все устроено


Для начала нужно понимать, что не платить налоги вообще – не получится. Можно и нужно платить минимум, но всё же платить. Любая предпринимательская деятельность в Украине должна регистрироваться, и с доходов от неё должны платиться налоги. Если вы до сих пор стараетесь работать в черную, должен вас предостеречь, с недавнего времени это стало опасно, чем именно расскажу ниже.
Если вы только начинаете свою деятельность, начать нужно с регистрации СПД или юр. лица. Даже если не планируете создавать транснациональную корпорацию, а банально фрилансите, это тоже считается предпринимательской деятельностью.
Если же предпринимательская деятельность уже идет, и все регистрации давно есть, всегда можно перейти на удобную систему налогообложения, такая возможность по закону дается каждый квартал.

Схема минимизации


Еще раз повторюсь, говорить я буду о законной схеме минимизации.
Читать дальше →
Total votes 55: ↑47 and ↓8+39
Comments74

ASP.NET MVC. Урок 0. Вступление

Reading time2 min
Views783K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


Читать дальше →
Total votes 290: ↑215 and ↓75+140
Comments67

Нельзя просто так взять и обратиться к фоновой странице

Reading time9 min
Views45K
Всё дело — в политике безопасности, аналогичной кроссдоменной. Обращение к страницам других табов или к фоновой странице расширения сознательно ограничено, потому что они считаются страницами других доменов, имеют запреты на прямой доступ к скриптовому окружению, аналогично чужим окнам и фреймам. Механизм сообщений «спасает» как при кроссдоменном доступе между фреймами, как и в доступе к страницам расширений (фоновая, настройки, попап, ...).

В расширении браузера Google Chrome (и Chromium) наиболее важна по функциям — фоновая страница. Она имеет специальный URL вида chrome-extension://ciegcibjokpkcklhgbpnmnikpkmkhbjk/, где длинное имя домена — случайное имя, создаваемое в недрах браузера, которым именуется также каталог расширения где-то в служебной папке ОС. Из контентного скрипта (аналогичного юзерскриптам, исполняемым на странице браузера) можно получить доступ к файлам и картинкам расширения. Но нельзя выполнить много функций, путь к которым лежит через фоновую страницу: устроить хранилище, относящееся к группе реальных доменных имён; хранить настройки расширения, общие для всего расширения. Нужно лишь добраться в Мордор к фоновой странице. Однако, нельзя просто так, по URL, это сделать.
Как же добраться к фоновой странице?
Total votes 45: ↑35 and ↓10+25
Comments8

Как работают браузеры: принципы работы современных веб-браузеров

Reading time2 min
Views189K
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

Возможно для кого-то это давно уже не новость, но, надеюсь, для тех, кто не слышал, будет полезно (на хабре упоминаний не нашел).

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →
Total votes 200: ↑179 and ↓21+158
Comments27

Обмен 1С c клиентом на C# используя веб-сервисы 1С

Reading time9 min
Views112K
Для одного проекта было необходимо использование веб-сервисов 1С, мы строили систему автоматизации склада, и терминалы сбора данных напрямую подключаются к 1С, сами клиенты разработаны на .NET. Получилась очень интересная структура. Полученную информацию о настройках 1С в режиме работы веб-сервиса а так же написание простенькой конфигурации и клиента на C# в виде tutorial лабораторной работы, которую затем успешно презентовал в институте.

Лабораторная работа получила немного замысловатое название:
Организация обмена информацией между клиент-серверным разноплатформенным решением, используя Web-Сервисы в примере источника, разработанного на платформе 1С: Предприятие 8.2 и клиента на платформе .NET 4.0 языке C#

Всем, кто заинтересовался, прошу под кат.
Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments6

Важнейшие $in'ы: производительность MongoDB в диапазонах

Reading time3 min
Views12K
Перевод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.

Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.

Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.

Запрос

db.drivers.find({"country": {"$in": ["A", "G"]}}).sort({"carsOwned": 1})

Индекс

{"country": 1, "carsOwned": 1}

Такая комбинация будет не такой эффективной, как может показаться, не смотря на то, что индекс соответствует правилу. В этом запросе есть ловушка, в которую вы с легкостью попадете следуя общепринятому мнению.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments9

Управление растущими нагрузками в Postgres: 5 советов от Instagram

Reading time5 min
Views28K
С тех пор как число активных пользователей Instagram стало постоянно расти, Postgres оставался нашим надежным фундаментом и неизменным хранилищем данных для большинства данных, создаваемых пользователями. И хотя меньше года назад мы писали о том, как мы храним большое количество данных на Instagram при 90 лайках в секунду, сейчас мы обрабатываем более 10000 лайков в секунду – и наша основная технология хранения данных не изменилась.

За последние два с половиной года, мы поняли несколько вещей и подобрали пару инструментов для масштабирования Postgres и мы хотим ими поделиться – то, что мы хотели бы знать при запуске Instagram. Некоторые из них специфичны для Postgres, другие представлены также и в других базах данных. Чтобы знать, как мы горизонтально масштабируем Postgres, смотрите наш пост Sharding and IDs at Instagram

Узнать больше
Total votes 66: ↑64 and ↓2+62
Comments8

Ищем деньги. Каталог инвесторов для стартапа

Reading time4 min
Views230K
UPD: получил инвестиции под свой проект в сфере обучения облачным технологиям

Здравствуйте уважаемые Хабравчане, особенно те, у кого есть идея своего стартапа! А вот с деньгами и осведомленностью похуже. Хочу Вам в помощь поделиться небольшой таблицей IT-инвесторов, которая была составлена для себя. Дело в том, что я также как и вы, обладаю минимум информации. Такие вопросы как: «к кому идти за деньгами», «как составить бизнес-план», и наконец «кому я вообще нужен со своей идеей» — давно стали навязчивыми.
Именно сейчас, после Новогодних праздников, самое время начать искать тех самых менторов, инвесторов, бизнес-ангелов, да и в целом зачитываться информацией на эту тему. Да, и у меня есть свой стартап, который перестал быстро развиваться и я активно ищу инвестора на дальнейшее развитие (О чем уже писал неделю назад).
Под катом таблица, со списком полезных ссылок, в помощь начинающим IT-компаниям.
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments41

О компиляторах и интерпретаторах

Reading time2 min
Views68K

Если ты всегда мечтал написать свой язык программирования — добро пожаловать. Здесь ты наверняка найдёшь для себя что-нибудь интересное.

GitHub-юзер yawnt собрал чудесную подборку ссылок для любителей драконов, языков и прочих вкусных внутренностей. А знающие камрады в комментариях наверняка поделятся с тобой и другими яствами.

Пишет yawnt следующее:

С каждым днём мне всё интереснее тема компиляторов, интерпретаторов и дизайна языков программирования в целом. И я решил поделиться с народом ссылками на собранные мной материалы (большую часть мне самому ещё предстоит прочитать :<). Надеюсь, кому-нибудь они окажутся полезными.

Я не включил (и не собираюсь) в список ссылки на официальную документацию, т. к. считаю очевидным, что первым делом следует смотреть именно туда ;P.
Итак, куча интересных ссылок
Total votes 116: ↑109 and ↓7+102
Comments55

Pocketsphinx. Распознавание речи и голосовое управление в Linux

Reading time11 min
Views125K
— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»

Введение


В 1997-ом году Лукьяненко пророчил для десктопа сочетание CLI и голосового управления. Однако сейчас голосовое управление — достаточно узкая ниша.
Голосовое управление — взаимодействие с устройством при помощи звуковых команд. Не путайте это понятие с распознаванием речи. Для голосового управления достаточно, чтобы устройство реагировало на единственную нужную команду (ведь ваша собака не может работать машинисткой?). Распознавание речи — гораздо более глобальная проблема: в этом случае устройство должно преобразовывать в текстовый формат все слова, произнесенные вами. Как легко догадаться, распознавание речи на данный момент реализовано поверхностно относительно человеческих возможностей.
Функционал, рассмотренный в статье, может быть применен, к примеру, для организации модного сейчас «умного дома» или просто управления компьютером. Честно говоря, для описания управления компьютером хватило бы пары абзацев, но я попытаюсь показать вам основы работы с CMU Sphinx.
Кстати, процентов 70 описанного здесь подойдет и пользователям Windows.
Научим Linux слушаться?
Total votes 72: ↑63 and ↓9+54
Comments37

Table bloat? Не, не слышал…

Reading time3 min
Views53K


Думаю многим известна особенность PostgreSQL, которая приводит к эффекту раздувания таблиц, или table bloat. Известно что она проявляет себя в случаях интенсивного обновления данных, как при частых UPDATE так и при INSERT/DELETE операциях. В результате такого раздувания снижается производительность. Рассмотрим почему это происходит и как с этим можно бороться.
что?
Total votes 59: ↑58 and ↓1+57
Comments25

Long Polling от А до Я своими руками

Reading time5 min
Views55K
Как реализовать long polling с помощью Nginx и Javascript в сети достаточно много материала. Но полного руководства я ещё не встречал. То возникают проблемы с компиляцией модуля под Nginx, то в браузере вертится иконка загрузки при long poll запросах. Под катом, полный материал как же все таки это сделать правильно.
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments34

R’ha — короткометражный анимационный фильм немецкого студента, открывший ему двери в Голливуд

Reading time2 min
Views240K
Удивительным образом в рунете почти нет информации об этом ярком событии, но я сейчас это исправлю. Шутка ли, студент первого курса Высшей школы медиа-дизайна из Берлина, благодаря своему короткометражному анимационному фильму под названием R`ha получил контракт в Голливуде!



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

«В его работе присутствуют кадры, достойные фильма с бюджетом в 150 миллионов долларов» — пишет продюсер фильма «Сезон ураганов».

Но по порядку.
Читать дальше →
Total votes 243: ↑239 and ↓4+235
Comments217

Профилирование нагрузки на файловую систему с помощью iostat и gnuplot — заметки дилетанта

Reading time9 min
Views92K
Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.

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

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

Все описанное ниже есть плод опыта, ошибок, гугления, курения манов и прочая
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments10

Information

Rating
Does not participate
Date of birth
Registered
Activity