А как сейчас с работой?
Я правильно понимаю, что упоминание Shared Libraries - это звоночек про лютое оно мамонта, возню с ДЛЛками между проектами, батниками и командами MSBuild по их подключению или копированию - всё это вместо удобной репы с контролем версий и автоапдейтами?Смешались в кучу люди, кони... одно вообще не связано с другим.
Я почитал о них - в мире Гита и Нюгета их использовать, это получить тёмную от коллег.
И можно еще пользовать goto implemntation
Всё верно. Но мне нужна не куча из возможных реализаций, а конкретная, где возникает ошибка. Что за идиотизм, общаться одними интерфейсами? Только под дебагом и можно попасть в нужное место. А дебажить не всегда удобно или можно.
Новый прикол нашёл. Классы объявлены в разных пространствах имён. Созданы кучка директив, и написано типа
#if AppServer
namespace AAA
#else
namespace BBB
Всё вместе, собранное воедино - условные неймспейсы, сложный многостадийный пайплайн установки с тасканием скомпиленных файлов туда-сюда (тут у нас апп сервер, тут веб сервис - в каждый понаперенесено файлов от разных проектов), с генерацией файлов, которые нужны в рантайме и которых нет в проекте и при обычном дрюкании Ф5, что (и не только это) не позволяет толком запустить код по Ф5 и отладить его. А также создание типов в рантайме из XML-файлов, подключение либ без исходного кода, замену которым сейчас не найдёшь, а переписать на новый Дотнет невозможно, длинные стеки вызовов даже глобальных ресурсов, всевозможные менеджеры, адаптеры и провайдеры в несколько слоёв - всё на интерфейсах, хрен найдёшь конкретную реализацию без запуска кода (который максимально затруднён). Ещё какие-то самописные контролы со встроенной валидацией каждого поля. Не модель вся валидируется, а каждое поле, для чего все стандартные котролы были переписаны. Всё это разнесено по разным сервисам и аппам, а потом всё это взаимодействует через COM+, который конечно же на новом Дотнете отсутствует как класс. Ну и доков нет. Юнит-тесты какие свои самописные, без фреймворка - безо всяких Assert, а просто создаём объектики, гоняем туда-сюда по сервисам и проверяем возвраты - ожидаемые или нет.
Трудно понять гениальность замыслов создателей. Возможно, им эти выкрутасы казались ниипаца крутыми и признаками альфакодерства, но когда разгребаешь все эти овна, хочется медленно жарить их создателей в каком-нибудь пыточном подвале.
Чёта новости отовсюду - там, сям прогеров сокращают. В основном слышно про айти-гиганты, но и мелочь, думаю, тоже может пойти по стопам. Просить повышение зарплаты и хоум офис в таких условиях может быть самоубийству подобно.
НП.
Раритет, однако...
Об этой вакансии
We are looking for a web developer who is excited about working with new and legacy systems. This position is located on-site in Galway. The position is part-time at the moment - and may suit an undergraduate / post-graduate with suitable (3 yrs) experience.
This position is a part-time contract for 6 months. However, we expect to extend to a permanent full-time after this period.
Digilogue use an extremely varied set of tools, platforms and languages.
We would like someone who is big into technology, curious about future tools and interfaces, and keeps up to date with development forums and websites. You must be comfortable working as part of a team while taking the initiative to take lead on new innovations and projects. Digilogue use an extremely varied set of tools, platforms and languages.
Responsibilities
- Maintenance/Support/Custom Development for CMS systems - i.e. WordPress, Joomla, Moodle, legacy PHP/MySQL apps
- Assist in design, develop, and deploy of new web applications/websites (PHP/MySQL and HTML/CSS/JS development, some using frameworks such as Laravel)
- General Support for web development life cycle from start to finish
Qualifications
- Bachelor's (or higher) degree or equivalent experience in Computer Science (students also welcome to apply)
- At least 3 years experience development of web applications
General
- Strong systematic problem-solving & software development skills – PHP/MySQL/HTML/JS/CSS/Bootstrap
- Ability to multi-task, organize, and prioritize work
- Ability to read and maintain existing code, with experience with GIT or other version control software
- Nice to have: Experience using CMS/LMS systems such as Moodle/Joomla
- Nice to have: Experience with Cloud Hosting eg AWS/Azure
- Nice to have: Docker
Почему тут? Так название у компании говорящее - "Digilogue.net"
Я почитал о них - в мире Гита и Нюгета их использовать, это получить тёмную от коллег
Попробуем ещё раз. Shared library - это представление готового объектного файла, который может использоваться несколькими исполняемыми файлами. Как оно относится к git?
Shared library - это представление готового объектного файла, который может использоваться несколькими исполняемыми файлами. Как оно относится к git?
Лехко! Следите за пальцами. В представлении нашего старичка git это модно, стильно, молодёжно. А shared libraries древнее, отсталое, стариковское. Когда он узнает что в мире виндузятнигов shared library это DLL, боюсь у него межушный ганглий взорвётся :)
Что за идиотизм, общаться одними интерфейсами?
Можно попробовать без них.
Вот простая задача - отослать email, как бум делать? Каким способом будет отослан email неизвестно (сегодня одним, завтра другим), какие "секреты" (API Key, password) будут нужны тоже неизвестно.
Видимо switch хочется сделать? Или как?
Попробуем ещё раз. Shared library - это представление готового объектного файла, который может использоваться несколькими исполняемыми файлами. Как оно относится к git?
Я до конца в этом не разбираюсь, но что-то такое имеется ввиду
https://en.wikipedia.org/wiki/Library_(computing)#Microsof...
Вобщем, библиотека не хранится где-то отдельным файлом, а либо она сама, либо сущности по её классам создаются во время выполнения программы. Ну и тут используется interop между разными процессами, поэтому вовсю юзается COM+. Примерно так происходит в моём приложении, которым я сейчас занимаюсь. Я получаю исключения, что такой-то процесс не найден или "мы не можем создать данный тип, т.к. он не зарегистрирован..." (опять же, потому что не найден процесс, который хранит описания этих типов или который создаёт их, если я правильно понимаю). А процесс не найден, т.к. у меня не установлен веб-сервис, в котором это всё делается. А веб-сервис не установлен, т.к. я не хочу делать разворачивание приложения, а хочу просто запустить его из своего проекта. А тут получается, что без разворачивания нормально и не поразрабатываешь дополнений, и не подебажишь - нужны установленные и активные сервисы, нужно подключаться к их процессам и прочие трудности.
Вопрос - зачем всё это делать, если можно просто иметь либы с нужными типами где-то в репозитории и линковать их оттуда?