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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

Время на прочтение 6 мин
Количество просмотров 39K
Блог компании Студия дизайна 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
Комментарии 42

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

Время на прочтение 11 мин
Количество просмотров 43K
Программирование *Анализ и проектирование систем *Управление разработкой *Управление персоналом *

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

Weak UI, weak programmer

Время на прочтение 2 мин
Количество просмотров 2.8K
Программирование *Интерфейсы *Дизайн

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
Комментарии 5

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

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

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

Время на прочтение 5 мин
Количество просмотров 4.7K
Блог компании Timeweb Cloud Читальный зал
Перевод

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

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

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

Время на прочтение 8 мин
Количество просмотров 2.3K
Блог компании Онлайн-кинотеатр Иви IT-инфраструктура *Дизайн мобильных приложений *Дизайн

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

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

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

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

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

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

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

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

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

Эпоха красивого кода прошла. Пришло время быдлокода

Время на прочтение 2 мин
Количество просмотров 113K
PHP *Программирование *Разработка под Android *ReactJS *Flutter *
Из песочницы

Эпоха красивого кода прошла. Пришло время быдлокода    

Давеча решил я отключить ненужные плагины в настройках Android Studio. Снял галочки напротив плагинов которые для меня не нужны, IDE не предупредила ни о каких возможных проблемах.

Перезапустил IDE, и вуаля:

"Missing essential plugins... Please reinstall from scratch."

Читать далее
Всего голосов 188: ↑132 и ↓56 +76
Комментарии 430

Fukami. Ч.2.1. Как я наполнял контекст. С примерами

Время на прочтение 21 мин
Количество просмотров 917
Дизайн игр *Искусственный интеллект
Кейс

В этой статье я рассказываю подробнее о своем системном подходе в формировании контекста в Чате. Во второй половине статьи сделан детальный разбор некоторых интересных кейсов первой сессии работы с ChatGPT.

Приглашаю продолжить чтение моего дневника разработки...

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 8