Pull to refresh
2
0
danmiru @danmiru

User

Send message

Основы Linux от основателя Gentoo. Часть 2 (5/5): Модули ядра

Reading time8 min
Views55K
В заключительном отрывке второй части описаны основы управление модулями ядра Linux. Этот минимум неплохо знать всякому пользователю, однако, не стоит надеяться обнаружить в этом руководстве для начинающих информацию по сборке и конфигурированию модулей ядра.



Навигация по основам Linux от основателя Gentoo:

Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)
Часть II
  1. Регулярные выражения (вступление)
  2. Назначения папок, поиск файлов
  3. Управление процессами
  4. Обработка текста и перенаправления
  5. Модули ядра (итоги и ссылки)
Часть III: 1, 2, 3, 4


Читать дальше →
Total votes 99: ↑92 and ↓7+85
Comments23

Почему я работаю на почасовой оплате

Reading time3 min
Views24K
Перевод статьи молодого греческого программиста «Why I bill hourly»

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

Я люблю сравнивать разработку программного обеспечения с возведением здания, начиная с пустого земельного участка. Процесс выглядит примерно так:

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

Любой инженер-строитель шарахнется от такого предложения, программисты же в своей жажде заключить сделку прикинут смету, удвоят ее, добавят 30% и будут надеяться на лучшее. Как отвечаю на такой вопрос я?

Читать дальше →
Total votes 219: ↑199 and ↓20+179
Comments203

Диалоговое окно Android с «иконифицированным» меню

Reading time5 min
Views7.3K
Некоторое время назад меня увлекла идея разработки приложений под платформу Android. Дабы не заниматься изучением платформы на простых hello-world программках решил сделать что-то такое, что позволило бы освоиться с UI частью фреймворка, работой с БД, сетью и социальными сервисами.
Идея была придумана до одурения простая и я бы даже сказал, тупая. И вот когда я начал что-то делать то тут резко захотелось мне сделать красивое диалоговое окно с выбором пункта меню с иконками. Такой диалог присутствует в стандартном Андроиде, например, долгий тап на рабочем столе открывает диалог выбора добавляемого контента (виджет, обоины и т.д.). Итак, добро пожаловать под кат…
Читать дальше →
Total votes 87: ↑81 and ↓6+75
Comments38

Вы разработчик? Так почему вы до сих пор на кого-то работаете?

Reading time8 min
Views11K
Как разработчик, вы сидите на золотой жиле. Вы осознаете это?

Нет, серьезно, на @#$% золотой жиле! Никогда в истории не существовало возможностей так легко создать что-то с нуля, с маленьким или отсутствующим начальным капиталом и маркетинговой моделью, ограниченной только вашим воображением.

Подумайте о крупнейших сайтах, которые вы постоянно посещаете: Facebook, Twitter, Flickr, Foursquare, или даже Google — все они были созданы разработчиками, у которых была лишь идея. Было ли это легко? Черт, нет. Но это могло быть сделано только в наше время. Так, черт побери, почему вы просиживаете день за днем, работая на кого-то?
Читать дальше →
Total votes 306: ↑232 and ↓74+158
Comments214

Как найти вашего первого клиента

Reading time4 min
Views88K
imageКогда станете хорошо известны в своем деле, клиенты будут постоянно обращаться к вам, а не выбудете искать их. Когда есть много работы, то и стараться продавать свои услуги не будет особой нужды.

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

Поиск клиентов для каждого разный и то, что работает для одного, не всегда работает для другого. Тем не менее, я бы хотел поделиться некоторыми из способов, при помощи которых я получал работу в самом начале.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments24

8 вещей, которые я хотел бы знать, когда начинал свой бизнес

Reading time3 min
Views12K

Предисловие


В мире, наполненном стартапами, успех или неудачу сложно предсказать. Но одно можно сказать точно: тот, кто решается открыть своё дело, уже никогда не будет таким, как прежде. Постоянные трудности, связанные с появлением новых возможностей и проблем, делают процесс удивительным и интересным. Я думаю, что именно поэтому многие люди начинают своё дело, несмотря на наличие другой (более простой) альтернативы — работать на кого-то другого.
За свою жизнь я открыл несколько фирм и могу сказать, что некоторые извлечённые мной уроки были интуитивно понятны и доступны, в то время как другие — далеко не так просты и очевидны. Однако, учитывая временные и денежные затраты на понимание этих уроков, ни один из них я не могу назвать дешёвым.
Эти уроки изменили моё мировозрение, изменили меня как личность. Я рад, что мне пришлось столкнуться с ними, но это не значит, что я не хотел бы знать их изначально.
Вот эти восемь вещей, которые я хотел бы знать, когда начинал своё первое дело.
Читать дальше →
Total votes 166: ↑147 and ↓19+128
Comments64

Правильные и неправильные способы позиционирования стартапа относительно конкурентов

Reading time4 min
Views1.4K
Две наиболее значимые ошибки в позиционировании относительно конкурентов — это делать вид, что их нет и уходить в оппозицию со словами, что все конкуренты — идиоты.

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

Разберем распространенные ошибочные позиции стартапов.

1. Тут нет конкуренции. Приведем несколько фраз стартаперов и то, как их воспринимают инвесторы.

  • «У меня нет конкурентов» — даже если у Вас нет прямых конкурентов, то есть косвенные от «сделаю сам» до других альтернативных вариантов. И если Вы их не рассмотрели, значит Вы не знаете потребителя.
Читать дальше →
Total votes 63: ↑56 and ↓7+49
Comments102

Кому в App Store жить хорошо. Магазинчик программ «У Стиви» глазами разработчика

Reading time10 min
Views6.5K
В этой статье постараюсь кратко рассказать про свой полуторалетний опыт разработки под iPhone. И о том, кому же полезен App Store.

Часть 1. Действующие лица


Независимый разработчик


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

Много ли таких среди инди-разработчиков? Мне кажется, что нет. Напротив, даже очень и очень мало. Особенно в нашей стране. Попробуем разобраться, почему.

Многие слышали success story о том, как молодой человек загорается желанием и за неделю «в гараже» выдает на-гора супер-проект, о котором пишут новостные ленты, пестрит твиттер, который попадает в топы категорий, подкатегорий.

Обычно, за очень редким исключением, кроме минуты/дня/недели славы из этого ничего не получается. Что на первых порах молодой команде даже вредно.
О реальных цифрах знают далеко не все. Потому что далеко не все были в этом самом «топе». Иногда это даже проблема, этот «топ».
Читать дальше →
Total votes 145: ↑131 and ↓14+117
Comments96

5 галочек: чеклист юзабилити

Reading time6 min
Views30K
Мы выделили 5 основных пунктов, по которым можно определить юзабилити сайта. Список спорный и в основном касается продающих сайтов. И да, эти пять пунктов — среднее арифметическое опыта, полученного при обработке заявок на конкурс «Юзабельный вебпроект». Думаете, мы раздали слонов и забыли?


оригинал картинки

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

Ошибки, само собой, повторялись. Голова пухла, а мы продолжали писать одинаковые комменты. Результатом марафона стал ниже приведенный чеклист.

Сразу оговоримся, что мы не оцениваем юзабилити в вакууме, нам важно, чтобы сайт работал, т.е. «продавал». Товары, услуги, идеи — не важно. Речь может идти о бесплатном веб-сервисе, для которого транзакцией станет регистрация посетителя.
Читать дальше →
Total votes 147: ↑131 and ↓16+115
Comments101

US Virtual Bank Account, или как вывести деньги с зарубежных платежных систем

Reading time6 min
Views63K

Преамбула.


В связи с бурным развитием мобильных устройств и ОС Google Android в частности, интерес к разработке программного обеспечения под данную платформу весьма закономерное явление. Как оказалось, он мало чем отличается от обычной разработки на Яве под десктоп/веб, а с учетом возможности использования «стандартного» IDE (Eclipse) путем скачки и встраивания SDK Андроида, а также наличия исчерпывающей документации многие технические вопросы снимаются сами собой. Концептуальный аспект (т.е. идея для реализации в виде ПО) также не заставила себя ждать, благо платформа сравнительно новая, не смотря на недавно вышедшую уже версию 2.1, и конкурентная среда соответственно не такая насыщенная, если взять, к примеру, разработку под тот же iPhone. (Тут могла бы быть развернутая часть о самом ПО, но ввиду некоторых нюансов, таких как незаконченность проекта и отсутствие конкретных результатов, пока ее пропустим).
Оставался последний, и, естественно, самый интересный (логично, не правда ли?) вопрос – денежный, а конкретно – как правильно вывести честно заработанные дензнаки, полученные от продажи ПО на Android Market.
Piccy.info - Free Image Hosting
Вдаваться подробности не буду, все-таки статья ориентирована на тех, кто примерно ориентируется в данной теме, скажу коротко — в данном случае под прицелом оказывается сервис обработки онлайновых платежей Google Checkout, который с нерезидентами США изначально не работает. Насколько мне известно, прямых путей решения данной проблемы нет, поэтому пришлось искать обходные дорожки.
Читать дальше →
Total votes 114: ↑110 and ↓4+106
Comments84

Заметки ИТ-стартапера

Reading time3 min
Views1.6K
Кто заинтересован в ИТ-стартапах?

Формально почти все — государство, инветиционные фонды, выпускники физико-математических вузов, заказчики не желающие платить безумные деньги за ИТ-проекты в гига-компаниях.

Фактически же мы видим огромное количество новых ИТ-компаний, с разным размахом (зависит от объема инвестиций) стартующих, но крайне редко достигающих результатов. И даже самые успешные проекты очевидно достигают менее значимых в финансовом плане результатов чем строительство, торговля, работа в госорганах и т.д. Четкой статистики не имею (да и нет ее), но сами решите — когда у Вашего дома паркуется автомобиль за 100-150 тысяч у.е. — какие первые десять профессий приходят на ум? а еще десять? а еще?… когда в списке тех кто потенциально может позволить себе такую машину появится владелец ИТ-компании?
Читать дальше →
Total votes 77: ↑63 and ↓14+49
Comments39

Как побеждать на фриланс-конкурсах, или Откуда в Боливии алмазы

Reading time5 min
Views10K
Думаю, много кого волнует вопрос, как побеждать на фриланс-конкурсах? Постараюсь дать универсальные советы-и-правила-в-виде-инструкции-по-применению :)

Предисловие. Купила краски пачку.

Клиент, разместивший конкурс для фрилансеров, — это неуверенный в себе субъект. В 90% случаев он не способен выбрать подрядчика (поэтому и идет на конкурсы, собственно), чаще всего не способен даже грамотно сформулировать задачу, плюс ко всему он испытывает дикий финансовый голод, а также очень искренне надеется на то, что за его $200 он получит на выходе чудом родившееся у исполнителя гениальное решение его проекта, и приводит в качестве примера логотип компании Nike, нарисованный за $50 в прошлом веке.

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

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

Совет первый — идиотический.
Скажите себе: «Да, я идиот, что решил участвовать». Не испытывайте иллюзий. И только после этого со спокойной душой, ясным умом и чистой совестью цинично и хладнокровно приступайте к изучению задания жертвы.

Читать дальше →
Total votes 150: ↑119 and ↓31+88
Comments69

GRASP паттерны проектирования

Reading time4 min
Views241K
Почитать описание других паттернов.

GRASP (General Responsibility Assignment Software Patterns) — шаблоны проектирования, используемые для решения общих задач по назначению обязанностей классам и объектам.

Известно девять GRAPS шаблонов, изначально описанных в книге Крейга Лармана «Применение UML и шаблонов проектирования». В отличие от привычных читателю паттернов из Банды Четырех, GRAPS паттерны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.

Рассмотрим характеристики основных GRASP шаблонов.
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments24

Программизм: история одной болезни

Reading time7 min
Views12K
Вероятно, в этой статье нет ни одной новой или свежей мысли, мало того, я уверен, что вы уже не раз читали нечто подобное. Статья не претендует и на то, чтобы быть истиной. Ее содержание – плод собственного опыта, проб, ошибок и одновременно выжимка из тех знаний, которые удалось перенять от коллег, прочитать на Хабре и в других местах. Наверное, для каждого конкретного индивидуума то, что сказано в этом тексте, будет сильно отличатся от действительности, но, я уверен, многие смогут узнать в описании себя. Первая стадия, наверное, не очень характерна для программистов, которые не занимались олимпиадным программированием в бытность студентами или учениками, а вот следующие уже практически никак не зависят от этого фактора.

Стадия первая. Рождение


«Я программист. Я олимпиадник. Я знаю что такое «о»-маленькое. Я знаю, что такое «О»-большое. Я понимаю, чем отличается «эн-квадрат» от «эн-факториала» и почему они оба стыдливо прячутся при виде «эн-логарифм-эн». Сейчас я приду на проект и перепишу эту тормозную кашу из кода так, что она будет работать в много раз быстрее! Смотрите, я знаю алгоритм Кнута-Морриса-Пратта! А здесь можно сэкономить одно сравнение строчек на равность! А если эту рекурсию развернуть в цикл, то за счет экономии вызовов методов и выделения памяти в стэке… Что, программа тормозит? Сейчас я посмотрю код… Вот! Смотрите, здесь вместо двух вложенных циклов можно написать один и использовать бинарный поиск вместо внутреннего!»

Знакомтесь, это первая стадия. Она, в отличие от следущих, особенно характерна именно для олимпиадников. Пациент думает о том, как написать быстрый код. Он одержим быстрым кодом. К сожалению, наличие быстрого кода не всегда делает быстрым программный продукт в целом.
дальше все будет хуже
Total votes 329: ↑307 and ↓22+285
Comments137

Сниффер витой пары из Wi-Fi роутера

Reading time2 min
Views89K
image

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

Читать дальше →
Total votes 188: ↑172 and ↓16+156
Comments122

Бэкдор в active directory своими руками

Reading time3 min
Views18K
Итак, мы все знаем про подлых пользователей c UID=0 в unix, которых может быть больше одного.

Посмотрим, как такое же (а на самом деле, даже более страшное) организовывается в инфраструктуре Windows. Разумеется, мы говорить будем не про локальные виндовые учётные записи, а про Active Directory, т.е. говорить будем об администраторе домена. Или, даже, хуже, об enterprise administrator.

Итак, истина номер один: у объектов в active directory есть атрибуты и права доступа.
Истина номер два: эти атрибуты можно менять.

Как легко понять, мы МОЖЕМ сделать учётную запись с фантастическими правами, к которой не будет доступа НИ У КОГО. Однако, он сможет логиниться, блокировать, разблокировать, менять свои атрибуты и атрибуты чужих людей.

В самом страшном случае, это будет пользователь с волшебным SID-*500, которого не позволяет удалить уже сама винда. (Для этого нужно переименовать, а на его место положить другого пользователя с ником Administrator и с полными правами).
Читать дальше →
Total votes 118: ↑100 and ↓18+82
Comments69

Искусство и дзен написания CSS

Reading time6 min
Views15K
Я делаю шаблоны на чистом HTML/CSS уже больше восьми лет. За это время я убедился, что различные соглашения и документирование помогают в работе. Конечно, они не спасают от периодических CSS-кошмаров. Они лишь делают их менее болезненными. Мое решение — следовать определенным принципам в написании стилей. Эти принципы образуют основание, на котором будет строиться все дальнейшее написание стилей, облегчая работу над растущим проектом.
Читать дальше →
Total votes 146: ↑125 and ↓21+104
Comments88

5 советов по проведению хорошего обзора кода

Reading time3 min
Views2.7K
Обзор кода является одной из самых ценных инженерных практик.

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

Как вы могли заметить, в этом списке я не упомянул, что проведение обзоров кода помогает находить ошибки и соблюдать стандарты кодирования, и вот почему:

   1. Обзоры кода НЕ ДОЛЖНЫ проводиться с целью поиска ошибок.
   2. Обзоры кода НЕ ДОЛЖНЫ проводиться с целью проверки соблюдения стандартов кодирования.

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

Исходя из этой точки зрения, позвольте вам дать 5 советов по проведению хорошего обзора кода.
Читать дальше →
Total votes 50: ↑38 and ↓12+26
Comments45

Information

Rating
Does not participate
Registered
Activity