Pull to refresh
1
0.1
Сергей @SergejSh

Programmer

Send message

Актуально ли сегодня ООП?

Level of difficultyMedium
Reading time11 min
Views57K

Почти каждый день возникают дискуссии с критикой или восхвалением объектно-ориентированного программирования. «Java устарела!», «Java потрясающая!». В этой статье я проведу прагматичное исследование ООП на 2024 год.

Термин объектно-ориентированное программирование придумал Алан Кэй. Кэй был членом команды PARC, которая изобрела графический интерфейс пользователя, сделавший таким полезным современный Интернет, персональные компьютеры, планшеты и смартфоны. Ещё она изобрела некоторые из объектно-ориентированных языков, на которых мы сегодня реализуем эти GUI.

Если отсечь все эмоции, связанные с ООП, то что останется? По-прежнему ли ООП является эффективным инструментом разработки ПО, или оно превратилось в устаревшее увлечение? Профессионалам важно знать ответ на этот вопрос!
Читать дальше →
Total votes 105: ↑85 and ↓20+65
Comments179

Как быстро и качественно импортозаместить UI

Level of difficultyMedium
Reading time8 min
Views4K

Всем привет.

Хочу рассказать о своем опыте импортозамещения UI.

Не предлагаю ничего нового, известный подход, приложенный к конкретной задаче.

Кратко задачу можно описать так:

Есть: Исходный проект с множеством таблиц и форм.

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

Решение:

1.       Автоматически собрать необходимую информацию из исходного проекта в файл.

2.       Дополнить этот файл в той части которую не получилось собрать автоматически.

3.       Создавать нужные файлы по шаблону заменяя подстановочные символы в шаблоне значениями из файла. Полученные файлы могут быть если необходимо доработаны.

Первое что приходит на ум при решении такой задачи — это использовать встроенный в VisualStudio кодогенератор, он реализует похожую задачу. Я изначально рассматривал использование его. Но передумал. Получается много сложнее.  Кроме того, генератор в студии предполагается использовать постоянно, мой генератор нужен одноразово что бы создать заготовку кода. Хотя я не исключаю, что буду применять его и далее.

Очевидные для меня плюсы такого подхода:

1) На порядок быстрее.

2) Код максимально однообразен.

3) Код можно легко покрыть автоматически созданными тестами.

4) В случае внесения в шаблон изменений, а это обязательно случится и не раз, можно быстро пересоздать код.(если шаблон доработан, то используя систему контроля версий можно быстро поправить как надо)

 

Читать далее
Total votes 12: ↑0 and ↓12-12
Comments26

Vue.js. Создание динамических пользовательских интерфейсов с помощью компонентов и реактивных свойств

Level of difficultyMedium
Reading time11 min
Views4.2K

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

Меня зовут Сергей Журавлев, я участник профессионального сообщества NTA.

Проведение опросов, викторин и других игровых обучающих активностей среди сотрудников является частью корпоративной культуры многих компаний. При этом по ряду причин использование существующих веб приложений бывает затруднительным, либо невозможным. В связи с чем, задача разработки собственной легковесной, адаптируемой и расширяемой платформы игровых активностей с динамическими пользовательскими интерфейсами (DUI) является актуальной. Отмечу, что DUI плотно вошли в практику современной веб‑разработки. Зачастую, без них невозможно представить себе реализацию ключевого функционала приложения, поскольку они предоставляют значительную гибкость и интерактивность.

Но прежде чем перейти к основной теме публикации, сделаю короткое отступление на причины выбора именно Vue.js в конкуренции с самым популярным на текущий момент React. Если не углубляться в технологии, то главное преимущество Vue.js — его простая и понятная структура, упрощающая использование данного фреймворка при так называемой фулл‑стек разработке. Разделение логики и функционала компонентов от основной html‑разметки, позволяют быстрее и в наиболее полной мере погружаться в разработку специалистам разного профиля, что, в конечном итоге, позволяет экономить трудовые и временные ресурсы при разработке небольших приложений, не требующих вовлечение большой команды с узким разделением ролей.

В этом отношении, React, например, имеет несколько иной подход, при котором синтаксис html «растворяется» в JavaScript коде, расширяясь в вариацию языка JSX. Что, в конечном итоге, требует более узкой специализации от разработчиков и более сложного взаимодействия между участниками.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

Запуск идеи стоит 5 млн, и это дорого. Как сэкономить на проекте? Спойлер: откажитесь от React

Level of difficultyEasy
Reading time4 min
Views20K

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

Рендеринг — это преобразование кода в визуализированную страницу. Самые распространённые типы — на сервере (server side rendering, или SSR) и в браузере клиента (client side rendering, или CSR). В последнее время мы чаще используем серверный рендеринг с помощью технологии HTMX и советуем его заказчикам. В статье расскажем, почему.

Читать далее
Total votes 37: ↑20 and ↓17+3
Comments135

Какая «идеальная» цель развития у языков программирования?

Reading time3 min
Views7.4K


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

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

Об этой проблеме меня заставила задуматься первоапрельская статья «Доказательное программирование»

Понятно, что дата публикации статьи говорит сама за себя. Тем не менее, новые стандарты С++, постоянно выходящие спецификации Java или новый синтаксис у PHP 8, невольно заставляют задуматься, а в нужную ли сторону идет развитие языков программирования? Ведь большинство нововведений добавляют сложность в основной рабочий инструмент и решая одни проблемы, неявно добавляя множество других.

А что должно быть в конце прогресса у развития такой дисциплины как программирование? Или хотя бы у одного конкретного языка? Ради достижения какой конечной «идеальной» цели разрабатываются новые стандарты языков программирования?
Читать дальше →
Total votes 8: ↑5 and ↓3+2
Comments57

Безвентиляторные производительные компьютеры MIC-7000

Reading time5 min
Views20K

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

Для решения разнообразных ресурсоемких задач, конфигурация компьютеров может расширяться. Фирменные модули расширения i-Module позволяют установить любые платы PCI-e x16, в том числе полноразмерные GPU, для построения систем машинного обучения и запуска нейронных сетей.

MIC-7000 применяются в беспилотных автомобилях в качестве центрального сервера обработки данных, одновременно обрабатывая видео высокого разрешения с помощью плат видеозахвата, выполняя вычисления нейронной сети, и управляя периферией с помощью портов I/O и промышленных интерфейсов.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments43

Темный день для Vue.js

Reading time6 min
Views81K

Сегодня я был изумлен тем, как обычно позитивное и дружелюбное сообщество Vue.js скатилось в печальное противостояние. Две недели назад создатель Vue Эван Ю опубликовал предложение (RFC) с новым функциональным API для компонентов в грядущем Vue 3.0. Сегодня критическое обсуждение на Reddit и аналогичные комментарии на Hacker News вызвали наплыв разработчиков в изначальный RFC с возмущениями, порой даже чересчур резкими.

Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments135

Information

Rating
2,556-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity