Pull to refresh
41
0

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

Send message

Пишу поисковик (virtual project). Вступление

Reading time1 min
Views722
Последнее время разработка новых поисковиков похоже становится модным увлечением. Вот и наше правительство, по слухам, собирается свой поисковик сделать. Дело это заразное. Решил и я собственный поисковик разработать. Виртуальный. Т.е. на бумаге. Ну или точнее — на экране :)
Некоторый опыт для этого имеется. Где вприглядку. Где практический. Посмотрим, что из этого выйдет. В конце-концов и нынешние титаны поиска когда-то были начинающими. В отличии от них тем, кто ввязывается в это безнадежное дело сейчас, легче. Вокруг гораздо больше информации, чем было у них. Перед глазами результаты их деятельности. Можно посмотреть со стороны и определиться, что тебе нравится в этих системах, что нет, что хотелось бы добавить, что убрать.
Я не собираюсь стуча пяткой в грудь заявлять, что сделаю все круче. Я вообще не уверен, что результат когда-нибудь воплотится в рабочие коды. Но всеравно попробую. Возможно кое-что из этих «бумажных» разработок пригодится мне в реальной жизни. Если кому-то моя болтовня принесет пользу — буду рад.
Всегда готов выслушать критику и предложения, за исключением разве что «ацтой» да «нафига нужно». Для себя я сделал вывод — нужно. Нужно привести в порядок обрывки мыслей и идей. Посмотреть на них со стороны. Попытаться понять, что мне нужно, чего я хочу. Ну и кроме того — поучиться связно излагать собственные мысли. Так, чтобы после прочтения хотя бы самому понятно стало, что хотел сказать :)
А данной болтовней я пытаюсь припереть себя к стенке. Чтобы лишить себя возможности к отступлению. Беру сам себя «на слабо». Завтра постараюсь озвучить первые мысли.

Использование Nginx в качестве сборщика в трудном деле кэширования

Reading time3 min
Views1.2K
Зачастую мы не кэшируем вывод только из-за того, что среди данных, которые можно легко и безболезненно закэшировать, есть часто меняющаяся информация (привязанная, как правило, к конкретному пользователю).
Читать дальше →

Строим контентный проект: семнадцать правил хороших новостей

Reading time6 min
Views14K
Несколько недель назад я написал статью "Строим контентный проект: команда — курица или яйцо?", после которой по просьбам читателей обещал продолжение. Ну и собственно вот:

70.08 КБ

Вторая часть цикла будет больше практической, нежели теоретической. Я публикую инструкцию «Правила создания новостей», недавно мною написанную для новостной редакции проекта Gooddays.ru, блог которого вы сейчас читаете. Это внутренний документ, но правила, в нём описанные достаточно универсальны, поэтому я публикую его почти без купюр — включая ссылки на старые новости сайта, которые я брал для примера «как не надо». Как надо — можете посмотреть уже сейчас, мы пока ещё далеки от совершенства, но уверенно к нему движемся :)

Многа букаф и аккуратного форматирования под катом

«Феерическая расстановка точек над проблемой копирастии»

Reading time9 min
Views2K
Да, я знаю, что я уже не первый, и даже, пожалуй, не тысяча двадцать четвертый, однако кому-то все-таки необходимо это сделать. Я прекрасно понимаю, что тема уже всем надоела, однако все равно каждый день я встречаю инстеричные крики. В конце концов, я не виноват, что у людей в голове насрано, однако так или иначе – мне с этим жить, и было бы куда приятнее существовать в мире, где большинство хотя бы понимает, о чем речь и почему те или иные вещи существуют именно так, а не иначе.

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

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

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

1. Информация должна распространяться бесплатно!
2. Пиратство – это не воровство.
3. Я купил товар – диск (книгу, кассету) а значит, могу делать с ним все, что хочу.
4. Я физически могу скопировать информацию – значит, по закону, мне никто не может это запрещать.
5. Я лучше куплю то же самое у пиратов – они успешно конкурируют с правообладателями за счет более низких цен.
6. Кто сказал, что я принимаю условия лицензионного соглашения?
7. Почему это так дорого стоит? Я считаю, что оно должно стоить дешевле.
8. Я не желаю платить за некачественный товар.
9. Почему бы не перейти на систему пожертвований? У Radiohead же получилось!
10. Что же все-таки делать с засильем некачественного контента?
11. Я считаю, что распространяя контент бесплатно, я помогаю правообладателям увеличивать продажи. Все от этого только выигрывают.
Читать дальше →

Теория шести рукопожатий: еще одно подтверждение

Reading time4 min
Views78K
Однажды в студеную зимнюю пору я столкнулся с упоминанием того, что кто-то в Facebook пытается подтвердить теорию шести рукопожатий. Для тех кто не в курсе, эта теория заключается в том, что все жители земли в среднем знакомы друг с другом через цепочку из пяти друзей (т.е. шести рукопожатий). Подробнее об истории этой теории можно прочитать в википедии, там же можно узнать о том, что Майкрософт несколько лет назад пыталась подтвердить эту теорию на основе данных о контакт-листах мессенджера MSN — в результате у них получилось 6,6 рукопожатий, что вполне вписывается в теорию.

Очень мне захотелось эту теорию подтвердить самому, используя данные, которые есть под рукой — ВКонтакте. Для претворения моей странной идеи в жизнь надо было решить целый комплекс проблем:
  1. На каких данных это все расчитывать.
  2. Где эти данные взять.
  3. Как эти данные сохранять.
  4. Каким алгоритмом воспользоваться для расчетов.
подробнее о том, что получилось

FileAPI 2.0: Загрузка файлов на сервер год спустя

Reading time11 min
Views70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →

Ускоряем 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

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

Uploadcare — файловое хранилище для сайтов и приложений

Reading time3 min
Views14K
image
Привет! Хочу рассказать о проекте, который наверняка окажется полезным многим разработчикам. В двух словах объяснить, зачем он нужен, достаточно сложно, но я попробую. Uploadcare — сервис для приложений и сайтов, упрощающий получение файлов от пользователей, их хранение и передачу по сети.

Тот, кто хоть раз делал форму с <input type="file">, знает, что ничего сложного в этом нет, но есть неприятные моменты, возникающие по пути. Вот только некоторые из них:

— нельзя сохранить форму с файлом по ajax;
— нельзя показать форму с уже выбранным файлом;
— если вы ожидаете картинку, нужно убедиться, что загружена картинка;
— сервер должен быть готов принимать большое тело запроса;
— в некоторых фреймворках загруженный файл является источником повышенной опасности;
— удобная загрузка нескольких файлов реализуется достаточно сложно;
— индикация процесса загрузки реализуется еще сложнее;
— на диске сервера может закончиться место;
Читать дальше →

Школа фриланса

Reading time7 min
Views133K


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

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

Что до моего опыта, то свой первый заказ я выполнил на бирже поздней весной 2005, а уже зимой 2006 ушел с работы и никогда туда больше не возвращался. Мне посчастливилось всегда держать на очень высоком уровне конвертацию заявки в заказ. Как исполнитель я последний раз выходил на биржу во время кризиса 2008-2009, быстро восстановился и с того же 2009 использую их только как заказчик. Вам решать, насколько мои советы будут полезны. А желающих приглашаю под кат и за парты.

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

Drupal Forms API. Часть 2 — для Drupal 7

Reading time2 min
Views16K

Вторая часть статьи содержит отличия, свойственные Drupal Forms API для версии 7. Эта часть статьи публикуется как открытый топик, видный не только подписчикам блога Drupal. Но свои дальнейшие статьи (по созданию тем) буду публиковать как закрытые статьи блога, чтобы не мешать тем, кому Drupal не интересен.

В прошлой статье, мы разобрали функционал простого модуля, который возвращал введенное имя в форму при помощи AJAX (именуемого в Друпале 6 «AHAH»). Теперь очередь версии 7.

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

Модуль Drupal для работы с Яндекс.Почтой

Reading time3 min
Views2.8K
Вступление

С недавнего времени Яндекс порадовал такой услугой как почта для домена. Довольно таки полезная услуга. А наличие Яндекс.API для той радости позволяет завести вашим пользователям красивые почтовые адреса. В своей статье я хочу расказать о первых своих успехах в этом деле для сайта на Drupal. В данном случае логичным будет написание модуля.
Читать дальше →

Стратегия восстановления поврежденной таблицы в MySQL

Reading time4 min
Views11K
Началось все с того, что в один прекрасный момент ядро прибило демона mysqld и mysql_safe автоматом его перезапустил и все бы хорошо, да только таблицы в БД использовались MyISAM. В итоге пришлось воспользоваться myisamcheck но это совсем другая история. В процессе проверки и починки индексов пострадала одна таблица и было принято решение восстанавливать из бекапов, хорошо, что раз в сутки делаются.

Исходные данные:
  • имеем сервер БД с MySQL на борту;
  • поврежденную таблицу логов(статистики) чего угодно, что постоянно заполняется и может например не использоваться какое-то время;
  • суточный бекап;
  • бинарные логи с последнего суточного(полного) бекапа.

Задача:
  • сервер должен быть доступен для работы;
  • новые данные должны попадать в таблицу;
  • восстановить целостность данных.

Ожидаемый результат:
данные в поврежденной таблицы восстановлены без останова базы дынных;
таблица содержит все данные включая текущие.
Читать дальше →

Прячем, обфусцируем и криптуем клиентскую часть веб-приложений

Reading time14 min
Views117K
Обфускация — это приведение исходного текста программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. Применительно к JavaScript данная технология используется в таких видах теневого онлайн-бизнеса, как загрузки (iframe), спам и SEO. Наша задача на сегодня — изучить все методы скрытия JS-кода, которые, я надеюсь, ты будешь использовать только во благо.

Обфусцированный скрипт

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

Авторизация через ВКонтакте, Mail.ru и другие для самых начинающих — 2

Reading time5 min
Views10K
В прошлой части мы рассматривали авторизацию через вконтакте, сегодня остановимся на mail.ru и использовании аватарок из обоих социальных сетей.
Для начала как всегда нам необходимо зарегистрировать в социальной сети свое приложение (у майла четкое разделение между приложениями и сайтами, но я по привычке буду говорить «приложение»). Кстати в процессе регистрации вы увидите от трех до пяти js ошибок, когда-нибудь mail.ru их исправит. После регистрации вам доступны ID приложения, приватный ключ (ничего приватного, используется для js-api вызовов, виден всем) и секретный ключ (используется для сервер-сервер взаимодействия, не говорите никому и не забывайте в комментариях).
Читать дальше →

Доступные методы борьбы с DDoS-атаками для владельцев vds/dedicated серверов с Linux

Reading time12 min
Views41K
image

Начать свое присутствие на Хабре мы решили с материала, подготовленного для Конференции уральских веб-разработчиков, в котором описаны проверенные на собственной практике и оказавшиеся вполне успешными методы борьбы с DDoS-атаками. Целевая аудитория данной статьи — это программисты, имеющие в распоряжении vds или dedicated. Статья не претендует на полноценное руководство и многие сисадминские нюансы в ней намеренно опущены. Мы рассматриваем только DDoS типа http flood как наиболее распространенный тип DDoS и наиболее дешевый для заказчика.

Целевая аудитория данной статьи – это программисты, имеющие в распоряжении VDS или Dedicated.
Читать дальше →

Как я сам научился программировать за 8 недель

Reading time3 min
Views568K
Для многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.

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

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

Джентельменский набор модулей для Drupal 7

Reading time3 min
Views86K
Доброго всем времени суток!

Те, кому часто приходится поднимать сайты на Drupal, имеют в загашнике постоянный набор модулей и тем, которые так или иначе могут использоваться на поднимаемом ресурсе.
При отсутствии данного набора приходится вспоминать и скачивать модули для воплощения на сайте того или иного функционала.
Поскольку актуальной на данный момент версией является седьмая, о ней и пойдёт речь.
Читать дальше →

Черногория — не Таиланд

Reading time11 min
Views432K


Так получилось, что последние пять месяцев я работаю и проживаю в Черногории. Раньше я жил в московской области, работал инженером-руководителем в небольшой, но успешно российской компании и как многие другие задумывался иногда о лучшей жизни. Лучшая жизнь в моем понимании выглядела в виде небольшого домика в горах, недалеко от моря в месте где всегда хорошая погода, дружелюбные люди, хорошая экология и размеренная жизнь. Но дорога к лучшей жизни выглядела трудной — 20 лет ипотеки на квартиру в Москве, потом 10 лет накоплений на домик в горах, поэтому когда появился шанс пропустить все это и сразу попробовать мечту, то я не сомневался.

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

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

Адаптивные фоновые изображения

Reading time3 min
Views141K
Одна из основных задач при адаптивной верстке — это масштабирование изображений (в том числе фоновых) таким образом, чтобы они корректно отображались на устройствах с разными разрешениями экранов.

С картинками в теге img все просто: при установке ширины в процентах высота будет масштабироваться автоматически. К фоновым же изображением такой способ применить нельзя.

Фиксированное соотношение сторон


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

Легким движением руки планшет превращается в… дополнительный монитор

Reading time3 min
Views478K
Привет тебе, внимательный хабрачитатель.

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

image

Ответ подобен «смерти Кощеевой» — ведь планшет (обычный iPad 3Gen) в нашем случае выступает в роли дополнительного монитора, на котором в полноэкранном режиме запущена виртуальная машина с Windows 7, и работает всё это для полного счастья по Wi-Fi. Такой себе второй небольшой IPS-монитор с высоким разрешением.

О том, как быстро и просто научить ваш планшет/смартфон под управлением Android/iOS работать в качестве дополнительного беспроводного дисплея для Windows/Mac OS X можно прочесть далее.
Узнать всё и сразу

Information

Rating
Does not participate
Location
Россия
Registered
Activity