grifin.ru Posted March 18, 2017 · Report post Коллеги,диспозиция такова: Есть желание начать новый проект, в котором 80% это программирование. Ресуров своих программеров и надежных фрилансеров не хватит. И временных ресурсов и где-то знаний технологий. Искать новую кровь под новый проект слишком рисковано, т.к. уход такого человека чреват большими потреями. Решил вспомнить молодость и взять на себя функции ведущего разработчика, но я немного уже устарел. ПОследний раз что-то прикладное я программировал еще по ДОС (на С++) В приннципе сейчас могу читать код ан С# и даже дорабатывать его. Но с нуля приложение не напишу. Хорошо знаю TSQL и вообще теорию по базам данных. Собственно вопрос заключается в том, какой язык программирования осваивать ? Задачи: 1.1. Написание собсвенного АПИ и взаимодействия с чужим документированном апи. Протокол HTTP. 1.2. ГОСТовская криптография (использование готовых модулей/библиотек для шифрования, и подписи как блоков данных, так и трафика) Есть желание писать под LINUX 2. И еще, как отдельное направление - WEB программирование. PHP для меня китайская грамота. Знаю что он самый распространенный язык программирования под WEB, но... - он самый распространенный потому, что самый старый или знать его must have ? С учетом того что в WEBе будет разрабатываться только frontend, вся логика будет либо в хранимых процедурах SQLной БД, либо в каких-то модулях на C# (или чем-то еще, что посоветуете по задаче 1) Из актуальны 3. ПОдскажите какую CMS выбрать. В принципе все почти проекты написаны на WP и есть хороший WEB разработчик, который ее знает как свои 5 пальцев. Поэтому она ОЧЕНЬ предпочтительна. Но поскольку у меня самого знаний любой CMS ровно ноль, то может вы посоветуете что-то более правильное. Да начнется срач! ) Поехали )) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Odissey Posted March 18, 2017 · Report post Я вот не понял для чего вам cms в веб части ? Вытягивать данные из бд и публиковать народу - напишите сами набор нужных файлов вывода. Зачем лишний функционал той или иной cms ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted March 18, 2017 · Report post Почитайте про golang, он весьма интересен, правда наверное для веб-сервисов, с нуля писать - сложновато, по сравнению с php. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grifin.ru Posted March 18, 2017 · Report post Я вот не понял для чего вам cms в веб части ? Вытягивать данные из бд и публиковать народу - напишите сами набор нужных файлов вывода. Зачем лишний функционал той или иной cms ? Для любого сайта кроме логики нужна еще верстка дизайна. Верста в голом HTML+CSS это отдельная специализация и изучать этот объем я, наверное, не имею времени. Для этих целуй хочестя использовать CMS и, возможно, готовые шаблоны сайтов. nuclearcat Спасибо. Почитаю. Кстати, что касается программирования под линукс - немного поичтал сегодня. Практически это тот самый добрый С, который я изучал 20 лет назад. Правда тогда я писал приложения, которые взаимодействуют только с клавиатурой и монитором. Сейчас же стоит задача разобраться в программировании приложений, работающих по сети. По сути - клиент-серверных. Но направление для изучения примерно понятно. Так что линукс - программирование я, однозначно, возьму на себя. с WEB частью - пока не решил... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted March 18, 2017 · Report post Для этих целуй хочестя использовать CMS и, возможно, готовые шаблоны сайтов. Frontend: Laravel(PHP Framework)+Bootstrap Backend: Imho к этому прикрутить еще Golang+gRPC или Golang+SOAP (кому что нравится) в контексте микросервисов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Odissey Posted March 18, 2017 · Report post С таким успехом можно и битрикс взять и к нему прикручивать хотелки. Если вами веб частью заниматься не будете, то разработчиков битрикса пруд пруди Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Tosha Posted March 18, 2017 · Report post Из энтерпрайзного тут не так давно обсуждали nodejs -vs- erlang и как я понял оба прекрасно масштабируются и заточены для клиент-серверных фишек. Из минусов второго - он более экзотичен. Но более заточен под операторские задачи (т.к. разрабатывается Эриксоном) Сервис сильно нагружен будет? если не очень то и php потянет. В общем если это не сильно большая задача с высокой нагрузкой то оптимально делать как посоветовал saaremaa. Но я бы предложил Вам рассмотреть еще варианты с С++, например С++ + gRPC. Но только если Вы действительно его хорошо знаете. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted March 18, 2017 · Report post Под линукс, на C, сетевые протоколы... Нет, ничего особо не изменилось за 20 лет. PS Мои первые web-приложения 20+ лет назад я начинал писать на Паскале. Потом перешел на C. Протоколы и API достаточно удобно реализовать на нем. Конечно, с учетом наработанных библиотек. Хотя, для этого и сторонних навалом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dimas Posted March 18, 2017 · Report post Фронтенд проще сразу делать на чистом аваскрипте, особенно если хочется one page site, а там уж выбирать что больше знает/умеет разработчик что под рукой. Angular, React, Ember, у нас вон вообще Dojo на некоторых продуктах. Бэкенд - тоже на том, что лучше умеете, и с чем гостовские библиотеки сможете состыковать, они ж еще небось сертифицированные должны быть ... Судя по тому, что про высокую производительность разговора не идет, можно и на php или python. Лучше смотрите на то, кого легче найти будет ... Как, помнится, Бобук из Яндекса говорил, "я даю согласие писать на любом языке, если программист найдет в команде еще двух девелоперов, кто согласятся на этом писать". Разве что я только бы еще отклонил разную относительную маргинальщину типа эрланга или кложура. Вообще сейчас модно микросервисы на go делать, но не все могут ужиться с его идеологией. Яваскриптеры конечно выберут nodejs. p.s. Могу сразу еще одну тему для срачика подкинуть :) MySQL vs Postgres vs Mongo ;) С таким успехом можно и битрикс взять и к нему прикручивать хотелки. Если вами веб частью заниматься не будете, то разработчиков битрикса пруд пруди Я бы сказал что нужно найти очень веские доводы, чтобы что-то делать на Битриксе :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted March 18, 2017 · Report post Go! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
edo Posted March 18, 2017 · Report post с чем гостовские библиотеки сможете состыковать, они ж еще небось сертифицированные должны быть openssl сертифицирован же. понятное дело, что конкретные версии, но именно с этой стороны никаких проблем не ожидается http://vitus-wagner.livejournal.com/219526.html http://www.cryptocom.ru/products/cryptopacket.html Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted March 18, 2017 · Report post - он самый распространенный потому, что самый старый или знать его must have ? он самый распространенный потому, что самый примитивный (шлеп-шлеп, намешали скл запросов вперемешку с логикой и кусками шаблонов - и сайт готов, яркий пример такого - тот же pon control). но разгребать лапшу на нем после студентов-говнокодеров - еще та печаль. ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля (хотел бы я, к примеру, посмотреть на весельчака, решившего запилить на вордпрессе биллинг или CRM систему). под проект с нуля обычно выбирается какой-то MVC фреймворк со своим шаблонизатором, и под него все пишется. из популярных - RoR или django к примеру. ну или действительно, какой-нить React + REST framework (которому, прочем, MVC опять-же не помеха), хотя client-side rendering как по мне оооочень тормознутый. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grifin.ru Posted March 19, 2017 · Report post Практически это тот самый добрый С, который я изучал 20 лет назад. Правда тогда я писал приложения, которые взаимодействуют только с клавиатурой и монитором. Сейчас же стоит задача разобраться в программировании приложений, работающих по сети. По сути - клиент-серверных. Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь. Если конкретнее: -Получение данных из HTTP(S) запроса, передав ему параметры POSTом -Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grifin.ru Posted March 19, 2017 · Report post И, кстати, есть пониманик как развернуть и настроить OpenSSL c ГОСТом, но нет понимания как его использовать в своем приложении. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
telecom Posted March 19, 2017 · Report post ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля (хотел бы я, к примеру, посмотреть на весельчака, решившего запилить на вордпрессе биллинг или CRM систему). +1 Иногда с нуля проще и быстрее в итоге оказывается, чем пилить готовый чужой код под себя. Ключевое слово "в итоге", так как в начале кажется, что "небольшие" доработки можно сделать быстро и просто. В процессе работы всплывает разница в логике, которая в фундаменте чужего готового проекта и Вашего. Все это в итоге обрастает такими костылями, что в конце становится противно смотреть. А потом обновляется CMS и все (или) большинство этих костылей отваливаются и приходится писать многое заново. И, кстати, есть пониманик как развернуть и настроить OpenSSL c ГОСТом, но нет понимания как его использовать в своем приложении. А все также. Указываете предпочтительные протоколы шифрования и все))) Вопрос только в том, что бы новая, с ГОСТом заменила системную, т.к. все к ней обращаются. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
BETEPAH Posted March 19, 2017 · Report post В php ничего сложного нету. Если обычный говнокодинг, то осваивается за пару дней. Если ООП, то тут посложнее. Сам себе биллинг на нём написал, после глючного тупейшего UTM. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stas_k Posted March 19, 2017 · Report post ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля +100 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted March 19, 2017 · Report post Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь. Если конкретнее: -Получение данных из HTTP(S) запроса, передав ему параметры POSTом Теория даже не знаю, где. Практика - библиотеки, тот же curl все делает, что надо. -Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD) Тут проще CGI. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted March 19, 2017 · Report post Практически это тот самый добрый С, который я изучал 20 лет назад. Правда тогда я писал приложения, которые взаимодействуют только с клавиатурой и монитором. Сейчас же стоит задача разобраться в программировании приложений, работающих по сети. По сути - клиент-серверных. Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь. Если конкретнее: -Получение данных из HTTP(S) запроса, передав ему параметры POSTом -Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD) Вот для этого PHP и оптимален, кстати. Именно галопом по Европам - проще ничего не найдете. Примеров - вагон. Все данные от сервера разобраны автомагически, включая GET, POST, FILE и прочее. Модулем к http серверу, что экономит ресурсы по сравнению с CGI. Если основная логика в БД, а интерфейса на JS, то задачи PHP - переложить данные из скрипта в БД и из БД в данные для JS. В этом случае производительность PHP не имеет значения. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted March 20, 2017 · Report post Вот для этого PHP и оптимален, кстати. таки нет. если не стоит задача изобрести очередной ржавый велосипед на коленке. http://codehandbook.org/flask-restful-api-using-python-mysql/ - куда проще получается. в несколько десятков строк, да. Модулем к http серверу, что экономит ресурсы по сравнению с CGI. а что, cgi еще где-то кроме перла/шеллскриптов/прочего подобного юзается?... к слову, апачевский пхп модуль - отвратное поделие, память течет дико, потому никто его в здравом уме не использует, все больше как-то php-fpm крутят, а к нему заодно и нгинкс вместо ущербного апача... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Alex/AT Posted March 20, 2017 · Report post к слову, апачевский пхп модуль - отвратное поделие, память течет дико Што? Может вы его с mpm_worker или mpm_event пытались завести, да ещё и под bsd? В случае 2.4/mpm_prefork под линухами - по опыту ничего нигде не течёт, даже если долго не прибивать обработчики. Ни в 5.2, ни в 5.3, ни в ... вплоть до 7.1. У меня все хостинг-платформы на 2.4/prefork+mpm_itk/модуле php. Примерно по тысяче low load хостов на 6-гиговую VM. Ничего таки не протекает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted March 20, 2017 · Report post В случае 2.4/mpm_prefork под линухами - по опыту ничего нигде не течёт, даже если долго не прибивать обработчики. mpm_prefork на ура отжирается в памяти на 2.2 апаче, по 600+ метров процесс. потому как пхп не считает нужным освобождать память по окончании выполнения скрипта. и при серьезной нагрузке случается ООМ. в свое время, на одном говнокодистом портале на джумле, переход на nginx + php-fpm снизил потребление памяти вдвое. и нагрузку на проц тоже существенно снизил... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jab Posted March 20, 2017 · Report post Да начнется срач! ) Поехали )) При выборе технологии всегда нужно отталкиваться от наличия близлежащего месторождения кадров, владеющих этой технологией. При этом минимум кто-то один в команде должен владеть full stack на высоком уровне, иначе не стоит даже начинать, это будет медленное и унылое прозябание с перерывами на дообучение и плохим исходом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Alex/AT Posted March 20, 2017 · Report post пхп не считает нужным освобождать память по окончании выполнения скрипта простите, но бред из практики - hugepages=on иногда такой эффект дает. и не только с пхп Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted March 20, 2017 · Report post ... постепенно ушли в оффтоп... :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...