All streams
Search
Write a publication
Pull to refresh
24
0.1
Виктор Поморцев @SpiderEkb

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

Send message
Не все так просто. Это работает пока вы варитесь в небольшой кастрюльке. А как переходите в болшой котел, сразу возникает проблема сопровождения и дальнейшего развития кода.

Не будет вас — кто сможет доработать ваш код?
Случись что на бою — сможет сопровождение решить проблему в ваше отсутствие?

В крупной конторе есть набор используемых инструментов, которыми владеют все разработчики. И есть набор требований, в том числе и по оформлению кода.

У нас, к примеру, платформа IBM i (бывш. AS/400) на серверах IBM Power9. Инструментарий на бэке — основной язык RPG. Часть модулей пишется на C/C++ (большинство разрабов владеют и тем и другим) — там, где решение задачи на C/C++ будет эффективнее. Немножко пишется на CL.

И всегда есть гарантия, что один разработчик разберется и сможет доработать или поправить дефект в коде другого. Тут редко бывает чтобы кто-то годами тянул одну задачу. Есть деление по командам тематическое, но внутри команды любой может подхватить работу другого при необходимости.
Ну да… В бой мимо нагрузочного тестирования поставки не проходят.
По большому счету дельфи не лучше и не хуже других сред разработки. Да, в свое время это было прорывом в плане «визуального программирования», хотя до нормального языка спецификации данных типа DDS (Data Description Specifications) в AS/400 где одним языком описываются экранные формы («дисплейный файл» — DSPF), формы вывода на печать («принтерный файл» — PRTF), таблицы (файлы данных, «физический файл» — PF), индексы, объединения, представления («логические файлы» — LF) у них дойти ума нехватило. К сожалению.

Но кода на дельфях написано много. И пока это код жив, дельфа будет жить. Как все еще жив COBOL (развивается слабо, но как-то еще дышит), RPG (этот вполне еще живет на айбиэмовских майнфреймах и потихоньку развивается в рамках концепции ILE — Integrated Language Environment где одна программа может быть собрана из модулей, написанных на разных языках — RPG, COBOL, CL, C/C++).
Для маленьких проектов это неважно. Для того, что работает на больших enterprise серверах, где одновременно крутится тысячи задач экономия пары мегабайт может быть весьма существенной.
Точно на все? Вот на все-все-все?

Странно, на на AS/400 (i5/OS, IBM i) C и C++ есть (компилятор встроен в операционку в составе ILE), а Дельфы нету…
По его книгам много фильмов снято. На память
Парк Юрского периода (1 и 2 части)
Сфера
Штамм Андромеда
13-й воин (пожиратели мертвых)
Стрела времени (Timeline)
Восходящее солнце
Разоблачение
Конго
Пиратские широты
Опасный пациент (The terminal man)

Ну и сценаристом он был во многих фильмах.
The Andromeda Strain — это, надо понимать, «Штамм Андромеда»? Не самый удачный фильм по не самой удачной (на мой взгляд) книге Майкла Крайтона. Тот же Next или Государство страха или Крылья (в оригинале Airframe) у него куда более впечатляющи.

Кстати, первые две части Парка Юрского периода сняты по его же книгам (и книги куда более серьезны чем фильмы). И 13-й воин (по книге Пожиратели мертвых).

Вообще, рекомендую почитать Крайтона — у него во многих книгах поднимается вопрос этики в науке. Весьма серьезный писатель, умеющий при этом писать захватывающие сюжеты.
Не поверите — глубокий backend на платформе IBM i — мейнфреймы IBM PowerSystem 824 (тестовый) и 828 (боевой).
Каждый продукт проходит 4 уровня тестирования — компонентное, интеграционное, нагрузочное и бизнес.
И на нагрузочном тестировании зачатую не проходят более безобидные на первый взгляд вещи чем лишний уровень стека — лишнее переоткрытие файла, лишнее чтение из dtaara, лишние операции с датой-временем, лишний запуск/остановка фонового процесса (submitted job)
То, что вы своим кодом не можете выбрать стек ничего не значит. Скорее всего, пока работает одна ваша задача все просто замечательно. До тех пор, пока ваша задача не становится одной из тысяч, работающих одновременно. А вот когда в пике загрузка сервера переваливает за 90% (а то и 95%), начинаются изыскания на тему где и как можно скроить и кто жрет лишнего.

В общем, мне лень спорить по пустому и рассказывать азы. Давно живу, повидал много на самых разных платформах.
Ок. Вам виднее. Видимо, в Вашей практике действия на выходе не нужны. И проще увеличить стек вызовов еще одной функцией, чем корректно все разрулить в текущей.
Множественные точки выхода из процедуры не есть хорошо. Мало того, что логика становится менее наглядной, так еще и не дай бог придется что-то делать на выходе…

Хорошо, если язык позволяет конструкции типа on-exit, а если нет?

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

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

Если это не псевдокоммеческая структура, созданная «родственником и знакомым Кролика» для прокачки денег по госзаказу, а реальная контора, где сколько заработали, столько и съели, то требования там достаточно высокие и просто так никто ни копейки не заплатит.

А если в этой компании IT служба (в том числе) реально обеспечивает прибыль, то у руководства обычно есть понимание того, что чтобы корова лучше доилась, ее нужно больше кормить и ухаживать за ней. правда, от коровы, которая и в таких условиях не доится, избавятся быстро и без сожалений. И желается это проще чем в госструктурах.
Думаю, что здесь зависит от банка. В моем случае работаю в филиале. Но. ИТ подразделение банка организовано так, что есть три «площадки» разработчиков (и аналитиков) — Москва, Питер и Екат. И все работают синхронно, команды по направлениям часто смешанные с разных площадок.
Основной RPG, некоторые вспомогательные модули на С/С++ (обычно это srvpgm + rpg интерфейсы к ним).
Что именно разнится и в чем адский ад?
Работаю в банке (см выше), ада не наблюдаю.
Более того, наблюдаю постоянное совершенствование workflow и автоматизацию рутинных процессов. И хорошо отлаженную коммуникацию в командах несмотря на то, что территориально команды распределены по трем основным центрам разработки — Москва, Питер и Екатеринбург и ситуация когда аналитик в Москве, а разработчик в Екатеринбурге абсолютно нормальна. внутренняя IP телефонная сеть с Cisco Jabber поверх решает все вопросы.
Альфа. Разработчик под ibm i (backend)
Работал в разных типах структур — бюджетные, муниципальные, коммерческие.
В среднем в коммерческих работается более комфортно.
Сейчас наиболее комфортное (хотя по степени загруженности интенсивности опять же самое-самое) место работы из всех что были до этого — 100% коммерческий банк из списка «системообразующих»
Тут возможно незаконное собирание и нарушение п.3 ст.18 153 ФЗ:
Если персональные данные получены не от субъекта персональных данных, оператор, за исключением случаев, предусмотренных частью 4 настоящей статьи, до начала обработки таких персональных данных обязан предоставить субъекту персональных данных следующую информацию:
1) наименование либо фамилия, имя, отчество и адрес оператора или его представителя;
2) цель обработки персональных данных и ее правовое основание;
3) предполагаемые пользователи персональных данных;
4) установленные настоящим Федеральным законом права субъекта персональных данных;
5) источник получения персональных данных.


Я не про законы и сертификаты, а про реальную жизнь. С точки зрения тех, кто с этим сам сталкивался по работе. Мне немного (всего-то лет 20) довелось поработать с системами мониторинга и управления, в том числе распределенными, но не в самых критичных областях обеспечения жизнедеятельности. Посему имею общее представление, но хотелось бы конкретики.

Вот честно — возможность читать оппозиционные сайты, писать в фейсбук гневные посты про кровавую гебню и постит в инстаграм «вот я кушаю, а вот я какаю» не волнует ну совершенно.

А возможность малыми затратами парализовать системы управления энергоснабжением в масштабах региона (например) волнует весьма.

Кто переживает «чтобы не было как в китае» скажу — для тех, у кого недостаточный уровень образования все необходимые для жизни сервисы реализованы внутри. Кто хочет большего — придется чуть напрячь мозг (чтобы самостоятельно настроить vpn хотя бы) и все будет. Работа через vpn со всеми мировыми ресурсами там вполне реальна. Ну кроме отдельных районов, где вообще блокируется все и вся.

Information

Rating
2,984-th
Location
Екатеринбург, Свердловская обл., Россия
Works in
Date of birth
Registered
Activity