Pull to refresh
33
0
Andrey Unger @Cobalt

Разработчик

Send message

Ускоряем Nginx за 5 минут

Reading time5 min
Views298K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь

Первая программа для OS X своими руками — менеджер буфера обмена

Reading time6 min
Views27K
Больше года прошло с тех пор, как я увлекся программированием под платформу iOS. Наконец-то я нашел свободное время попробовать свои силы на платформе OS X. Если вы давно испытываете интерес к платформе OS X, но никак не соберетесь начать, эта статья для вас! Под катом подробное описание процесса создания приложения — менеджера буфера обмена. Все исходники можно найти на github.com/k06a/Clipshare


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

Пулы соединений к БД — зачем и почему

Reading time5 min
Views83K
Когда Ваш проект начинает пользуется популярностью и каждая миллисекунда обработки запроса от пользователя становится критической, приходится искать узкие места в системе. Часто больше всего времени занимает выполнение SQL запроса из приложения к базе данных. Попробуем разобраться, что можно оптимизировать в программе при работе с БД.
Читать дальше →

Java сертификация. Подготовка к SCJP

Reading time5 min
Views71K
В этом месяце я сдавал экзамен SCJP. В этом топике я расскажу о подготовке и экзамене.
В основном для тех, кто собирается сдавать и кому нужно больше информации об этом.

Уточнение


Так как Sun'a больше нет, то и экзамена SCJP тоже нет. Теперь он значится так:
1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam.
прочитать об экзамене и посмотреть задачи

База GeoIP – страны и города, сентябрь 2013

Reading time2 min
Views70K
Вышла в свет обновленная версия русскоязычной базы данных стран и городов.

База распространяется в двух модификациях: «Страны и города» (13Mb, после установки ~74Mb)  и «Только страны» (2Mb, после установки ~9Mb). Также в архивах находится небольшой пример использования базы данных на php.
Читать дальше →

Цикл разработки через Github

Reading time3 min
Views106K

Разработка



Я расскажу о цикле разработки через Github, который я использую. Он был проверен в течении года на командах разного размера: 3 — 14 человек.

Существует 2 основных ветки: master и dev.

master — стабильная ветка, готовая к выкатыванию на production сервер в любой момент.

dev — ветка, над которой в данный момент работает команда.

Итак, в начале разработки master и dev ветки идентичны.

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

Custom layouts. Part 2. CellLayout

Reading time10 min
Views23K
И снова здравствуйте, коллеги.

И снова я пожаловал к вам с топиком кастомной разметки. На этот раз, я задумал сделать некую “ячейчатую” разметку.
Смысл прост: вся площадь контейнера делится на сетку из квадратных ячеек одинакового размера, и каждый потомок может занять произвольные клетки на этой сетке. Используя подобную разметку можно составлять красивую мозаику из кнопок или картинок, не прибегая к многочисленным вложенным layout’ам. И, поскольку, это специально заточенный для этих целей layout, он будет работать очень шустро.


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

Pixel-perfect верстка Android макетов

Reading time7 min
Views57K
Разрабатывать интерфейс Android приложений — непростая задача. Приходится учитывать разнообразие разрешений и плотностей пикселей (DPI). Под катом практические советы о верстке макетов дизайна Android приложений в Layout, который совпадает с макетом на одном устройстве а на остальных растягивается без явных нарушений дизайна: выхода шрифтов за границы; огромных пустых мест и других артефактов.

UPD: Пост спорный, но много ценных советов в комментариях


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

Много бесплатных книг по программированию

Reading time7 min
Views347K
Читать дальше →

Ungit — самый простой способ использовать Git

Reading time1 min
Views33K
Доброго времени суток уважаемые хабражители. Буквально только что увидел потрясающий проект на GitHub от FredrikNoren.



Ungit:


  • Чистый и интуитивно понятный интерфейс для Git (что есть невероятно круто для освоения Git)
  • Работает на любой платформе с установленными Node.js и самим Git
  • Веб-ориентированный. Возможность запускать его в облаке.
  • GitHub

Необходим Node.js версии 0.10 или выше и npm версии 1.3.1 или выше
Установка

npm install -g ungit

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

Тендеры изнутри — взгляд заказчика

Reading time5 min
Views68K
Вчера в фейсбуке меня зацепили товарищи из тусовки интернетчиков. Тема простая и непростая одновременно. Дело в том, что они — поставщики продукта (сайты, креатив, рекламы), а я — тот самый «сидящий» на деньгах заказчик из госсектора. И на меня в этой роли вылили целый ушат обид и недоверия.

Написать сюда я решил, когда в ленте появилось гранитное: «Тендеры это маразм. Ни один профессионал не будет в них участвовать. Зачем?»

Мне кажется, что ответить на вопрос «зачем?» сможет каждый для себя, если узнает, куда он идёт и чем может помочь.
Читать дальше →

Инфорза — новый канал привлечения клиентов для студий и агентств

Reading time4 min
Views7.5K
Привет, Хабр! Силами команды Ruward мы запустили наш новый проект, ориентированный на веб-студии и digital-агентства — Инфорзу.

image

Инфорза – это биржа заказов на digital-услуги (создание сайтов, SEO, контекстную рекламу, SMM, mobile и пр.) Мы привлекаем заявки потенциальных клиентов на те или иные услуги, публикуем их на бирже – а агентства приобретают те из них, которые им нравится. Мы работаем по CPL-модели (cost per lead).

Ряд отличий Инфорзы от существующих аналогов (фриланс-сайтов, гейтов CMS-систем, тендерных площадок):

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

  2. Заявки на Инфорзе покупаются по аукционной модели. Это значит, что после публикации заявки по ней проводится аукцион – агентства сами выбирают, какую ставку сделать (и насколько им интересна заявка). По окончанию аукциона контакты по заявке отдаются не более чем в 5 компаний, сделавших максимальные ставки (по нисходящей). Таким образом, система саморегулируется – и клиент получает отклики от компаний, которые больше всего были заинтересованы именно в их проекте.

  3. Если заявка не была куплена на аукционе 5 раз, она попадает в архив – и ее можно приобрести моментально по минимальной цене. Кстати, цены на лиды у нас начинаются от 50 рублей – это меньше, чем ставки в контекстной рекламе за клик по запросам вроде «создание сайта».

  4. Несмотря на то, что у нас публикуются и заявки от частных лиц – мы ориентированы на b2b – и в дальнейшем процент заявок от частников будет снижаться.
Читать дальше →

«Антизловредный шустряк»

Reading time5 min
Views71K

На жизненном пути каждого системного администратора время от времени встает вопрос: какой антивирус выбрать для компании с учетом постоянной конкурентной борьбы на этом рынке? Порой и не уследишь у кого появился новый функционал, а кто еще «догоняет».

Безусловно, при выборе антивируса нас интересуют множество параметров. Вот некоторые из них:

  • Универсальность:
Должен справляться со всем и сразу (трояны, малвари, спайботы и т.д.)

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

  • Централизованное управление:
Для компании с большим парком машин, безусловно, необходим инструмент централизованного управления антивирусным продуктом на рабочих станциях.

  • Нагрузка системы:
Может, конечно, кого-то не волнует этот вопрос при выборе антивируса. Честно говоря, меня тоже раньше не беспокоил, пока я работал в крупных компаниях. Компьютер тормозит? Может проверим хард, проверим на вирусы, переставим систему? Нее, зачем… Это долго, лучше купим новый! Сейчас такой роскоши нет. Приходится работать с оборудованием моих школьных лет. Поэтому для меня этот параметр антивирусного продукта как никогда актуален. Думаю таких компаний еще немало.

Поэтому в этой статье речь пойдет именно о производительности на маломощном железе.
В тестировании примут участие яркие представители семейства антивирусных:

• Kaspersky Internet Security 2013
• Dr.Web 7.0
• NOD32 Smart Security 5
• Microsoft Security Essential
Читать дальше →

Взаимодействие php-soap на linux с авторизацией по сертификатам с использованием алгоритмов ГОСТ

Reading time8 min
Views24K
С криптографией я сталкивался ранее, приходилось разворачивать удостоверяющий центр на КриптоПро в свое время, так что общие представления о том что такое закрытые и открытые ключи и сертификаты у меня имелось, но вот о том как все это работает в Linux представления особого не было.
Встала задача обеспечить взаимодействие со службами РосМинздрава, а именно — с федеральным регистром медработников по протоколу SOAP. Со стороны клиента система на CentOS и работающими службами на PHP, со стороны сервера — SOAP-сервис с авторизацией по сертификатам с использованием ГОСТ алгоритмов. В наличии была флешка с закрытым ключом, сформированным удостоверяющим центром РосМинздрава и сертификат этого ключа.
После анализа ситуации по использованию ГОСТ алгоритмов шифрования в мире Linux выяснено что за последние годы здесь есть хорошее движение вперед, но все таки не совсем все хорошо. Итак, для того чтобы заставить расширение php-soap прозрачно понимать алгоритмы ГОСТ, а также использовать сертификаты и ключи выданные РосМинздравом нужно сделать следующее:

1. Обновить в дистрибутиве библиотеку OpenSSL до версии не ниже 1.0.1с и настроить поддержку ГОСТ.
2. Преобразовать выданный ключ и сертификат в формат, понятный OpenSSL. Проверить работу OpenSSL.
3. Подправить расширение OpenSSL в PHP и перекомпилировать сам PHP. Протестировать работу SOAP на PHP.

Итак, приступим.
Читать дальше →

Геймификация студии с помощью подручных средств

Reading time7 min
Views30K
Сам термин «геймификация», вы, наверняка, слышали — он в последнее время снова стал модным. Означает примерно следующее: перенос игровых механик на неигровые процессы. Отчего последние (по задумке) становятся увлекательнее и охотнее воспринимаются теми, кто в них вовлечен.

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

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

JavaScript трассировка, отладка, профилирование – заполнение пробелов

Reading time5 min
Views13K
Годами я использовал Chrome DevTools, Firebug и даже Opera Dragonfly для отладки, трасировки и профилирования моего JavaScript кода. Замечу, что использовал эти замечательные инструменты не только для работы с JavaScript, но и для отслеживания событий сети, отладки CSS, работы с DOM.

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

image

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

Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик

Reading time9 min
Views374K


Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

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

JDK concurrent package

Reading time7 min
Views49K
Модель памяти, существующая на данный момент в Java, гарантирует ожидаемый порядок выполнения многопоточного кода, при отсутствии в этом коде гонок потоков. И для того, чтобы обезопасить ваш код от гонок, придуманы различные способы синхронизации и обмена данными между ними.

Пакет java.util.concurrent, входящий в состав HotSpot JDK, предоставляет следующие инструменты для написания многопоточного кода:
  • Atomic
  • Locks
  • Collections
  • Synchronization points
  • Executors
  • Accumulators _jdk 1.8_

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

Сапожник без сапог, или учет оборудования в ИТ-отделе. Часть I

Reading time8 min
Views37K
В народе есть замечательная крылатая фраза «Сапожник без сапог». Она в полной мере описывает ситуацию, в которой оказываются ИТ-отделы организаций и обслуживающие компании. Люди, которые помогают другим пользователям решать проблемы с техникой, исправлять ошибки в программах, восстанавливать работоспособность программ и оборудования, пытаются навести порядок и привить культуру работы с оборудованием и программным обеспечением, сами не могут навести порядок у себя! О чем пойдет речь? О наболевшем… Учет оборудования и все, что с этим связано. Думаю Вам будет интересно услышать о том, как мы сделали систему учета предназначенную для ИТ-отделов, все таки хабр одно из крупнейших в России IT-сообществ.
Читать дальше →

Воспитываем Джуниора

Reading time3 min
Views84K
imageВ последнее время, многие компании начали открывать у себя вакансии для молодых неопытных программистов. Честно говоря, я считаю, что это здорово, ибо устроиться на работу, не имея опыта, в большинстве отраслей довольно сложно. Однако, беря на работу Джуниора вы должны понимать, что на вас ложится некая ответственность, фактически, вы становитесь наставником этого человека, и не каждый руководитель или тим-лид эту ответственность осознает.
В этой статье, я хочу рассказать о том, нужен ли вам вообще начинающий разработчик и как выстраивать с ним взаимоотношения.
Для начала, давайте определим, кто такой Джуниор. Начинающие программисты бывают разные, мы возьмем молодого человека, не глупого, только после института, он знает нужный нам язык программирования, у него за плечами несколько маленьких самостоятельных проектиков и, самое главное, есть желание учиться дальше.
Читать дальше →

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity