|   |   | 
| 
 | А не запилить ли API, пока #сидимдома? | ☑ | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0
    
        Asmody 03.04.20✎ 13:12 | 
 
        Раз пошла такое #сидимдома, напишу-ка я новое API для форума, чтобы по моде, со всеми плюшками.
 Есть вот такой набросок "плана работ": https://app.swaggerhub.com/apis/Asmody/mista/2.0 Это, конечно, не последний вариант, но с чего-то надо начинать. Я планирую это всё как-нибудь реализовать почти "в прямом эфире". Стримов не обещаю, но скринкасты буду делать и выкладывать. Дополнительные вводные: а) данные берем из существующей БД, но изменения структуры под запретом; (это чтоб всякие "миграции" сразу исключить) б) исходный двиг не используется; в) запускаться это всё должно в docker; г) ХЗ... Осталось решить главный вопрос: на чём пилить? У меня такие основные варианты: 1) elixir + phoenix +++ - ФП со всеми "плюшками"; язык странный, но приятный; бешенная производительность BEAM и OTP; --- - ФП со всеми "заморочками"; на elixir я не писал ничего сложнее "Hello, World", ну и немного подковыривал чужой код; 2) typescript + hapi.js +++ - нода она и в Африке нода: стильно, модно, асинхронно; TypeScript более-менее адекватная версия js; документации дофига; --- - нода, будь она неладна, со всей её инфраструктурой пакетов; документация устаревает через полчаса после написания; язык с концепцией "проще - значит неправильно" (это про js, но и ts там рядом проходил); 3) golang + gin +++ - один бинарник; быстрый компилятор; ну и вообще - самый писк и струя; --- - я не большой поклонник go; странные заморочки с внешними библиотеками, "вендеринг" и все такое; последний раз я шупал go года 2 назад, сейчас там, говорят, всё по другому; ну и чтоб было: 4) python + flask 5) php + lumen на эти пункты я не буду +++ и --- писать, мне они не очень интересны в плане саморазвития. Java/C# не рассматриваю принципиально - не того уровня проект, чтоб так заморачиваться. Не считаю себя мегапрофи ни в одном из предложенных вариантов, будет повод подтянуться. В общем, какой вариант к вечеру наберет больше голосов, на том и будем писать. | ||||||||||||||||||||||
| 1
    
        shuhard 03.04.20✎ 13:19 | 
        (0) таки     php + lumen | ||||||||||||||||||||||
| 2
    
        Hillsnake 03.04.20✎ 13:20 | 
        конечно же питон, этож модно сковородно. !!     python + flask | ||||||||||||||||||||||
| 3
    
        ДенисЧ 03.04.20✎ 13:22 | 
        Я был бы против ноды и питона на сервере.
 Остальные страшные слова мне не знакомы. | ||||||||||||||||||||||
| 4
    
        Cyberhawk 03.04.20✎ 13:23 | 
        А какая разница потребителю этого АПИ, на чем он будет реализован?     | ||||||||||||||||||||||
| 5
    
        Капюшон 03.04.20✎ 13:26 | 
        Всё что не Java это полное фуфло.     свой вариант | ||||||||||||||||||||||
| 6
    
        Garykom гуру 03.04.20✎ 13:26 | 
        Только gin лишнее!
 Хватит: "encoding/json" _ "github.com/go-sql-driver/mysql" "github.com/gorilla/mux" "github.com/jmoiron/sqlx" "net/http" golang + gin | ||||||||||||||||||||||
| 7
    
        ДенисЧ 03.04.20✎ 13:27 | 
        (4) А как же причастность?     | ||||||||||||||||||||||
| 8
    
        Garykom гуру 03.04.20✎ 13:33 | 
        Имхо выиграет пункт 7.     | ||||||||||||||||||||||
| 9
    
        Hillsnake 03.04.20✎ 13:37 | 
        (5) джава твоя фуфло древнее. не зря котлин придумали.     | ||||||||||||||||||||||
| 10
    
        Garykom гуру 03.04.20✎ 13:39 | 
        (0) Замечание по API:
 1. Почему только GET и POST, где PUT и DELETE ? 2. Права нужны чтобы DELETE не все могли 3. Оно аля REST(ful) или ну так вышло 4. Авторизация через OAuth 2.0 когда будет? 5. Хочу встроенную систему управления видимостью, т.е. можно юзера отправить в собственный теневой бан | ||||||||||||||||||||||
| 11
    
        Garikk 03.04.20✎ 13:44 | 
        (6) ...вот за такие ссылки на гитхаб, гошников надо по голове кувалдой бить...
 с чем я сталкивался: 1) вот у тебя по ссылке mux последний коммит 3 months... а мы помнится заюзали такую либу в проекте... сейчас там last commit 1,5 years ago 2) разработчик либы устал-ухожуй...все..всем спасибо у всех всё развалилось 3) у провайдера или у РНК чето вклинило и всё, все релизы и ci/cd по пи..де | ||||||||||||||||||||||
| 12
    
        Garikk 03.04.20✎ 13:45 | 
        (11) *РКН конечно, очепятка     | ||||||||||||||||||||||
| 13
    
        arsik гуру 03.04.20✎ 13:56 | 
        Для бэка я бы наверно go взял.
 Быстрый, сетевой, многопоточный, кросскомпиляция. golang + gin | ||||||||||||||||||||||
| 14
    
        Волшебник модератор 03.04.20✎ 14:01 | 
        Да-да! И чтобы там можно было грабить корованы!     | ||||||||||||||||||||||
| 15
    
        pavig 03.04.20✎ 14:02 | 
        (3) 
 Почему против Питона? | ||||||||||||||||||||||
| 16
    
        ДенисЧ 03.04.20✎ 14:06 | 
        (15) Притормознут. И с многопоточностью заморочки. Фласк - он однозадачный, так что руками придётся...     | ||||||||||||||||||||||
| 17
    
        mikecool 03.04.20✎ 14:07 | 
        - А не спеть ли мне песню?
 - А не спеть! | ||||||||||||||||||||||
| 18
    
        Garikk 03.04.20✎ 14:10 | 
        (16) а зачем на форуме многозадачность?     | ||||||||||||||||||||||
| 19
    
        Garikk 03.04.20✎ 14:11 | 
        99% запросов к апи на форуме, это тупой селект в базу, дайбог с парой джойнов.. там нечего параллелить     | ||||||||||||||||||||||
| 20
    
        DEVIce 03.04.20✎ 14:12 | 
        На Фузине же..., ну.     | ||||||||||||||||||||||
| 21
    
        Asmody 03.04.20✎ 14:16 | 
        (10) Основные операции "получить" и "добавить". "изменить" и "удалить" для обычного пользователя не предусмотрено, а админский контекст я оставил "за скобками".     | ||||||||||||||||||||||
| 22
    
        ДенисЧ 03.04.20✎ 14:18 | 
        (18) А ты прикинь, сколько одновременных запросов будет     | ||||||||||||||||||||||
| 23
    
        Asmody 03.04.20✎ 14:18 | 
        (19) Тупой-то он тупой, но наша развесистая лапша из параметров, настроек, прав и др. заставляет порой поломать голову в сочинении запроса.     | ||||||||||||||||||||||
| 24
    
        ДенисЧ 03.04.20✎ 14:18 | 
        (21) То есть редактирования своих сообщений не будет...     | ||||||||||||||||||||||
| 25
    
        antgrom 03.04.20✎ 14:19 | 
        (0) только Java     свой вариант | ||||||||||||||||||||||
| 26
    
        antgrom 03.04.20✎ 14:20 | 
        (15)  ты неправ. "Пайтен"
 ) | ||||||||||||||||||||||
| 27
    
        eklmn гуру 03.04.20✎ 14:22 | 
        Для общего кругозора и саморазвития самое оно.
 git будет? typescript + hapi.js | ||||||||||||||||||||||
| 28
    
        Garykom гуру 03.04.20✎ 14:23 | 
        (11)
 1. Подсунь нужную версию вручную 2. Бывает, это риск использования любого не встроенного, на Java и на NodeJS тоже самое 3. Рассказать тебе про свой DNS? | ||||||||||||||||||||||
| 29
    
        Garykom гуру 03.04.20✎ 14:26 | 
        (21) Админы от не админов по сути только правами отличаются.
 Они видят больше и могут больше - есть смысл все в одном апи делать. И уже правами разруливать. Например можно на своих ветках разрешать удалять свои сообщения и даже ветки сносить оффтопике чтобы хлама поменьше было. Понятно что ветки полезные лучше оставлять но это уже право админа вернуть и приколотить ветку отняв права на нее у создателя. | ||||||||||||||||||||||
| 30
    
        Звездочёт 03.04.20✎ 14:28 | 
        (0) форум можно сделать и на 1С :)     свой вариант | ||||||||||||||||||||||
| 31
    
        Волшебник модератор 03.04.20✎ 14:35 | 
        (30) Где же столько лицензий взять?     | ||||||||||||||||||||||
| 32
    
        Garykom гуру 03.04.20✎ 14:38 | 
        (31) На мобильной версии можно - там если монетизации нет то бесплатно     | ||||||||||||||||||||||
| 33
    
        Garykom гуру 03.04.20✎ 14:39 | 
        (32)+ Мобильная версия работает под win на x86     | ||||||||||||||||||||||
| 34
    
        Garykom гуру 03.04.20✎ 14:40 | 
        Кстати да. А есть же уже МП 1С клиента Миста?     | ||||||||||||||||||||||
| 35
    
        Garykom гуру 03.04.20✎ 14:40 | 
        (34)+ Просто почему бы не сделать некую импортозамещение slack ?     | ||||||||||||||||||||||
| 36
    
        mdao 03.04.20✎ 14:42 | 
        предлагаю такую идею,) офиц.группа в vk , при добавлении темы/поста на форуме оно уходит в vk группу     свой вариант | ||||||||||||||||||||||
| 37
    
        Звездочёт 03.04.20✎ 14:43 | 
        (31) я имел ввиду на http-сервисах :) они не лицензируются.     | ||||||||||||||||||||||
| 38
    
        Oftan_Idy 03.04.20✎ 14:52 | 
        Все тлен     да ну его нафиг | ||||||||||||||||||||||
| 39
    
        dezss 03.04.20✎ 15:48 | 
        (25) Вот согласен)))     свой вариант | ||||||||||||||||||||||
| 40
    
        Asmody 03.04.20✎ 16:21 | 
        (37) под 1С сильно могучий сервер нужно, серверную лицензию нужно, дорого, однако     | ||||||||||||||||||||||
| 41
    
        Asmody 03.04.20✎ 16:22 | 
        (36) ага, и бота в телеграм.
 Нафиг | ||||||||||||||||||||||
| 42
    
        Asmody 03.04.20✎ 16:23 | 
        (29) если операции нет, то её и нет. Нафига городить права?     | ||||||||||||||||||||||
| 43
    
        Asmody 03.04.20✎ 16:24 | 
        Я забыл проголосовать     elixir + phoenix | ||||||||||||||||||||||
| 44
    
        pechkin 03.04.20✎ 16:31 | 
        А будет ли вам доступен cross-origin?     | ||||||||||||||||||||||
| 45
    
        vde69 03.04.20✎ 16:46 | 
        только не флеш...
 даешь аякс в массы :) свой вариант | ||||||||||||||||||||||
| 46
    
        Сияющий в темноте 04.04.20✎ 23:32 | 
        я бы сначала посмотрел,что без проблем можно на сервак поставить.
 (28) когда google начали банить большинство сайтов полегло из-за того,что скрипты напрямую с гугля тянуло. опять же,если ссылка куда-то,то там может оказаться все,что угодно-аккаунты гита тоже ломают. | ||||||||||||||||||||||
| 47
    
        Конструктор1С 05.04.20✎ 05:21 | 
        (0) лучше сделай человечачью подстветку синтаксиса 1с     свой вариант | ||||||||||||||||||||||
| 48
    
        Конструктор1С 05.04.20✎ 05:24 | 
        И вообще идеально было бы, если бы можно было одним списком увидеть ответы на свои сообщения в разных темах     | ||||||||||||||||||||||
| 49
    
        rphosts 05.04.20✎ 06:44 | 
        (0) если времени есть - пили на чём-то модном чем не владеешь (заодно и немного прокачаешься в теме), если времени не особо - пиши на том чем владеешь в совершенстве.     | ||||||||||||||||||||||
| 50
    
        rphosts 05.04.20✎ 06:46 | 
        я-б пошёл хапнуть джина, пожалуй     golang + gin | ||||||||||||||||||||||
| 51
    
        rphosts 05.04.20✎ 06:47 | 
        (30) делал лет 5 назад чатик (с шифрованием, длекджеком и дамами)... не-не-не     | ||||||||||||||||||||||
| 52
    
        jbond 05.04.20✎ 08:00 | 
        Только Enterprise Java Beans! Только хардкор!     | ||||||||||||||||||||||
| 53
    
        Asmody 05.04.20✎ 11:49 | 
        (48) я не представляю зачем такая херь может понадобиться     | ||||||||||||||||||||||
| 54
    
        ДенисЧ 05.04.20✎ 11:58 | 
        (53) У тебя фантазия слабая...     | ||||||||||||||||||||||
| 55
    
        Конструктор1С 05.04.20✎ 17:20 | 
        (53) чтобы можно было по-быстрому просмотреть цепочку беседы и ответить ответивним. Сейчас для этого приходится нырять в каждую из тем. По-моему "мне ответили" стандартная функция для многих форумов     | ||||||||||||||||||||||
| 56
    
        Dzenn гуру 05.04.20✎ 18:25 | 
        Ключевой вопрос - Зачем? И с какой целью? Какую проблему решит новый API?     да ну его нафиг | ||||||||||||||||||||||
| 57
    
        ДенисЧ 05.04.20✎ 18:29 | 
        (56) А почему нет, если время есть?     | ||||||||||||||||||||||
| 58
    
        dmitryds 05.04.20✎ 18:44 | 
        NodeJS     свой вариант | ||||||||||||||||||||||
| 59
    
        dmitryds 05.04.20✎ 18:44 | 
        (56) +1     да ну его нафиг | ||||||||||||||||||||||
| 60
    
        MadHead 05.04.20✎ 20:46 | 
        Rust + actix
 Scala + play свой вариант | ||||||||||||||||||||||
| 61
    
        Asmody 05.04.20✎ 22:33 | 
        (58) хоть бы не палился     | ||||||||||||||||||||||
| 62
    
        Asmody 05.04.20✎ 22:36 | 
        (60) rust я как-то воспринимаю как системный язык. это как на С веб-прилодения писать. можно, но зачем?
 а scala... у меня не настолько мощный компьютер, чтобы комфортно программировать на scala. ну не хватает ей core7 + 32Гб | ||||||||||||||||||||||
| 63
    
        Сияющий в темноте 05.04.20✎ 23:21 | 
        (62) на Си пишется все,что угодно,особенно,если хочется скорости выполнения.
 ну и многопоточность без проблем с общей памятью и стстемными семаформами. а если копнуть в сторону подписок на завершение,то такое можно сделать,чего другим языкам и не снилось. главное,ошибок в коде не делать,а то,порой,стний экран и все... | ||||||||||||||||||||||
| 64
    
        MadHead 06.04.20✎ 00:03 | 
        (62) Rust - это не С. Производительность сравнимая, но синтаксис более модный и молодежный. На сколько понимаю цель не просто написать API, но и получить полезный и интересный опыт. 
 Scala на любителя, но мне нравится. На счет нехватки мощности ПК не понятно. Приведите пример что конретно тормозит? Единственное, что видел как Idea может напряч железо при редактировании SBT файлов, меня - это не сильно беспокоит, но наверняка можно и отключить. | ||||||||||||||||||||||
| 65
    
        MadHead 06.04.20✎ 00:04 | 
        (62) https://actix.rs/ все красиво и лакончино.     | ||||||||||||||||||||||
| 66
    
        MadHead 06.04.20✎ 00:05 | 
        (62) И для понимания зачем страдать с Rust, если можно проще и быстрее навоять на чем-то другом быстрее. https://www.techempower.com/benchmarks/     | ||||||||||||||||||||||
| 67
    
        quest 06.04.20✎ 08:05 | 
        Для тренировки и разбирательств -  проекта самое то     elixir + phoenix | ||||||||||||||||||||||
| 68
    
        ischamael 06.04.20✎ 10:57 | 
        Поддерживаю golang, с vendoring и modules разберешься. 
 Для серверной части go подходит. Goland IDE шустрый - лицензии на stepick выдают. | ||||||||||||||||||||||
| 69
    
        ischamael 06.04.20✎ 11:07 | 
        gin - martini-like api, чтобы это не значило!     golang + gin | ||||||||||||||||||||||
| 70
    
        GANR 06.04.20✎ 13:34 | 
        .     golang + gin | ||||||||||||||||||||||
| 71
    
        Fragster гуру 06.04.20✎ 13:38 | 
        хз, что там у вас в планах, но очень нужна oauth2 авторизация, чтобы к сисечному конкурсу можно было запилить нормальное приложение, для участников, для жюри, для голосующих     | ||||||||||||||||||||||
| 72
    
        Fragster гуру 06.04.20✎ 13:39 | 
        хотя, конечно, если вы готовы логин и пароль вводить на boobzle.mista.ru, то можно и как в (0) оставить     | ||||||||||||||||||||||
| 73
    
        ДенисЧ 06.04.20✎ 13:45 | 
        С этим oauth2 весь мир сошёл с ума...
 Был в одной конторке - у них там даже корпоративный b24 на двухфакторной авторизации... И это при том, что мордой в чистый интернет он не смотрел... | ||||||||||||||||||||||
| 74
    
        Fragster гуру 06.04.20✎ 14:23 | 
        (73) двухфакторная авторизация тут вообще не причем     | ||||||||||||||||||||||
| 75
    
        ДенисЧ 06.04.20✎ 14:26 | 
        (74) Один овосчЪ.     | ||||||||||||||||||||||
| 76
    
        dmitryds 06.04.20✎ 14:32 | 
        (61) у меня сейчас весь софт на ноде. 
 Сначала так же относился, пока не попробовал и не проверил в действии (до этого кроме 1С было: Java, php, C#) | ||||||||||||||||||||||
| 77
    
        Fragster гуру 06.04.20✎ 14:41 | 
        (76) ну, написать то, что не течет и не падает на ноде сильно сложнее, чем на том же 1с, или тем более похапэ (который отработал и издох)     | ||||||||||||||||||||||
| 78
    
        Asmody 06.04.20✎ 15:42 | 
        (76) [у меня сейчас весь софт на ноде] - и что, ни один из предложенных вариантов не подошёл?     | ||||||||||||||||||||||
| 79
    
        dmitryds 06.04.20✎ 16:20 | 
        (78) о каких вариантах речь?     | ||||||||||||||||||||||
| 80
    
        Fragster гуру 06.04.20✎ 17:04 | 
        забыл сунуть. люмен - это ж кагбэ ларавель?     php + lumen | ||||||||||||||||||||||
| 81
    
        vfire1000 12.05.20✎ 13:02 | 
        (0) что по итогу?     | ||||||||||||||||||||||
| 82
    
        Serginio1 12.05.20✎ 14:23 | 
        C# не рассматриваю принципиально - не того уровня проект, чтоб так заморачиваться.
 А я бы заморочился и еще на Blazor на вэбассембли. Правда сейчас пока как интерпритатор кода, но к ноябрю обещают AOT https://metanit.com/sharp/blazor/1.1.php | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |