В последнее время на хабре чаще стали встречаться обсуждения масштабируемых систем и NoSQL решений. Эта статья, написанная техническим директором Amazon — одна из лучших вводных, на мой взгляд, показывающая, какие проблемы возникают при построении масштабируемых систем, что нужно учесть при выборе инструментария, что имеют ввиду авторы кассандры, говоря про обеспечение AP в кассандре и CP в HBase и многое другое.
Антон Чапоргин @wpm1
User
pv — маленькая, но очень полезная утилита
2 min
86KОдин мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
+270
progress bar для консольных утилит
1 min
34KПо долгу службы мне время от времени приходится копировать, архивировать, разархивировать и проводить другие стандартные действия с большими файлами. Консольные утилиты, типа cp, tar или cat — отлично справляются с поставленной перед ними задачей, но возникает одна маленькая проблема: предположим, что надо заархивировать SQL-дамп на 500 Мб, на среднем железе данная операция может выполняться 5 — 10 минут и при этом, стандартный tar не выводит никакой строки прогресса, т.е. консоль как бы подвисает и только открыв top в соседнем окне можно понять что что-то происходит. Я думаю, что будет намного удобнее, если в консоли появится полоска прогресса как в том же scp и тогда пользователь будет лучше осведомлен о том, как долго ему осталось ждать до завершения операции.
+68
Underscore.js — библиотека, которая так хороша, что должна быть вне закона
3 min
50KКаждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
+149
Выключаем монитор с клавиатуры
3 min
26KПредыдущий топик про ddccontrol, открыл для меня, что по DDC можно мониторы выключать. Не вгонять в сон, не включать энергосберегающий режим, а реально выключать. Так, чтобы гасла (и совсем не мигала!) лампочка питания на морде. Как от нажатия выкл на той же самой морде. Разумеется, можно не только выключать, но и включать. Программно!
1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей
…
5) PROFIT??
В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).
1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей
…
5) PROFIT??
В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).
+81
+65
Фундамент знаний и кирпичи навыков
4 min
5.4K Третий, и я думаю, последний пост из цикла «о карьере ИТ-специалиста». Предыдущие: 1, 2.
В предыдущих обсуждениях возникло некоторое недопонимание смысла синдрома «многорукого Шивы» и смысла «изучать вглубь». Примеры, которые я буду приводить, будут касаться системного администрирования, но, думаю, в остальных ИТ-областях ситуация аналогичная (будь то программирование, вёрстка, написание баз данных, или возня с железом).
Попробуем описать аналогию навыков и знаний, которая позволит понять, как правильно нужно учиться и для чего нужны знания, помимо навыков.
Представим себе навыки, как кирпичи. Приобретение каждого из них относительно просто и быстро (хотя может и заставить сильно материться в процессе).
Представим себе знания, как фундамент.
Можете ли вы раскидать кирпичи по пляжу? Можете.

Именно так выглядят знания начинающего эникейщика или просто компьютерного пользователя. Местами кирпичи даже накладываются друг на друга и образуется кучка в 2-3 кирпича высотой. Это опытный пользователь, который хорошо знает, как устанавливать драйвера, как чистить реестр и оптимизировать производительность.
В предыдущих обсуждениях возникло некоторое недопонимание смысла синдрома «многорукого Шивы» и смысла «изучать вглубь». Примеры, которые я буду приводить, будут касаться системного администрирования, но, думаю, в остальных ИТ-областях ситуация аналогичная (будь то программирование, вёрстка, написание баз данных, или возня с железом).
Попробуем описать аналогию навыков и знаний, которая позволит понять, как правильно нужно учиться и для чего нужны знания, помимо навыков.
Представим себе навыки, как кирпичи. Приобретение каждого из них относительно просто и быстро (хотя может и заставить сильно материться в процессе).
Представим себе знания, как фундамент.
Можете ли вы раскидать кирпичи по пляжу? Можете.

Именно так выглядят знания начинающего эникейщика или просто компьютерного пользователя. Местами кирпичи даже накладываются друг на друга и образуется кучка в 2-3 кирпича высотой. Это опытный пользователь, который хорошо знает, как устанавливать драйвера, как чистить реестр и оптимизировать производительность.
+89
Оптимистичные примитивы синхронизации, очереди и все-все-все. Трагикомедия в трёх действиях
4 min
8.9KЗаранее предупреждаю, для тех кто в теме, интересного будет не очень много. :)
У меня появилась актуальная задача реализовать базовые примитивы синхронизации(мьютекс, семафор и read/write lock), используя только синхронную очередь — единственный доступный примитив. Заодно по пути я расскажу как устроены спинлоки и мы даже соберём маленького франкенштейна.
У меня появилась актуальная задача реализовать базовые примитивы синхронизации(мьютекс, семафор и read/write lock), используя только синхронную очередь — единственный доступный примитив. Заодно по пути я расскажу как устроены спинлоки и мы даже соберём маленького франкенштейна.
Часть 1: Всё — очереди
+19
Отечественный флэш плеер
2 min
940
Прежде всего, демо-сайт — http://uppod.info/. После часа разборок с настройками, я могу заверить, что все фишки демосайта реализуются плеером на ура.
+72
Иерархические структуры данных и Doctrine
15 min
83KВведение
Хранение иерархических данных (или попросту — деревьев) в реляционных структурах задача довольно нетривиальная и вызывает некоторые проблемы, когда разработчики сталкиваются с подобной задачей.
В первую очередь, это связано с тем, что реляционные базы не приспособлены к хранению иерархических структур (как, например, XML-файлы), структура реляционных таблиц представляет из себя простые списки. Иерархические же данные имеют связь «родитель-наследники», которая не реализована в реляционной структуре.
Тем не менее, задача «хранить деревья в базе данных» рано или поздно возникает перед любым разработчиком.
Ниже мы подробно рассмотрим, какие существуют подходы в организации хранения деревьев в реляционных БД, а также рассмотрим инструментарий, который нам предоставляет ORM Doctrine для работы с такими структурами.
+62
Удобное решение для работы с БД
2 min
6.4K
Обычно для работы с mySQL я использовал «phpmyadmin», но сегодня мой взор был направлен на новое решение «SQL buddy», я скачал, загрузил на свой сервер, и…
И это просто супер! Такой и должна быть удобная работа с БД!
Возможно «SQL buddy» не имеет столько расширенных функций как «phpmyadmin», но для рутинных и небольших работ она прекрасно подходит.
+82
Хитрости создания стартапа: что нужно помнить на ранней стадии
3 min
683Статья Michael Cerda о том, чего не стоит забывать на этапе создания стартапа.
Уровень подготовки читателя: низкий — средний.
Вот список вещей, которые вы должны иметь в виду на ранних стадиях создания стартапа, составленный по мотивам набитых шишек.
Продукт: ваш продукт должен быть обезболивающим, а не витаминами.
Убедитесь, что он решает проблемы или удовлетворяет потребности. Он не должен быть чем-то, необходимость чего вам каждый раз приходится объяснять, ссылаясь на какие-нибудь основные тренды рынка. Продукт должен быть очевиден и должен описываться одним предложением. Если у вас не так — вы проиграли еще не начав.
Уровень подготовки читателя: низкий — средний.
Вот список вещей, которые вы должны иметь в виду на ранних стадиях создания стартапа, составленный по мотивам набитых шишек.
Продукт: ваш продукт должен быть обезболивающим, а не витаминами.
Убедитесь, что он решает проблемы или удовлетворяет потребности. Он не должен быть чем-то, необходимость чего вам каждый раз приходится объяснять, ссылаясь на какие-нибудь основные тренды рынка. Продукт должен быть очевиден и должен описываться одним предложением. Если у вас не так — вы проиграли еще не начав.
+23
Абстракция БД
4 min
5KКогда я только начинал писать на PHP, ООП я владел, пожалуй, на уровне синтаксиса, не более. В то время мне вполне хватало функций mysql_*. Со временем, опыта становилось больше, я начинал задумываться об оптимизации. Этот топик описывает эволюцию моего кода.
+2
nginx, memcached и SSI
3 min
19KМоя первая статья, не судите строго...
Приветствую вас, уважаемые хабрадевелоперы!
Многие из вас знают о прекрасном легковесном веб-сервере nginx.
Некоторые также знают, что он умеет работать с memcached.
Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.
Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
Приветствую вас, уважаемые хабрадевелоперы!
Многие из вас знают о прекрасном легковесном веб-сервере nginx.
Некоторые также знают, что он умеет работать с memcached.
Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.
Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
+2
Стилизация файл-инпутов
5 min
39K
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.
Дело в том, что изменение внешнего вида инпутов, как правило, не вызывает трудностей, но этот вид инпутов отличается от остальных. В первую очередь это связано с безопасностью, во вторую с тем, что каждый браузер по своему отображает этот элемент, и на это почти нельзя повлиять.
+3
ТЗ для web-разработчика
4 min
21K
Написание хорошего ТЗ для разработки сайта еще та проблема, и я поделюсь своим опытом по созданию «человеко-понятного» описания
+3
Супер-простой плагин, правильно склоняющий слово «комментарий».
2 min
2.1KКогда-то давно я читал какую-то статью про развитие цивилизаций. Там была любопытная деталь, касающаяся счета. Автор статьи утверждал, что первобытный человек считал так: один, два, и так до какого-то предела счетного множества, много. То есть, он мог считать до какого-то ограниченного предела, а все, что больше этого счетного множества не помещалось в его мозги и называлось попросту «много». И он приводил аргументы за то, что в русском языке (как и в некоторых других) до сих пор есть следы этого деления, к примеру:
То есть, счетное множество у древних славян заканчивалось в районе четырех.
Собственно, это была лирика.
- одна лошадь это один.
- две лошади, три лошади, четыре лошади (следите за изменением окончания) это счетное множество.
- пять лошадей, шесть лошадей и будь их хоть миллион, но все равно окончание будет -ей. Это то самое «много».
То есть, счетное множество у древних славян заканчивалось в районе четырех.
Собственно, это была лирика.
+35
Установка SVN+Trac+TracWebAdmin
3 min
18KПривет всем!
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.
Для чего все это...?
Представьте себе ситуацию: у вас есть проект, который находится на стадии разработки. Скрипты содержат тысячи строк кода. Постоянное сохранение, бэкап файлов, удаление фрагментов кода, вставка новых вынуждают вести точный контроль над исходным кодом проекта, чтобы не потерять уже существующее и проверенное. Вам приходится записывать в текстовом файле или на бумаге этапы разработки и тестирования отдельных частей системы, возможно даже записывать версии файлов. Возможно это удобно… но не надолго — насутпают моменты, когда контролировать код вручную становится физически невозможным из-за его размера. Здесь на помощь приходит система контроля за версиями SVN. Начать ознакомление можно осюда: ru.wikipedia.org/wiki/SVN. А Trac — это всего лишь удобный веб-интерфейс для еще более удобного контроля за своим проектом. Рассмотрение Trac'а можно начать отсюда: ru.wikipedia.org/wiki/Trac+32
Организация общения с посетителями сайта: варианты.
2 min
3.4K
Такой подход явно не располагает посетителей к контакту: я не люблю звонить непонятно куда по телефону (да и зачем, я же в сети), ICQ — это что-то личное, да и для контакта требуется слишком длинная цепочка действий, а по почте мы все знаем, что не дождёмся ответа скорее всего никогда.
На западе решением этой проблемы было озадачено несколько компаний, разработавших всё, что можно найти в Google по запросу “Live Chat Software“, то есть программы для мгновенной связи оператора с посетителем сайта. По некоторым данным, такой механизм в хорошей реализации может увеличить конверсию и, соответственно, продажи более чем на 80% (!). Это вполне логично — задать вопрос специалисту проще, чем лазать по каталогу и легче, чем звонить, искать кого-то в ICQ или ждать ответа по e-mail.
Отсюда логически следует жизненный вопрос: как это реализовать, желательно самостоятельно и бесплатно?
+39
Неотложный пункт добрых дел
1 min
1.1K
Итак, любой желающий (на иллюстрации изображён Булочкиным) оставляет ссылку на свой сайт, в котором что-нибудь было бы неплохо улучшить с точки зрения типографики. Или, может быть, улучшать ничего не хочется, но хочется удостовериться, что улучшать нечего.
Независимо от качества сайта, гарантируется отсутствие комментариев типа «ваш сайт — говно». Совсем наоборот, работник НПДД (на иллюстрации изображён Колобком) укажет на основные ошибки (если таковые есть) или предложит несложные способы улучшить удобочитаемость сайта.
Пожалуйста, кидайте ссылки именно на ваши сайты, если вам интересна помощь НПДД (а не на всё подряд) — Колобок не резиновый. Волонтёрство в роли Колобка также приветствуется!
+40
Information
- Rating
- Does not participate
- Location
- Иркутск, Иркутская обл., Россия
- Date of birth
- Registered
- Activity