1. Список говнокодов пользователя Крендель

    Всего: 4

  2. Куча / Говнокод #28832

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    С каждым годом ПО становится всё забагованным, требовательным и тормозящим.
    
    Многие программисты деградируют, не понимают, например, 
    как написать простейший SQL запрос или как работают компьютерные сети, 
    ведутся на всякие модные языки и технологии, не понимая их достоинства и недостатки
    но при этом в компаниях таких "специалистов" продолжают ценить
    и доверяют им обучение других будущих "специалистов".
    
    С давних времён C# мой любимый язык, но меня меня шокирует 
    происходящее в нем начиная примерно с седьмой версии.
    Я очень не люблю Java и C++, но теперь C# приближается к C++:
    постоянно добавляется какой-то не синтаксический сахар, а синтаксический мусор,
    который усложняет язык и часто не решает проблемы, а является только полумерой.
    
    Очень больно от осознания, что тебя окружают такие люди, программами становится
    невозможно пользоваться, а C# становится тем, от чего он спасал.
    
    Как выжить в этом мире ИТ?

    Крендель, 04 Августа 2023

    Комментарии (3)
  3. Куча / Говнокод #27250

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    Объясните, как правильно разрабатывать в 2021 году
    
    Есть один продукт, состоящий из сайта, сервера и БД, связывающей их.
    Сайт на PHP, с микрофреймворком, устанавливаемым через composer, отображающий данные из БД
    Сервер - программа, слушающая порт из свой конфигурации и записывающая в БД
    
    Таковы потребности, что на один сервер может быть установлено одна и более изолированных копий этого продукта (сервер + сайт + БД), а серверов несколько.
    Сайты разделяют через виртуальные хосты nginx, сервера по портам, БД по имени.
    Может случиться такое, что нужно остановить сайт или сервер, оставив второе работать.
    
    Проблема в том, что развёртывание делается вручную переносом копий файлов, что доставляет страданий.
    На серверах за всё время образовался бардак в конфигурациях
    
    Что здесь нужно? Kubernetes, swarm, docker, docker-compose?
    
    Проблема в том, что никогда не приходилось внедрять такое самостоятельно.
    Смотрю в сторону docker-compose, но везде инструкции только для одного экземпляра продукта на одном сервере (или я чего-то не понимаю)
    
    Объясните, пожалуйста, по-хорошему, что делать в таком случае

    Крендель, 11 Февраля 2021

    Комментарии (18)
  4. Куча / Говнокод #27242

    0

    1. 1
    Объясните, зачем нужен docker-compose

    Есть же Dockerfile, туда можно поставить всё, что нужно сразу, а не плодить кучу контейнеров, которые нужно связать

    Крендель, 09 Февраля 2021

    Комментарии (99)
  5. SQL / Говнокод #2305

    −125.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    create procedure [dbo].[pbsp_GetClientUsers]
    
    	(
            @ClientId int,
            @fname varchar(100),
            @lname varchar(100),
            @email varchar(150)
    	)
    
    AS
    	
    DECLARE @SQL varchar(1000)
    
    Set @SQL = 'Select TOP 500 *, tblRoles.title AS Role from tblUser INNER JOIN
            tbl_mtm_UserRoles ON tblUser.UserId = tbl_mtm_UserRoles.UserId INNER JOIN
            tblRoles ON tbl_mtm_UserRoles.RoleId = tblRoles.Id where tblUser.ClientId = ' + STR(@ClientId) + ' ' 
    
    if LEN(@fname) > 0
        Set @SQL = @SQL + ' AND tblUser.fName like ''' + @fname + '%'' '
        
    if LEN(@lname) > 0
        Set @SQL = @SQL + ' AND tblUser.lName like ''' + @lname + '%'' '
        
    if LEN(@email) > 0
        Set @SQL = @SQL + ' AND tblUser.Email like ''' + @email + '%'' '        	
        
    Set @SQL = @SQL + ' Order by tblUser.lName, tblUser.Fname'        	
    exec (@SQL)

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

    Крендель, 21 Декабря 2009

    Комментарии (20)