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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

Дизайн-система IVI. Взгляд изнутри. Часть 2

Блог компании Онлайн-кинотеатр IVI IT-инфраструктура *Дизайн мобильных приложений *Дизайн

Это вторая часть статьи про нашу дизайн-систему. Первая часть выходила раньше.

В этот раз речь пойдёт о философии нашей работы, взаимодействии с дизайнерами и клиентскими разработчиками; о трудностях, с которыми сталкиваемся, и как их преодолеваем; о том, как мы развиваем нашу ДС.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.6K
Комментарии 2

Обзор TrueConf 8 – мессенджера с видеосвязью и AI для Windows, macOS и Linux

Блог компании TrueConf IT-инфраструктура *Интерфейсы *Usability *Видеоконференцсвязь

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

Меня зовут Оксана и я – руководитель продуктовой команды в компании TrueConf. 

Мы разрабатываем софт для видеосвязи и совместной работы уже больше 10 лет. Сегодня я расскажу о создании нового поколения десктопных приложений TrueConf: наш опыт переосмысления и трансформации project-команды в старшего и более зрелого брата – product-отдел.

Читать далее
Всего голосов 19: ↑16 и ↓3 +13
Просмотры 5.1K
Комментарии 31