Pull to refresh
20
Артем Тритяк @ArtyomTrityakread⁠-⁠only

User

Send message

Из html в pdf – легко! Обзор конвертеров

Reading time3 min
Views102K
Ежедневно в процессе деятельности регистратора REG.RU, в котором я работаю программистом, совершаются сотни операций, требующих оформления каких-либо официальных документов. Среди них — различные договоры, счета, сертификаты и т.п., которые необходимо печатать как компании, так и клиентам. Для таких целей хорошо подходит формат PDF, который на сегодняшний день стал де-факто основным для обмена и распространения документации. Основными преимуществами этого формата можно назвать: кроссплатформенность, аппаратную независимость и безопасность. Все вышеперечисленное позволило PDF завоевать популярность среди пользователей и стать одним из самых распространенных.

Как можно создавать документы в формате PDF на лету, из скрипта?
Читать дальше →
Total votes 79: ↑70 and ↓9+61
Comments24

Литература на зиму — новый Windows Phone Training Kit

Reading time1 min
Views1.7K
Длинные новогодние выходные – хорошая возможность засесть за изучение технологий!

Тем более, что недавно обновился Windows Phone Training Kit – полный учебный курс по созданию приложений и игр для Windows Phone.

Теперь курс полностью доступен в офлайне в двух вариантах – базовом (basic) и расширенном (advanced).

Темы базового курса:
Читать дальше →
Total votes 42: ↑31 and ↓11+20
Comments17

Пара слов о разработке и публикации add-ons для FireFox и Chrome

Reading time2 min
Views3.4K
image
На днях мне обломился инвайт на лепру. В связи с чем появилось желание поэкспериментировать с плагинами для отображения картинок из комментариев к посту. Дальше о лепре ни слова, просто несколько тезисов о написании и публикации простого или чуть более чем простого адд-она для FireFox и Chrome. Ну и в конце — ссылки на поделки.
Читать дальше →
Total votes 60: ↑46 and ↓14+32
Comments17

Масштабирование производительности PostgreSQL с помощью партицирования таблиц

Reading time13 min
Views32K

Классический сценарий


Вы работаете над проектом, где транзакционные данные хранятся в базе данных. Затем вы развёртываете приложение в рабочей среде, и производительность великолепна! Запросы проходят шустро, и задержка при их вводе практически незаметна. Через несколько дней/недель/месяцев база данных становится всё больше и больше, и скорость запросов замедляется.

Есть несколько подходов, с помощью которых можно ускорить работу вашего приложения и базы данных.

Администратор базы данных (DBA) посмотрит и проследит, чтобы база данных была оптимально настроена. Он предложит добавить определённые индексы, убрать логирование на отдельную партицию, подправить параметры движка базы данных и убедиться, что база данных здорова. Можно также добавить выделенных IOPS (Input/Output Operations Per second) на EBS диске, чтобы увеличить скорость дисковых партиций. Это даст вам выиграть время и даст возможность решить главную проблему.

Рано или поздно вы поймёте, что данные в вашей базе данных являются узким местом (botleneck).
В базах данных многих приложений важность информации уменьшается со временем. Если вы сможете придумать способ избавиться от этой информации, ваши запросы будут проходить быстрее, время создания бэкапов уменьшится, и вы сэкономите кучу места. Вы можете удалить эту информацию, однако тогда она пропадёт безвозвратно. Вы можете послать множество DELETE запросов, вызвав создание тонн логов, и использовать кучу ресурсов движка базы данных. Так как же мы избавимся от старой информации эффективно, но не потеряв её навсегда?
В примерах мы будем использовать PostgreSQL 9.2 на Engine Yard. Вам также нужен git для установки plsh.

Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments15

PostgreSQL 9.2 Начало!

Reading time4 min
Views234K
Мне хотелось создать прекрасный объемлющий мануал Getting Start без всякой воды, но включающий основные плюшки для начинающих по системе PostgreSQL в Linux.

PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.

PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:


Кроме того, PostgreSQL может быть расширен пользователем во многих отношениях, например, путем добавления новых
  • типов данных
  • функций
  • операторов
  • агрегатных функций
  • индекс методов
  • процедурных языков

Читать дальше →
Total votes 35: ↑19 and ↓16+3
Comments26

Знакомимся с Fabric.js. Часть 2-я

Reading time13 min
Views25K
Это вторая часть серии статей об открытой Javascript canvas библиотеке Fabric.js.

В первой части этой серии, мы ознакомились с самыми базовыми аспектами canvas библиотеки Fabric.js. Мы узнали чем может быть полезна Fabric, рассмотрели её объектную модель и иерархию объектов; увидели что существуют как простые фигуры (прямоугольник, треугольник, круг), так и сложные (SVG). Научились выполнять простые операции над этими объектами.

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

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments12

AWS: Хороший, плохой, злой

Reading time8 min
Views15K
Здесь, в awe.sm, мы с самого начала использовали Amazon AWS для хостинга. За последние три года мы изучили, что хорошо, а что не очень и сформулировали для себя свой собственный набор правил для запуска высоко доступной, высоко производительной системы, которые в некоторых случаях отличаются от того, что советует Amazon.

Мы собираемся поговорить о следующих родственных понятиях:
  1. Для людей, которые слышали об Amazon, но еще не имели возможности его использовать, мы покажем все преимущества и недостатки этого сервиса, с которыми мы столкнулись в своей работе.
  2. Для тех, кто уже использует AWS, мы проясним некоторые детали и расскажем о лучшей практике использования Amazon для таких высокопроизводительных сервисов, как наш, где непрерывная работа системы является самым высоким критерием.

Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments21

AWS Command Line Interface — всё в одном

Reading time1 min
Views6.6K
Привет! image

Вы используете утилиты командной строки для управления серверами и сервисами AWS? Как же надоело обновлять и качать их из разных мест. Да и неоднородность команд тоже не радует…

AWS официально выпустили консолидированный CLI, который в последствии будет включать в себя все доступные сервисы. А сейчас можно управлять
  • Amazon Elastic Compute Cloud (Amazon EC2)
  • Elastic Load Balancing
  • Auto Scaling
  • AWS CloudFormation
  • AWS Elastic Beanstalk
  • Amazon Simple Notification Service (Amazon SNS)
  • Amazon Simple Queue Service (Amazon SQS)
  • Amazon Relational Database Service (Amazon RDS)
  • AWS Identity and Access Management (IAM)
  • AWS Security Token Service (STS)
  • Amazon CloudWatch
  • Amazon Simple Email Service (Amazon SES)
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments5

Играемся с изображениями в Python

Reading time3 min
Views251K
В этой статье я хотел бы разобрать различные способы преобразования изображений с помощью Python. Для примеров я решил взять несколько наиболее известных. В статье не будет ничего сложного, она ориентированна в основном на новичков.
Картинка для испытаний:


Читать дальше →
Total votes 86: ↑65 and ↓21+44
Comments50

Публикация приложения в Elastic Beanstalk

Reading time4 min
Views5.2K
Привет! image

Сегодня я расскажу как легко создавать приложения в Elastic Beanstalk и публиковать их прямо из Git!

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

Установили. В консоли у нас появится команда eb, с которой мы и начнём.

1. Создание приложения


Для начала создадим папку приложения и инициализируем Git репозиторий. Например:
$ mkdir ~/Work/testapp/ && cd ~/Work/testapp/
$ git init

Создадим приложение Elastic Beanstalk
$ eb init
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments4

Версионирование объектов в S3

Reading time2 min
Views5.6K
Привет! image

Сегодня я хочу поделиться результатами своего исследования в области версионирования объектов в S3. Я про эту фичу слышал давно, но особо много не знал. Да и сейчас не особо много знаю — расскажу, как включить версионирование в бакете и получение объектов разных версий.

Моё исследование показало, что эта функция не особо востребована, а готовых бесплатных утилит для версионирования вообще не существует. Зато есть библиотеки, в которых есть этот функционал. Нужно — разрабатывайте, мол.

Итак, для версионирования, в бакете нам прежде всего нужно его включить. Есть 2 доступных способа это сделать, и оба они завязаны на API.
  • Чистый REST/SOAP запрос
  • Через библиотеку

Я воспользуюсь Ruby библиотекой aws-sdk, которую и установим:
$ gem install aws-sdk
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments21

Как написать игру в стиле Tower Defense

Reading time19 min
Views62K
Жанр Tower Defence один из самых популярных жанров игр на iOS. Причиной тому веселое времяпрепровождение, сдобренное постройкой башен для создания последней точки обороны против орд монстров, пытающихся эту самую оборону прорвать.
Представляю вашему вниманию перевод статьи, написанной Pablo Ruiz, и найденной мной на сайте raywenderlich.com.
В этом уроке будет показано, как создать игру Tower Defense с нуля, с помощью Cocos2D.
В процессе вы выучите следующее:
  • Как создавать волны врагов и настраивать время их появления.
  • Как заставить этих врагов двигаться по заданным точкам(waypoint'ам).
  • Как строить башни на специально отведенных местах на карте.
  • Как заставить башни стрелять во врагов.
  • Как визуально представить waypoint'ы и радиусы атак башен.

В конце урока, у вас будет свой фрэймворк для создания игр такого типа, который вы сможете расширять, добавляя новые типы врагов, башен и карт.
Для понимания этого урока, вам нужно базовое понимание Cocos2D. Если вы новичок, то можете взглянуть на более легкие уроки на сайте Рэя.
Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments24

AWS: Status Check + CloudWatch

Reading time2 min
Views3.6K
Привет! image

Status Check


Многие замечали в консоли EC2 в таблице инстансов столбец Status Check. Он обычно зелёного цвета — OK. Не раз я видел, что статус чек фейлится. Что же такое статус чек, какие параметры он отслеживает?

Status Check — это несколько автотестов, которые проходит инстанс и нода-носитель, на которой этот инстанс бежит. На данный момент есть 2 статус чека:

1. System Status Check — проверка состояния параметров, которые зависят от AWS. Эти проблемы легко решаются рестартом или стоп-стартом инстнса, он переедет на другой носитель. В целом проблемы могут быть:
  • недостаток сетевых ресурсов
  • недостаток питания
  • проблемы с ПО носителя
  • проблемы с аппаратным обеспечением носителя
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments0

Amazon SQS vs RabbitMQ

Reading time8 min
Views23K

Введение


Любой прогресс и оптимизация приветствуется кем угодно. Сегодня хотелось бы поговорить про прекрасную вещь, значительно облегчающую жизнь – очереди. Внедрение best practices в этом вопросе не только улучшают производительность приложения, но и успешно готовят ваше приложение к архитектуре «в стиле» Cloud Computing. Тем более, что не использовать уже готовые решения от провайдеров облачных технологий просто глупо.

В этой статье мы рассмотрим Amazon Web Services с точки зрения проектирования архитектуры средних и больших веб приложений.

Рассмотрим схему такого приложения:



Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments17

AWS Insight: Как работают Placement Groups

Reading time2 min
Views4.7K
Привет! image

У многих есть проекты с «хайлоадом». Немногие используют кластеры на AWS. И те, кто всё-таки их используют, должны использовать Placement группы.

Что это такое


Placement Groups (Группы размещения) — логические объединения кластерных типов AWS инстансов, позволяющие уменьшить сетевые задержки. AWS гарантирует скорость в 10 Gb между серверами, запущенными в одной плейсмент группе. Чисто теоретически, эти инстансы запускаются географически рядом.

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

Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments3

AWS Insight: Как работает ELB

Reading time2 min
Views14K
Привет! image

Хочу поведать читателям Хабрахабра о сервисе Elastic Load Balancer, который входит в состав Enterprise Compute Cloud. Многие давно уже пользуются сервисом ELB, но не знают как работает сервис изнутри. Я немного владею этой информацией — многочасовые митинги с саппортом AWS иногда гораздо познавательнее документации на сайте.

Итак, начнём с основ, потом перейдём к нюансам.

Что такое ELB.


Elastic Load Balancer — это сервис, предоставляющий балансировку запросов между инстансами EC2/VPC. Соответственно есть 2 типа ELB, которые
  • видны из интернета — EC2/VPC
  • не видны из интернета — VPC
Читать дальше →
Total votes 33: ↑23 and ↓10+13
Comments48

how to: Как и зачем работать с svn через git

Reading time3 min
Views58K
Добрый день!

В статье я расскажу, как мы работаем с svn через git и почему не выбрали чистый git.

SVN


Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)

Плюс в том, что централизация дает возможность, например, нумеровать коммиты, т.к. их порядок известен.
Так же она минимизирует конфликты (хотя об этом можно и поспорить), т.к. текущее состояние репозитория одно и оно всем известно.
В svn можно хранить несколько проектов в одном репозитории. Вообще интефрейс репозитория в svn очень похож на файловую систему, что обеспечивает минимальный порог вхождения для тех, кто никогда не работал с системами контроля версий.

Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments41

Работа с PostgreSQL: настройка и масштабирование

Reading time1 min
Views18K
image

Добрый день, хаброжители. Прошло много времени с выпуска 2 версии книги по PostgreSQL — успела выйти версия 9.1 и 9.2 этой замечательной базы данных. Материалов по практическому использованию этой БД также накопилось немало, поэтому я решил выпустить обновление по книге. Итак, встречайте:«Работа с PostgreSQL: настройка и масштабирование», 3-е издание.

Как и раньше, в книге исследуются вопросы по настройке производительности PostgreSQL, репликации и кластеризации. Список изменений можно глянуть на странице книги. Любые пожелания или замечания можно высылать по почте (в моем блоге указано) или писать в github issues (или даже делать pull request на исправления). Приятного прочтения!

Страница книги: postgresql.leopard.in.ua
Исходники: github.com/le0pard/postgresql_book
Total votes 83: ↑81 and ↓2+79
Comments16
1
23 ...

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity