Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Способы передачи управления между программными объектами

Разработка веб-сайтов
Из песочницы
Программные объекты — это обыкновенные классы из ООП. Под взаимодействием программных объектов я буду подразумевать передачу управления из одного класса в другой.
Это можно сделать двумя способами. Далее я буду называть их: объектный и событийный. Названия взяты из объектно-событийной парадигмы, подразумевающей наличие объектов, запускающих и обрабатывающих какие-то события. Но в моем случае, смысл другой. Так же, чтобы не путаться, назовем первый класс, из которого управления передается управляющим, второй класс, принимающий управление, соответственно, исполнителем.
Читать дальше →
Всего голосов 26: ↑22 и ↓4 +18
Просмотры6K
Комментарии 8

Софт — борьба за выживание

Разработка веб-сайтов
Будучи программистом, немного увлекаюсь этологией, которая базируется на открытых Чарльзом Давином принципах естественного отбора. И вот я подумал — а что если провести параллели и взглянуть на мир ИТ через призму дарвинизма?

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

Читать дальше →
Всего голосов 19: ↑12 и ↓7 +5
Просмотры515
Комментарии 31

Быстро поднятое упавшим не считается

Разработка веб-сайтов
Речь пойдет о важности тщательного тестирования ПО в двух разных случаях:
  1. когда дальнейшая поддержка продукта затруднительна
  2. когда разработка и поддержка продукта слиты в единый процесс

Для удобства первый вариант я дальше буду называть “Offline”, а второй — “Online”.

Основная мысль статьи — для варианта “Offline” наличие качественного тестирования жизненно необходимо, для варианта “Online” — хорошо отлаженный процесс разработки важнее тщательного тестирования.

Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Просмотры435
Комментарии 3

Эргономика и красота

Блог компании ALEE Software
Перевод
От переводчика. В печатных изданиях и в Интернете можно найти немало публикаций по различным частным аспектам проблематики юзабилити. Работ, посвященных анализу теоретико-методологических основ юзабилити, появляется значительно меньше.
Мы хотели бы восполнить этот пробел и начать серию публикаций, в которых вопросы компьютерной эргономики рассматриваются на стыке различных областей знаний: технической эстетики и дизайна, психологии, философии техники… Публикации будут включать как переводные, так и наши собственные исследовательские материалы.
Для начала мы хотели бы предложить вниманию наших читателей статью французской исследовательницы Амели Буше «Эргономика и красота». Работа была написана еще в 2004 году, однако затронутые в ней вопросы не утратили своей актуальности и сегодня. Что важнее: красота или функциональность? Каковы критерии красоты и эстетичности применительно к программным продуктам? Какую роль играет пользовательское восприятие чисто эстетических аспектов ПО в формирование представлений о его функциональности?
Надеемся, что предлагаемые статьи вызовут интерес читателей и станут предметом продуктивного обсуждения.


Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры6.2K
Комментарии 22

Разработка ПО как важнейшее из искусств (сразу после кино)

Блог компании БАРС Груп
Во многих источниках упоминается, что программирование — это творчество. Другие же сравнивают его со строительством. А третьи с выращиванием сада. Но в общем сходятся во мнении, что это больше похоже на искусство. А как известно, важнейшим из искусств для нас является — кино.
Задумывались ли вы о том, насколько похожи процессы искусства кино и искусства разработки ПО (раз уж мы относим себя к творческим людям)? В обоих этих случаях результатом является произведение искусства… либо гадость, которой конечный потребитель останется не удовлетворен. Для еще большего понимания сравнения сделаем несколько шагов от фильма до приложения.
Первый шаг. Ближайший родственник фильма — мультфильм, анимация. Но по большому счету, большинство современных фильмов являются по своей сути мультфильмами.
Следующий шаг. Мультфильмы (особенно современные) безумно похожи на видео-игры. Им недостает интерактивности от поведения зрителя. В свою очередь, современные игры лишь чуть-чуть уступают качеству картинки мультфильмам и даже фильмам.
И вот мы уже в разработке игр, от которых рукой подать до производства прикладных программных систем. Цели разные, а вот процесс и подход к разработке одинаков.
Предлагаю взглянуть на процесс разработки ПО, через призму кинопроизводства. Быть может кто-то просто потешит себя сравнением и этой аллегорией, а кто-то начнет больше понимать и ценить свою роль в этом процессе.
(Скажу сразу — не снимал и не снимался в кино, но участвовал и участвую в разработке. Это фантазия — не судите строго.)
Итак, с чего начинается кино?
Читать дальше →
Всего голосов 15: ↑10 и ↓5 +5
Просмотры3.4K
Комментарии 10

Добавляя что-то одно, всегда отнимаешь кое-что другое

Разработка веб-сайтов
Перевод
Наиболее часто игнорируемый парадокс в разработке ПО — каждый раз добавляя что-то одно, ты отнимаешь кое-что другое.
Читать дальше →
Всего голосов 19: ↑10 и ↓9 +1
Просмотры403
Комментарии 8

Права пользователей в информационных системах через призму CMS Bitrix

Информационная безопасность
Из песочницы
Настроение философско-лирическое, поэтому вместо того, чтобы работать, потянуло поразмышлять, на сколько правильно реализована система прав в CMS Bitrix и как бы это сделал я.

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

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

Три типа данных: «объект», «операция над объектом», «право на операцию».
Читать дальше →
Всего голосов 13: ↑5 и ↓8 -3
Просмотры1.5K
Комментарии 5

Кто такой «хороший программист»?

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

Что отличает хорошего программиста от посредственного? И как самому стать хорошим программистом и заслужить среди друзей и коллег «почет и уважение»?

Читать дальше →
Всего голосов 135: ↑78 и ↓57 +21
Просмотры5.3K
Комментарии 81

Повторное использование знаний

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

Если оглядеться вокруг, то может сложиться впечатление, что отрасль разработки ПО шагает такими громадными шагами, что угнаться за ней нет никакой возможности. И если рассматривать всю отрасль в целом, то действительно это так и есть. Как-то сразу вспоминается старина Брукс со своим «Мифическим человеко-месяцем», когда он в заключении к своей книге пишет о том, как изменилась индустрия ПО в середине 90-х по сравнению с 50-ми годами. В те далекие годы (да, 90-е тоже уже далеки, так что уж говорить за эпоху зарождения индустрии сорока годами ранее) можно было прочитать все журналы (!), компьютерной тематики, которые выходили в свет. Сейчас же ежемесячно появляется десятки книг только по одной из популярных технологий, а количество статей просто не поддается счету.

Читать дальше →
Всего голосов 33: ↑27 и ↓6 +21
Просмотры2.6K
Комментарии 11

Главный принцип хорошего кода

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

Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут

Итак,
Всего голосов 168: ↑120 и ↓48 +72
Просмотры84.5K
Комментарии 174

Поколение, затерянное на базаре

Разработка веб-сайтов
Перевод
«Качество появляется только тогда, когда кто-нибудь несёт ответственность лично».
— Фредерик Ф. Брукс



Привет, хабр!

Предлагаю вашему вниманию вольный перевод эссе "A Generation Lost in the Bazaar" Пола-Хеннинга Кампа, повествующего нам о печальной судьбе поколения IT-профессионалов, выросших в период бума доткомов, а также о фундаментальных проблемах в UNIX, напрямую влияющих на качество и портабельность ПО. Обо всём по порядку.
Читать дальше →
Всего голосов 187: ↑174 и ↓13 +161
Просмотры73.1K
Комментарии 74

«Чем хуже, тем лучше», или Стартап за 6 часов

Блог компании Студия дизайна GenueИнтерфейсы
Перевод
19 августа 2009 года, в 12:30 Том Леман написал первую строчку кода задуманного им проекта Rap Genius, посвященного трактованию рэп-текстов. А уже в 18:22 того же дня была готова первая версия веб-сайта. Менее шести часов потребовалось на то, чтобы создать сервис, куда сегодня каждый месяц заходят 40 миллионов новых пользователей, который привлек уже 17 миллионов долларов венчурных инвестиций, и вокруг которого недавно разгорелся интернет-скандал, разрешившийся в пользу проекта и сделавший его ещё более популярным.

В первый же день, разложив по полочкам песню Killa Cam в исполнении рэпера Cam’ron, Леман внедрил те функции, которые до сих являются самыми востребованными. Конечно же, мы были просто обязаны позвать его выступить на последней конференции Design+Startup, проходящей под патронажем фонда First Round. На этой встрече Леман поделился теми четырьмя словами, благодаря которым Rap Genius смог состояться.

«Первая версия Rap Genius была просто отвратительна. Но благодаря этой отвратительности я узнал секрет, как нужно делать вещи в интернете. Секрет простой: чем хуже, тем лучше».


Что же это значит на практике? Том Леман с удовольствием рассказывает нам об этом.

image

Читать дальше →
Всего голосов 71: ↑63 и ↓8 +55
Просмотры39K
Комментарии 42

Принцип Анны Карениной в программировании и ИТ

ПрограммированиеАнализ и проектирование системУправление разработкойУправление персоналом

«Принципу Анны Карениной» посвящено немало научных публикаций и даже отдельная статья в Википедии. Применим к ИТ и программированию? А может он уже работает против вашего проекта?
Читать дальше →
Всего голосов 39: ↑32 и ↓7 +25
Просмотры41.8K
Комментарии 51

Weak UI, weak programmer

ПрограммированиеИнтерфейсыДизайн

UI facepalm


Why do so many programmers hate UI work? Because it is tedious. Especially, for the Web, but other types of UI are only slightly easier. Layouts, margins, paddings — neverending stream of little tweaks to make it look OK on all sane environments, and somehow this freaking button sometimes overlaps that input field. Rrrr! And yes, it should not hang on button clicks, which means a lot of asynchronous programming, which is a nightmare.


And don’t even speak about aesthetics and usability! Choose right colours, element sizes and locations, find/draw images and put them where they fit, think about user workflows — isn’t it a designers’ or Ux specialists’ job?! Leave me alone, I’m a programmer. I work with backend layers, where everything is straightforward and linear, there are no buttloads of different environments to adjust to, and design is guided by mere logic without pesky fussing with ‘user friendliness’ and ’beauty’!

Read more →
Всего голосов 14: ↑10 и ↓4 +6
Просмотры2.3K
Комментарии 5

Как я перестал ненавидеть и полюбил разработку

Карьера в IT-индустрии
Статья Страх и ненависть в IT заставила меня грустить. Отнюдь не потому что я разделяю чувства автора, но потому что их разделяет множество хороших разработчиков, убивая себя, свои проекты, индустрию и человеческий прогресс в целом. Вот маханул, а?
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры12.9K
Комментарии 18

Ваш код не бесполезнее чая

Блог компании TimewebЧитальный зал
Перевод

Колониальные компании создавались ради того, чтобы возить из Индии чай и пряности. Ни их создатели, ни владельцы английских мануфактур не думали о создании лучшего мира для грядущих поколений - и тем не менее, он откуда-то взялся. Не исключительно благодаря Ост-Индской компании, но и нельзя сказать, что она тут была ни при чём. Гугл с фейсбуком существуют ради того, чтобы показывать рекламу, но это не значит, что они не помогают прогрессу человечества.

Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Просмотры3.9K
Комментарии 8