Pull to refresh
-1
0
angry_elf @angry_elf

User

Send message

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

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

Познать дзен садоводства!
Total votes 233: ↑203 and ↓30+173
Comments103

Про успех и разницу между выращиванием и добычей

Reading time6 min
Views906
Пашем Давайте придумаем аналогию, а затем хорошенько над ней поиздеваемся: представьте, что вы только что приобрели земельный надел. Чем вы будете заниматься? Добычей ископаемых или фермерством?

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

Впрочем, вы можете заняться добычей ископаемых. Вам потребуется некоторое количество денег, чтобы заплатить за аренду оборудования и нанять людей, которые будут работать в шахте. А затем: бам, прибыль! Вы делаете деньги. Вы разрываете огромную дыру в земле и вытаскиваете оттуда весь металл, который там есть. Работа идет с максимальной скоростью: не о чем заботиться, нечего сохранять на будущее. Вы зарабатываете кучу денег, земля истощается, а вы идете дальше, оставляя за собой ни к чему не пригодный кратер.

Читать дальше →
Total votes 153: ↑146 and ↓7+139
Comments41

Как оценить задачу до начала разработки сайта

Reading time5 min
Views28K
Постановка задачи — ключ к успеху любой работы. Если задача не поставлена чётко, то невозможно даже понять, решена ли она.

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

Читать дальше →
Total votes 144: ↑135 and ↓9+126
Comments70

TOP'ай сюда

Reading time5 min
Views180K
Обзор практически всех *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 программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Total votes 401: ↑389 and ↓12+377
Comments122

Двадцать вопросов, которые помогают разработать алгоритм

Reading time5 min
Views8.2K
Как разработать алгоритм, решающий сложную задачу? Многие считают, что для этого нужно «испытать озарение», что процесс этот не вполне рационален и зависит от творческой силы или таланта.

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

Если вы хотите решить сложную задачу, собирайте информацию в самых разных направлениях. Ответив на следующие 20 вопросов, вы легко выстроите план работы над задачей.
Читать дальше →
Total votes 95: ↑81 and ↓14+67
Comments28

Linux: Ускоряем софтрейд и RAID6 в домашнем сервере

Reading time4 min
Views32K
Чем можно заниматься в 0 часов 0 минут в Москве? Сидеть за праздничным столом и праздновать? Как бы не так. В этот праздничный миг я хочу поделиться с вами моими сегодняшними изысканиями по тюнингу производительности софтрейда в домашнем сервере. Можно пропустить теорию и сразу читать последний абзац где основная соль.

Почему RAID-6?


Как известно, RAID-5 выдерживает смерть одного веника, и после этой самой смерти – до момента когда закончится восстановление рейда с новым винчестером ваши данные под угрозой – восстановление обычно занимало до 70 часов для больших массивов и еще один веник может легко умереть в это время.
RAID-6 выдерживает смерть 2-х любых веников. Из минусов – общепризнанное мнение что тормозит, особенно запись, даже по сравнению с RAID-5. Что-ж, проверим.
Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments129

Этап подготовки проекта в теории

Reading time12 min
Views53K
В данной статье рассмотрены теоретические основы важнейшего этапа в управлении проектами – именно его подготовки. Это должно быть интересно как новичкам в таком непростом деле, как менеджмент проектов, так и начинающим стартаперам, и возможно, опытным менеджерам.

Что же такое проект?
Читать дальше →
Total votes 68: ↑60 and ↓8+52
Comments31

Знакомимся с OpenGL

Reading time8 min
Views296K

OpenGL


Знакомство с OpenGL нужно начать с того, что OpenGL — это спецификация. Т.е. OpenGL лишь определяет набор обязательных возможностей. Реализация же зависит от конкретной платформы.
OpenGL является кроссплатформенным, независимым от языка программирования API для работы с графикой. OpenGL — низкоуровневый API, поэтому для работы с ним неплохо иметь некоторое представление о графике в целом и знать основы линейной алгебры.
Читать дальше →
Total votes 96: ↑81 and ↓15+66
Comments47

Objective-C с нуля

Reading time23 min
Views438K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8+147
Comments61

Самый короткий в мире маркетинговый план

Reading time1 min
Views17K
В догонку к посту про макет бизнес модели, не менее полезный «самый короткий в мире маркетинговый план» (так его назвал автор, Келли Одел).

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

Посмотреть план
Total votes 126: ↑115 and ↓11+104
Comments40

HTML5 Video — от А до Я

Reading time6 min
Views236K
Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!
Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments26

SIP телефония для дома — реализация, опыт, фишки

Reading time9 min
Views202K
Всем привет.

В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.

Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
Читать дальше →
Total votes 107: ↑100 and ↓7+93
Comments122

Highcharts: Красивые, динамические чарты за 5 минут!

Reading time2 min
Views66K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →
Total votes 139: ↑132 and ↓7+125
Comments49

Десять смертных грехов в оценке трудоёмкости разработки программного обеспечения

Reading time6 min
Views52K

Введение


В этом топике я хочу представить вам, дорогие читатели, пересказ вебинара от человека, чьё имя не нуждается в представлении. Для того, чтобы изложить часовой вебинар в виде небольшого топика, мне пришлось значительно ужать комментарии автора, поэтому я сознательно не помечаю топик как «перевод». В этот раз Стив МакКоннелл решил поделиться с нами своим опытом в виде коротких тезисов, в которых он отражает самые страшные ошибки при оценке трудоёмкости разработки программного обеспечения. В 1998 году читатели журнала Software Development назвали Стива одним из самых влиятельных людей в индустрии разработки программного обеспечения на равне с Биллом Гейтсом и Линусом Торвальдсом. Стив — автор книги «Software Estimation. Demystifying The Black Art» — одной из самых популярных книг в области оценки трудоёмкости разработки ПО. Надо признаться, что вебинар был проведён относительно давно (июнь 2009 года), но информация, представленная там, совсем не устарела. Сам топик будет построен следующим образом. Заголовки будут достаточно точно переведены из презентации, которую показывал Стив, а в остальном я постараюсь отразить только основные мысли, чтобы не перегружать топик. Если кто-то посчитает, что ту или иную мысль я излагаю неправильно — милости прошу в комментарии, можно будет меня поправить.

Итак, поехали...
Total votes 116: ↑106 and ↓10+96
Comments27

Введение в FreeSWITCH, часть первая

Reading time3 min
Views50K
В свое время я открыл для себя Asterisk и VoIP вообще после прочтения серии статей на opennet.ru о его настройке. Попробую повторить пиар подобного типа для FreeSWITCH.

Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments1

HowTo: Skype-шлюз на базе FreeSwitch

Reading time8 min
Views29K
В этой статье я бы хотел рассмотреть создание SIP<->Skype шлюза для проброса входящих skype-вызовов на корпоративную IP АТС (в данном случае это будет Asterisk). Так как Skype на данный момент является, пожалуй, самым популярным клиентом VoIP среди пользователей, возможность позвонить в Вашу компанию через Skype будет дополнительным плюсом для клиентов.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments38

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Total votes 179: ↑175 and ↓4+171
Comments100

Причесываем трафик — динамический шейпер на Linux

Reading time4 min
Views58K
причесываем трафик
Предположим у вас есть домашняя сеть (или не домашняя, а сеть небольшого офиса) с выходом в интернет через не очень скоростной канал. А пользователей — много, и каждый хочет что-то скачивать, да с максимальной скоростью. Вот тут перед нами встатет задача, как максимально эффективно распределить наш интернет-канал между пользователями так, чтобы они не мешали друг другу. В этой статье я опишу, как можно решить такую задачу с помощью Linux-сервера.

Сформулируем, что же мы хотим получить в результате:
1. Чтобы канал поровну делился между пользователями.
2. Чтобы канал зря не простаивал.
3. Чтобы онлайн-игры, ssh и telnet не «лагали» даже при полной загрузке канала, например торрентами.
Читать дальше →
Total votes 100: ↑98 and ↓2+96
Comments98

Про правильную посадку в кресле

Reading time5 min
Views72K
Навеяно постами про подлокотники. Это сборник разных советов, которые я потихонечку собирал в записную книжку, когда впервые столкнулся с проблемами, которые может вызвать неправильная посадка в компьютерном/водительском кресле и дополнял собственным опытом и знаниями.

Что есть правильная посадка в кресле?

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

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

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

Решение — правильная поза. Как ее достичь? Причем совершенно штатными средствами, без адских подлокотников или кресел за полторы тысячи евро?

Читать дальше →
Total votes 119: ↑112 and ↓7+105
Comments89

Information

Rating
Does not participate
Registered
Activity