Search
Write a publication
Pull to refresh
1
0

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

Send message

Support в JetBrains

Reading time11 min
Views21K
Думаю, о том, чем занимается наша компания — JetBrains, — большинство читателей Хабра так или иначе знают. Для остальных скажем коротко: мы делаем продукты, которые облегчают ежедневную жизнь программистов и помогают им писать код быстро и качественно. Среди наших продуктов — известные многим IntelliJ IDEA, ReSharper, PhpStorm, TeamCity, YouTrack и другие.

Но речь сейчас не совсем об этом. Задумывались ли вы о том, как в такой компании, как наша, организован support? Если вам было бы интересно почитать об особенностях работы наших инженеров Технической Поддержки — добро пожаловать под кат.

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

WinJS — opensource от Microsoft

Reading time2 min
Views22K
Два дня назад Microsoft представил JavaScript'овую UI-ориентированную библиотеку для кроссплатформеной разработки — WinJS, который, хоть и существует достаточно давно, но как отдельный «сет» вне привязки к Windows, был представлен только 02.04.2014.

http://dailyjs.com/2014/04/03/winjs/
http://blogs.windows.com/windows/b/buildingapps/archive/2014/04/02/extending-platform-commonality-through-universal-windows-apps.aspx
https://github.com/winjs/winjs

И вот что интересно…
Читать дальше →

Лёгкий способ писать iOS приложения на вебе

Reading time9 min
Views84K
Всем привет. Не так давно Габриель подарил нам игру 2048. Это тот самый удивительный случай, когда клон игры становится более популярный, чем оригинал. Не малая часть успеха Габриеля — открытый код и, вуаля, MIT лицензия. Набрав чуть больше 20к очков, захотелось поделиться результатом с друзьями, кроме как сделать скриншот не получилось. Глянул аппстор на наличие клона с геймцентром или чем-то подобным — пусто. И тут подумал, почему бы нет?
Забегая вперёд, на создание приложения и всех «ништяков» к нему ушло 4 дня. На выходе универсальный код, который от части работает и в вебе и легко портируется на иос/андроид. Однако, давайте по порядку.


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

Неправильное использование атомов и трудноуловимая бага в VCL

Reading time5 min
Views22K
image

Поиск бага


Мучила меня долгое время бага, связанная с неадекватным поведением дельфийских контролов после длительного аптайма системы и интенсивной отладки. Списки переставали обновляться, кнопки нажиматься, поля ввода начинали терять фокус. И все было печально, и перезапуск IDE не помогал. Более того, после перезапуска IDE — она сама начинала так же глючить. Приходилось перезагружаться.
Сегодня меня это достало, и я принялся её искать. Надо сказать не безрезультатно.
Залогировав оконные сообщения я стал анализировать что же пошло не так.
И что же?

Google Cloud Platform Live: смешение IaaS и PaaS. Закон Мура для облаков

Reading time3 min
Views17K
Сегодня мы представляем сразу несколько новостей, касающихся сервисов Cloud Platform. Вас ждут сниженные и упрощенные тарифы, облачные инструменты DevOps, управляемые виртуальные машины (VM) для App Engine, аналитика Big Data в режиме реального времени с использованием Google BigQuery, и многое другое.

Цены, которым нет равных


Облачные платформы предлагают очень простую формулу: вы пользуетесь виртуальной инфраструктурой и платите только за текущую нагрузку. Это выгоднее по сравнению с приобретением собственного оборудования. Кроме того, вам не нужно платить крупные предварительные взносы. Однако цена облачных платформ противоречит закону Мура: за последние 5 лет она падала всего на 8% в год, хотя за это же время стоимость оборудования снижалась на 20–30%.

Мы решили восстановить равновесие, упростив тарифы и снизив стоимость различных услуг «по требованию» на 30–85%:

  1. Виртуальные машины Compute Engine стали дешевле минимум на 32% независимо от размера, региона и класса.
  2. Тарифы App Engine стали более прозрачными; существенно снизились цены на фронтальные виртуальные машины и операции с базами данных.
  3. Cloud Storage теперь стоит 2,6 цента (0,026$) за 1 ГБ (в среднем на 68% ниже для большинства клиентов).
  4. Тариф BigQuery «по требованию» подешевел на 85%.
Читать дальше →

HTML по стандартам

Reading time10 min
Views125K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →

Proxmox 3.1: нюансы установки из «коробки»

Reading time5 min
Views54K
Системе виртуализации «Proxmox» на Хабре посвещено несколько постов, и, конечно, прежде, чем писать этот пост мне довелось их изучить для собственного эксперимента. Мое исследование сводилось к установке Proxmox 3.1 на «голое железо», его настройке и переносе существующих виртуальных машин с VMWare на новую систему. Установка ОС производилась, как следует из названия поста, с дистрибутива Proxmox 3.1, «как есть». В процессе инсталляции, настройки и импорта виртуальных машин возникли интересные моменты, с которыми я и хотел бы поделиться с сообществом.
Читать дальше →

Используем nginx, docker, skydns и skydock для обновления кода на лету (zero-downtime deployment)

Reading time5 min
Views24K

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


Docker


Docker — простая и элегантная библиотека для создания легковесных изолированных друг от друга виртуальных контейнеров, в которых можно исполнять любой код. Совершенно не требователен к ресурсам, минимальный overhead.

Собрав контейнер один раз, его можно многократно использовать.

Простой пример — это БД Redis. Если нам необходимо несколько серверов Redis на одном компьютере, при обычном подходе нам придется изменять конфигурационные файлы в /etc/redis и менять файлы в /etc/init.d. Можно написать bash скрипт, но это не делает процесс легче.
Читать дальше →

Программируем на Python

Reading time1 min
Views53K
Эта книга — идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам программирования на примере создания простых игр. Вы приобретете необходимые навыки для разработки приложений на Python и узнаете, как их применять в реальной практике. Для лучшего усвоения материала в книге приведено множество примеров программного кода. В конце каждой главы вы найдете проект полноценной игры, иллюстрирующий ключевые идеи изложенной темы, а также краткое резюме пройденного материала и задачи для самопроверки. Прочитав эту книгу, вы всесторонне ознакомитесь с языком Python, усвоите базовые принципы программирования и будете готовы перенести их на почву других языков, за изучение которых возьметесь. Научитесь программировать на Python играючи!

image

Книга на сайте издательства ПИТЕР

Оглавление
Отрывок
Читать дальше →

Ещё один формат хранения архивов: dar

Reading time8 min
Views42K

Введение



Есть известная поговорка, что системные администраторы делятся на три типа: тех, кто не делает бэкапы; тех, кто уже делает бэкапы и тех, кто делает и проверяет, что бэкапы рабочие.

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

Strace

Reading time7 min
Views128K
В течение минуты думал над заголовком, так ничего и не придумал…
Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
Читать дальше →

Поднимаем контроллер домена на Ubuntu Server

Reading time6 min
Views252K
Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.
Читать дальше →

IBOX — еще один ARM-мини-ПК

Reading time2 min
Views82K


5 марта, перед вселенским женским днём, на известном краудсорсинговом ресурсе Indiegogo началась кампания по сбору средств на создание еще одного миниатюрного ПК на базе ARM. Под катом небольшой предварительный обзор девайса, плюс немного соображений о том, чем он может оказаться лучше своих многочисленных собратьев.
Читать дальше →

Google представил онлайновый инструмент для обучения Oppia

Reading time1 min
Views13K
Google сегодня выпустил новый open-source инструмент Oppia, с помощью которого каждый сможет создавать онлайновые интерактивные мероприятия для обучения других. Такие уроки, которые называются «изысканиями», может совместно создавать несколько людей через веб-интерфейс, для этого даже не нужно знать программирование.

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

Angular boilerplate. Простота — тренд молодежи

Reading time4 min
Views23K
Любая физическая система стремится к состоянию с наименьшей потенциальной энергией. И программисты не исключение. Поэтому речь пойдет о том, как упростить себе жизнь при разработке на angular.js, используя при этом сервисы, которые сейчас в тренде. Главным образом, я буду ненавязчиво пиарить свое архитектурное решение angular-boilerplate, а на закуску предложу поделиться своим опытом и идеями в комментариях.

Мотивация


Свести рутину к минимуму, создать интуитивно понятную архитектуру и собрать вместе то, что называется best practices.
Читать дальше →

Бан по континентам

Reading time3 min
Views81K


В одно прекрасное утро я просматривал логи и задал себе ряд вопросов:

  1. А жду ли я письма из Юго-Восточной Азии? (когда смотрел логи почты)
  2. И с какого перепугу ко мне стучатся ssh брутфорсеры из Штатов?
  3. Мне надо терпеть сетевые сканеры из Австралии?
  4. Кто мне звонит из Африки? (когда разглядывал логи asterisk)
  5. С какой стати к моему POP-серверу обращаются из Латинской Америки?


Почему бы не забанить по континентам? Оставив только нужный континент(ы)?


Под катом bash скрипт, который этим занимается

О SAN (Storage Area Network) на пальцах

Reading time5 min
Views214K
image

В деле познания SAN столкнулся с определённым препятствием — труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще — есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения — тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies" (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management" — выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне — описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола — Fibre Channel.
Читать дальше →

Пишем генератор для Yeoman.io

Reading time7 min
Views10K
image
Доброго времени суток, хабрасообщество! В этой статье я хочу описать опыт создания генератора для scaffolding системы Yeoman. Прежде всего, я был немного удивлён тем, что данная система и работа с ней не были описаны на хабре, разве что одно маленькое упоминание из далекого 2012 года: Yeoman.io. Как я уже написал выше, в данной статье я буду рассматривать поэтапное создание yeoman-генератора для ваших проектов.
Читать дальше →

How-to: Пишем торговых роботов на TradeScript

Reading time7 min
Views45K
image

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

Автоматизируем щелчки мышкой в Linux: xdotool

Reading time4 min
Views50K
Эта очень короткая заметка на примере активации ключей в Steam описывает процесс автоматизации операций, выполняемых при помощи мыши и клавиатуры.

Допустим, вы купили несколько наборов игр Humble Bundle. Теперь у вас есть, например, 5 ключей для активации в Steam. А может быть 15 или даже 25. Вы очень не хотите активировать их вручную, потому что это слишком муторно: в клиенте Steam нужно каждый раз наводить курсор на меню «Games», щёлкать, потом наводить курсор на пункт меню «Activate a Product on Steam…», опять щёлкать, потом нажимать Enter, потом ещё раз Enter, и только затем наконец-то вводить ключ (а потом нужно подождать, ещё раз нажать Enter, затем Escape). А потом повторять то же самое для каждого последующего ключа. Как писал Леонид Каганов, стоило ли вообще ради такого «прогресса» спускаться с пальмы и брать в руки каменный топор?

В общем, вы решили этот процесс автоматизировать — тем более, что задача-то, на самом деле, очень простая. Для её решения нам потребуются консольные утилиты xdotool и xclip — убедитесь, что они установлены у вас в системе.
Читать дальше →

Information

Rating
10,506-th
Location
Туймазы, Башкортостан(Башкирия), Россия
Registered
Activity