Search
Write a publication
Pull to refresh
35
0
Sardorbek Pulatov @pROCKrammer

User

Send message

Лучшие шрифты для программирования

Reading time4 min
Views249K
Статья написана в 2009 году, и с тех пор многое изменилось, в том числе появились некоторые альтернативные шрифты для программирования, например, Anonymous Pro.

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

Я выкладываю список из десяти моноширинных шрифтов, готовых к использованию. Некоторые из них идут в комплекте с современными операционными системами, но большинство можно бесплатно скачать из интернета. Отдельные, в том числе Consolas, являются частью коммерческого ПО.
Читать дальше →

Вы НЕ инженер-программист!

Reading time3 min
Views36K
От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.

Познать дзен садоводства!

Django проект PR Hero: что внутри и полученный опыт

Reading time4 min
Views5.9K

Я хочу продолжить хорошую традицию:
и рассказать об удачных решениях, примененных в Django проекте PR-Hero.

Я призываю всех поступать так же и делиться своим опытом :) Объясню почему. В нашей команде каждое удачное решение или приложение из одного проекта обязательно использовалось в следующем. Проекты развивались и становились все лучше и лучше.

А что, если делиться опытом не внутри отдела, а целым сообществом российских джангистов?

что же внутри?!

Что нам стоит сеть построить

Reading time5 min
Views11K
  Думаю каждому (а если и не каждому, то многим) из нас (сисадминов) хоть раз, да ставилась задача об объединении нескольких удаленных офисов в единую корпоративную сеть, и каждый находил/выбирал свое решение.
  В настоящие время, существует множество различных решений, для реализации которых можно использовать как специальные аппаратные решения, так и обычные компьютеры, с любой ОС на борту.
  В данной статье, хочу рассказать о том, как объединить три удаленных офиса в одну корпоративную сеть, с разными подсетями для каждого подразделения. Все это я предлагаю поднять используя только дистрибутив OpenBSD.

Нам понадобится:
  • Три ПК средней конфигурации (CPU 1,7Ghz, RAM 512Mb, HDD 20Gb, 2x Lan100Mb)
  • Статические IP адреса на WAN портах
  • Дистриб OpenBSD
  • 40 минут вашего драгоценного времени (включая установку ОС)
Читать дальше →

Unit-тесты, пытаемся писать правильно, чтобы потом не было мучительно больно

Reading time3 min
Views58K
Большинство людей не умеют писать unit-тесты. И даже те, кто применяет модульные тесты в ежедневной разработке, зачастую признают, что получившиеся тесты иногда не очень эффективны по определенным причинам. К этой категории людей я могу отнести и себя. В первую очередь, такой «причиной» является некоторая появляющаяся «инертность» кода, заключающаяся в том, что если требуется немного изменить какой-то ключевой алгоритм, добавить пару строчек кода, то при этом «падают» ~100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».
Читать дальше →

Тривиальные задачи по вёрстке

Reading time4 min
Views60K
image

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

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

Условия Startup Visa упрощаются

Reading time2 min
Views943


Когда год назад американские сенаторы представили проект Startup Visa, новость вызвала смешанную реакцию. С одной стороны, специальная виза для основателей стартапов из других стран — безусловно, хорошо. Теперь им гораздо легче будет перебраться в Америку и получить венчурное финансирование. С другой стороны, минимально необходимая сумма венчурных инвестиций $250 000 делала эту визу недоступной для абсолютного большинства российских основателей интернет-стартапов.

Приятно знать, что разработчики законопроекта прислушались к критике интернет-сообщества и согласились внести изменения. Самая приятная новость, что теперь визу стало легко получить иностранным студентам, которые заканчивают обучение в США.
Читать дальше →

Вводный обзор CMS Diem

Reading time6 min
Views3K
Полгода назад узнал от коллеги про эту CMS и она меня очень заинтересовала, недавно дошли руки в ней покопаться, спешу поделиться своими впечатлениями с хабражителями и хабрагостями.

Коротко о главном


  • Работает на Symfony1.4.
    Кто не знаком с symfony — getting started tutorial, official web-site.
  • Помимо стандартной админки имеет интерактивный интерфейс управления для frontend, все изменения подгружаются via AJAX — что очень удобно при редактировании
  • Интегрированная Google Analytics, удобный просмотр логов сервера в виде графиков, генерация админ-интерфейса для самописных модулей, веб-консоль и прочие плюшки


Подробное описание и скриншоты далее
Читать дальше →

Как Веб-студиям заработать на партнерских программах SaaS сервисов?

Reading time3 min
Views11K
Друзья, все наверняка знают, что для Веб-студий существует масса партнерских программ от разработчиков CMS и хостингов. Первые предлагают скидки на свои коробки и клиентов, вторые — % от ежемесячных платежей за хостинг. Но это, как оказывается, далеко не все способы повысить средний чек с клиента и получить дополнительный доход.

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

OAuth 2.0 простым и понятным языком

Reading time7 min
Views891K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


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

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

Разработка IFrame приложения в Контакте, использование Vkontakte API

Reading time5 min
Views48K
Пару дней назад, одна моя знакомая попросила помочь ей создать интернет-голосование, поскольку, функционала в Контакте не хватало (там можно создавать опрос только на 15 человек). Задачка оказалась интересной. Итак, за дело!

Кому может пригодиться данный пост:

  • тому кто пытается разобраться как работает API в Контакте;
  • имеет опыт работы с популярными CMS, здесь речь пойдет о Joomla;
  • сильно ограничен во времени;

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

Сквозная авторизация на своем сайте через Twitter

Reading time7 min
Views10K
Прошли те времена, когда каждый форум на персональной страничке каждого Васисуалия Свердыщенко требовал отдельной регистрации.
Мы потихонечку привыкаем к тому, что оставить комментарий от имени своего OpenID/OAuth провайдера можно фактически везде. Также для всех популярных CMS давно написаны плагины сквозной авторизации Twitter/Facebook/Google/Яndex/Вконтакте. Кроме того есть DISQUS… Но что делать, если мы хотим предоставить пользователю стороннего сервиса какие-то дополнительные полномочия, не вынуждая его заводить отдельную учетную запись на нашем сайте? Особенно, если для нашей CMS пока нет чудо-плагина?
Я расскажу о том, как быстро и безболезненно прикрутить сквозную авторизацию к экзотической CMS и какие на этом пути встречаются подводные грабли.

Xaraya + Twitter

Поехали!

Компания Taucraft. Инфографика

Reading time1 min
Views20K



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

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

TOP'ай сюда

Reading time5 min
Views184K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →

Recens CP — самописная панель управления сервером beta

Reading time4 min
Views2.2K

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

Вредоносное ПО для GNU/Linux и борьба с ним

Reading time8 min
Views7.5K
Читаю на хабре вот эту тему:«Trojan.winlock начал распространяться через ЖЖ». В принципе ничего принципиально нового, и конечно, как и всегда, в комментариях полно сообщений типа «А в linux/mac/freebsd/plan9 такого нет, а пользователи Windows ССЗБ», с которых начинаются небольшие холивары. Вот, хочу начать новый холивар поделиться мыслями и узнать кто что думает, узнать насколько возможно в GNU/Linux существование вредоносного ПО и подумать что с этим делать.
Читать дальше →

Использование Deferred объектов в jQuery 1.5

Reading time6 min
Views37K
Deferred объекты появились в jQuery 1.5. Они позволяют отделить логику, которая зависит от результатов выполнения действия от самого действия. Для JavaScript Deferred объекты не новы, они уже были в MochiKit и Dojo, но с изменениями логики jQuery ajax от Julian Aubourg, внедрение Deferred объектов было неминуемо. С Deferred объектами несколько callback могут быть связаны с результатом задачи и любые из них могут быть привязаны к действию даже после начала его выполнения. Выполняемая задача может быть асинхронна, но не обязательно.

Deferred объекты теперь встроены в $.ajax() таким образом вы будете получать их автоматически. Обработчики теперь могут быть связаны с результатом следующим образом:
// $.get, ajax запрос, он асинхронный по умолчанию
var req = $.get('foo.htm')
   .success(function( response ){
      // что-нибудь делаем с ответом
   })
   .error(function(){
      // делаем что-нибудь если запрос провалился
   });
 
// это выполнится перед тем как $.get() будет выполнено
doSomethingAwesome();
 
// Делаем что-то ещё перед завершением запроса
req.success(function( response ){
   // делаем  что-то ещё с ответом
   // он будет выполнен когда запрос завершится, а если запрос завершен, то будет вызван немедленно
   // если запрос уже был выполнен
});

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

33needs позволяет стать инвестором стартапа

Reading time2 min
Views1.9K
image
Повальное увлечение так называемым «краудсорсинговым финансированием» в последнее время набирает ход. Совсем недавно открылся стартап 33needs. Это место, где социально ориентированные стартапы могут получить начальное финансирование от обычных людей из Сети, желающих стать спонсорами того или иного проекта. Эдакая смесь проектов Kickstarter, предлагающего обычным людям помогать финансами творческие проекты, и Kiva, где одни люди дают взаймы другим, выступая в качестве партнеров.
Читать дальше →

Как быстро проверить Linux сервер на предмет взлома

Reading time4 min
Views128K
Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

--------------------- yum Begin ------------------------ 
 
 Packages Installed:
    lzo2 - 2.02-3.el5.rf.i386
    dnstracer - 1.8-1.2.el5.rf.i386
    openvpn - 2.0.9-1.el5.rf.i386

---------------------- yum End -------------------------


В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

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

Современные веб-формы: еще несколько тонкостей

Reading time11 min
Views31K
Большинство людей воспринимают мир с помощью глаз, поэтому визуальный дизайн имеет огромное значение при создании фронтендов веб-приложений. Но так ли полезны все эти рюшечки и «карамельки», которыми любят насытить интерфейс современные веб-дизайнеры? В данной статье я хотел бы рассказать о типичных ошибках при дизайне веб-форм, а также поделиться некоторыми секретами создания правильного интерфейса.



Потратить время на чтение

Information

Rating
Does not participate
Location
Вьетнам
Date of birth
Registered
Activity