Как стать автором
Обновить
0
0
Dentist @Dentist

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

Отправить сообщение

Достаточно Git-а, чтобы быть (менее) опасным

Время на прочтение23 мин
Количество просмотров131K
imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

Хорошие новости! Я написал тебе этот изумительный Интернет-пост. Я надеюсь, что смогу размазать достаточно Git-а по твоему лицу, чтобы понизить вероятность сделать что-то непоправимое, а так же уменьшить твой страх что-то сломать. Этого должно быть также достаточно, чтобы сделать документацию Git немного более понятной; она крайне тщательно и глубоко проработана и очень глупо, если ты все еще не прочитал половину.

Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
Но подожди! Там еще...
Всего голосов 131: ↑103 и ↓28+75
Комментарии365

Механические клавиатуры

Время на прочтение17 мин
Количество просмотров763K
Все мы давно ждем массового появления всевозможных кибер-перчаток и виртуальной реальности на каждом шагу, но все равно каждый день в офисе и дома нам приходится работать за такой банальной вещью, как обычная клавиатура.

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

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

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10+303
Комментарии331

Re: Мой взгляд на дизайн иконок

Время на прочтение1 мин
Количество просмотров2.8K
Перечитывая блог «Иконосказ» и имея в виду первых трёх авторов, я подумал, что мир идёт к упрощению и все соревнуются в простоте. Уходя от Яблочного и плиточного стилей, в которых нет ничего плохого :), я обратил внимание на записную книжку и за 8.5 минут нарисовал, нет, подарил миру ещё одну непревзойдённую коллекцию. На этот раз я решил отказаться от цветов, потому что какие же в блокноте цвета? Любители минимализма могут сразу уменьшить полученное на 50%, а если не знают, пускай пишут письма, я им расскажу, как это делать.

С удовольствием выслушаю критику, отвечу на вопросы и дорисую другие необходимые вам буквы.
Буквы просьба приносить с собой
Всего голосов 223: ↑175 и ↓48+127
Комментарии64

Визуализация работы веб-сервера Apache — logstalgia

Время на прочтение1 мин
Количество просмотров15K
image

Logstalgia скорее порадует разработчиков и системных администраторов, которые много времени проводят на «заднем дворе» сайтов, но сам результат работы программы очень красив и видео будет интересно посмотреть всем. Данная программа визуализирует работу веб-сервера Apache используя log-файлы. По ссылке видео, а саму программу можно скачать по здесь.
Всего голосов 101: ↑96 и ↓5+91
Комментарии57

Как правильно покупать товары на Ebay

Время на прочтение5 мин
Количество просмотров183K
image
Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
Читаем далее
Всего голосов 187: ↑166 и ↓21+145
Комментарии100

Бюджетные петабайты: Как построить дешевое облачное хранилище

Время на прочтение3 мин
Количество просмотров34K
Познакомьтесь с Backblaze Pod: 67 терабайт за $7867

Мы в Backblaze предлагаем нашим клиентам неограниченное хранилище всего за $5 в месяц, поэтому нам пришлось выяснить, как хранить сотни петабайт клиентских данных надёжным масштабируемым образом, при этом сохраняя цены низкими. Посмотрев на несколько коммерческих решений с неоправданно высокими ценами, мы решили строить наши собственные нестандартные контейнеры хранилища Backblaze (Backblaze Storage Pods): 67-терабайтные 4U-серверы за $7867.

В этом постинге мы расскажем, как создать такой контейнер хранилища, и будем рады, если вы используете подобный дизайн сами. Мы надеемся, что от совместного использования этой идеи выиграют все: как вы, так и мы, поскольку вы можете усовершенствовать этот дизайн и прислать нам улучшения. Эволюция и снижение затрат являются критичными для продолжения успеха Backblaze.
Читать дальше →
Всего голосов 143: ↑134 и ↓9+125
Комментарии268

Сбор статистики с интерфейсов с помощью pfstat

Время на прочтение2 мин
Количество просмотров1.6K
Для фаервола PF, есть удобный инструмент для создания графиков нагрузки на интерфейсы, pfstat. Он доступен в *bsd.
Для установки данной утилиты потребуется совсем немного времени.

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

10 лучших открытых инструментов для разработчика в Linux

Время на прочтение6 мин
Количество просмотров18K
«Linux может быть великолепной средой для разработки программного обеспечения, но вам нужны правильные инструменты, чтобы использовать его на полную мощность», — говорит Джек Валлен (Jack Wallen).

Без надёжных инструментов разработки вы не сможете воспользоваться лучшими преимуществами Linux. К счастью, Linux и открытое инструментальное программное обеспечение легко доступно. Однако, если вы новый пользователь, вы можете не знать, какие утилиты лучше выбрать, так что вот 10 выдающихся инструментов, которые помогут поднять вашу разработку на другой уровень.
Читать дальше →
Всего голосов 40: ↑18 и ↓22-4
Комментарии34

Антидизайн. Часть 2. Очевидные приемы

Время на прочтение6 мин
Количество просмотров11K
[Уже появилась и Часть 3]

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

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

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

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


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

В этой статье я начну с разбора очевидных, прямых и явных способов антидизайна.

1. Кодирование


Самым простым путем ограничить доступ к информации является кодирование. Его неуместное применение в несколько тысяч миллионов раз замедлит усвоение и восприятие информации. Сделает невозможным ее анализ.



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

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



Дальше — под катом.

Читать дальше →
Всего голосов 281: ↑267 и ↓14+253
Комментарии54

Как еще можно классифицировать музыку

Время на прочтение1 мин
Количество просмотров1.5K
Как еще можно классифицировать музыку.

Все прекрасно знают, что это дело весьма и весьма не простое. О том как это сложно можно почитать у kurokikaze . В свое время прочитал книгу А.В. Волошина «Математика и искусство». И вот что придумал.
Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии58

Подлинная история Интернета — Битва браузеров

Время на прочтение1 мин
Количество просмотров711


Видео будет полезно для тех, кто не в курсе, как все начиналось или подзабыл уже

ППНХ :)
Всего голосов 42: ↑35 и ↓7+28
Комментарии29

Эксперимент №2. Определяем объем человека.

Время на прочтение1 мин
Количество просмотров16K
Задание на сей раз — указать объем человека, изображенного на фото.

Принцип и смысл тот же, что и в Эксперименте №1

Фото под катом

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

UPD№2: верните мне карму до какого-то приемлемого уровня (а сейчас у меня 1.86), иначе я не смогу опубликовать результаты и их анализ. (а анализ там будет не простой). Это не шантаж и не прихоть, это технический момент, который я не могу игнорировать.

UPD№3: итоги подведу сегодня вечером, часов в 10-11 по Московскому времени.

UPD№4: обнаружил неожиданные интересные результаты. Задумался. Итоги напишу чуть позже, чем собирался. Приношу всем свои извинения.

UPD№5: Анализ результатов здесь
Читать дальше →
Всего голосов 45: ↑29 и ↓16+13
Комментарии143

Шаблонизаторы для PHP, обзор принципов.

Время на прочтение6 мин
Количество просмотров2.1K
У таких статей обычно плохая судьба на Хабре.
«Шаблонизаторы», в особенности «шаблонизаторы для PHP» — встретив эти слова в заголовке темы на форуме, названии статьи или записи в блоге, можно быть уверенным — очередной холивар где-то рядом. В чем причина?
Постараюсь не скатиться до банальностей
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

Готовим пользовательское соглашение своими руками

Время на прочтение8 мин
Количество просмотров74K
Пользовательское соглашение или как его еще принято называть Соглашение об использовании сервиса, является ключевым документом, на котором строится юридическая защита интернет-сервиса.

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

Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии17

TinyMCE — получение содержимого редактора.

Время на прочтение2 мин
Количество просмотров3.8K
Хотелось спросить у сообщества совета, так как сам я вследствие неопытности в данном вопросе никак не могу найти решение.

Описываю ситуацию:
Пишу редактор структуры сайта. Сделан он следующим образом: при клике на раздел вслывает окно thickbox, в который загружается редактор раздела, частью которого является TinyMCE. В редакторе присутствует кнопочка «применить», функция которой сводится к сериализации данных формы, отсылки этих данных на сервер, получение ответа и замена этим ответом содержимого thickbox. Выглядит это так:
function submit_form(button) {
var str = $("#edit_form").serialize()+"&"+button+"=true";
$.post("update", str, function(data) {
$("#container").parent().html(data);
});
}

Содержимое TinyMCE не содержится в textarea и, соответственно не сериализуется. Вариантов решения мне видится два: либо копировать содержимое редактора в textarea перед сериализацией, либо как-то сериализовать его отдельно и приаттачивать к посылаемой строке. Вот тут-то и всплывают грабли, на которых я отплясываю уже некоторое время: в TinyMCE не существует ни переменной которая бы просто сожержала контент редактора, ни функции которая бы этот контент возвращала без каких-либо лишних махинаций (ну или я просто её не смог найти — в этом случае ткните меня носом и я отстану от вас, посыпапя голову пеплом). Единственное, что я нашел — это метод getContent, который «Gets the content from the editor instance, this will cleanup the content before it gets returned using the different cleanup rules options.» Я не совсем понимаю смысл этой фразы, но если воспользоваться этим методом так как я это попробовал:
function submit_form(button) {
$("#text").val(tinyMCE.get('text').getContent());
var str = $("#edit_form").serialize()+"&"+button+"=true";
$.post("update", str, function(data) {
$("#container").parent().html(data);
});
}

то при загрузке в thickbox второй раз строчка $("#text").val(tinyMCE.get('text').getContent()); не срабатывает. Редактор есть, содержимое в нем есть, а метод не работает, и соответственно вся функция submit_form() — тоже.

Вразумите молодого падавана, а?

Если нужно каких-то дополнительных сведений — скажите, я дополню.

P.S. Я не являюсь знатоком javascript и использую его только постольку, поскольку приходится и без него — никуда. Поэтому заявления «уйди с глаз долой неумеха» со скорбным видом принимаются, но я рекомендую обойтись без них — это и так понятно. К сообществу я обратился только после того как долго тыкался сам и решения не нашел.

Update:
Проблему удалось решить вот так:
function submit_form(button) {
tinyMCE.get('text').save();
var str = $("#edit_form").serialize()+"&"+button+"=true";
$.post("update", str, function(data) {
tinyMCE.get('text').remove();
$("#container").parent().html(data);

});
}


Ну а контент проще всего получить через tinyMCE.get('text').getBody().innerHTML;

По всей видимости при замене содержимого thickbox создавался новый экземпляр редактора а старый никуда не девался, поэтому надо было использовать remove(), который я поместил в $.post чтобы момент преображения принцессы в лягушку редактора в textarea происходил наиболее незаметно для пользователя.
Всего голосов 14: ↑9 и ↓5+4
Комментарии11

Ранги разработчиков

Время на прочтение2 мин
Количество просмотров18K


Конечно ранг разработчика — это достаточно абстрактное понятие, но я выскажу свое мнение по данному вопросу, оно не привязано ни к какой теории, а базируется лишь на моём опыте.
Читать дальше →
Всего голосов 117: ↑104 и ↓13+91
Комментарии114

Музицирующий Лео

Время на прочтение2 мин
Количество просмотров980
Вот наткнулся на забавные подборки для генератора голоса. Открываем терминал, копируем команду и жмем enter.

say -v Good oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Понравилось?
Читать дальше →
Всего голосов 105: ↑85 и ↓20+65
Комментарии95

«Страсти» по World of Warcraft и Blizzard

Время на прочтение1 мин
Количество просмотров1.2K
Компания Blizzard наконец-таки запустила русскоязычную версию сайта игры World of Warcraft. Пока, правда, не все разделы сайта работают (разница между английской и русской версией ощутима) и многие элементы меню не переведены. Но лиха беда начало.

Кроме того, сегодня начинается бета-тестирование самой игры, уже переведенной на русский язык. Тут тоже не все ладно: из недр компании просочилась информация о таких казусах, как дословный и буквальный перевод имен и географических названий. Занятности вроде «Подгорода» (столицы нежити Undercity) и «Прибамбасска» (город гоблинов Gadgetzan) явно режут слух.

Есть новости и о делах судебных. В частности, касающихся разбирательства между Blizzard и авторами утилиты WoWGlider (теперь уже MMOGlider) компанией MDY. Суд признал, что WoWGlider (программа, позволяющая персонажам WoW качаться в автономном режиме) нарушает условия использования игры World of Warcraft и посягает на копирайт самой компании Blizzard. Так что в ближайшее время утилитку запретят, а MDY, скорее всего, накажут финансово.

А еще Blizzard уже официально (свое «одобрямс» высказали и акционеры и регулирующие органы) слилась с Activision.

via Compulenta
Всего голосов 30: ↑23 и ↓7+16
Комментарии84

Обработка POST запросов AngularJs в Symfony2

Время на прочтение2 мин
Количество просмотров17K
Примечание
Давненько уже читал пост на хабре, о сабже в контексте php, и все руки не доходили на Symfony2 привести это в какой-то красивый вид, а тут в недавнем дайджесте наткнулся на простое решение, которое здесь и представлено.


Использование Symfony2 и AngularJs в связке является хорошей идеей, но есть одна проблема — решение из коробки обладает проблемой в коммуникации. В этом посте будет рассказано о том, как автоматически декодировать JSON-запросы и использовать полученные данные при помощи Request Symfony используя библиотеку symfony-json-request-transformer (на самом деле всего-то один класс).
Мокрая киска под катом
Всего голосов 21: ↑17 и ↓4+13
Комментарии14

Разработка WEB-проекта на Node.JS: Часть 2

Время на прочтение12 мин
Количество просмотров56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии103
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность