Перейти к содержимому
Калькуляторы

Вопрос по программированию для любителей давать советы =)

Коллеги,диспозиция такова:

Есть желание начать новый проект, в котором 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 ровно ноль, то может вы посоветуете что-то более правильное.

Да начнется срач! ) Поехали ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я вот не понял для чего вам cms в веб части ?

Вытягивать данные из бд и публиковать народу - напишите сами набор нужных файлов вывода. Зачем лишний функционал той или иной cms ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почитайте про golang, он весьма интересен, правда наверное для веб-сервисов, с нуля писать - сложновато, по сравнению с php.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я вот не понял для чего вам cms в веб части ?

Вытягивать данные из бд и публиковать народу - напишите сами набор нужных файлов вывода. Зачем лишний функционал той или иной cms ?

Для любого сайта кроме логики нужна еще верстка дизайна. Верста в голом HTML+CSS это отдельная специализация и изучать этот объем я, наверное, не имею времени. Для этих целуй хочестя использовать CMS и, возможно, готовые шаблоны сайтов.

 

nuclearcat

Спасибо. Почитаю.

 

Кстати, что касается программирования под линукс - немного поичтал сегодня.

Практически это тот самый добрый С, который я изучал 20 лет назад. Правда тогда я писал приложения, которые взаимодействуют только с клавиатурой и монитором. Сейчас же стоит задача разобраться в программировании приложений, работающих по сети. По сути - клиент-серверных. Но направление для изучения примерно понятно. Так что линукс - программирование я, однозначно, возьму на себя. с WEB частью - пока не решил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для этих целуй хочестя использовать CMS и, возможно, готовые шаблоны сайтов.

Frontend: Laravel(PHP Framework)+Bootstrap

Backend: Imho к этому прикрутить еще Golang+gRPC или Golang+SOAP (кому что нравится) в контексте микросервисов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Из энтерпрайзного тут не так давно обсуждали nodejs -vs- erlang и

как я понял оба прекрасно масштабируются и заточены для клиент-серверных фишек.

Из минусов второго - он более экзотичен. Но более заточен под операторские задачи (т.к. разрабатывается Эриксоном)

 

Сервис сильно нагружен будет? если не очень то и php потянет.

 

В общем если это не сильно большая задача с высокой нагрузкой то оптимально делать как посоветовал saaremaa. Но я бы предложил Вам рассмотреть еще варианты с С++, например С++ + gRPC. Но только если Вы действительно его хорошо знаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под линукс, на C, сетевые протоколы... Нет, ничего особо не изменилось за 20 лет.

 

PS Мои первые web-приложения 20+ лет назад я начинал писать на Паскале. Потом перешел на C. Протоколы и API достаточно удобно реализовать на нем. Конечно, с учетом наработанных библиотек. Хотя, для этого и сторонних навалом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Фронтенд проще сразу делать на чистом аваскрипте, особенно если хочется one page site, а там уж выбирать что больше знает/умеет разработчик что под рукой. Angular, React, Ember, у нас вон вообще Dojo на некоторых продуктах.

 

Бэкенд - тоже на том, что лучше умеете, и с чем гостовские библиотеки сможете состыковать, они ж еще небось сертифицированные должны быть ... Судя по тому, что про высокую производительность разговора не идет, можно и на php или python. Лучше смотрите на то, кого легче найти будет ... Как, помнится, Бобук из Яндекса говорил, "я даю согласие писать на любом языке, если программист найдет в команде еще двух девелоперов, кто согласятся на этом писать". Разве что я только бы еще отклонил разную относительную маргинальщину типа эрланга или кложура. Вообще сейчас модно микросервисы на go делать, но не все могут ужиться с его идеологией. Яваскриптеры конечно выберут nodejs.

 

p.s. Могу сразу еще одну тему для срачика подкинуть :) MySQL vs Postgres vs Mongo ;)

 

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

 

Я бы сказал что нужно найти очень веские доводы, чтобы что-то делать на Битриксе :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Go!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с чем гостовские библиотеки сможете состыковать, они ж еще небось сертифицированные должны быть

openssl сертифицирован же.

понятное дело, что конкретные версии, но именно с этой стороны никаких проблем не ожидается

http://vitus-wagner.livejournal.com/219526.html

http://www.cryptocom.ru/products/cryptopacket.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

- он самый распространенный потому, что самый старый или знать его must have ?

он самый распространенный потому, что самый примитивный (шлеп-шлеп, намешали скл запросов вперемешку с логикой и кусками шаблонов - и сайт готов, яркий пример такого - тот же pon control). но разгребать лапшу на нем после студентов-говнокодеров - еще та печаль.

 

ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля (хотел бы я, к примеру, посмотреть на весельчака, решившего запилить на вордпрессе биллинг или CRM систему).

 

под проект с нуля обычно выбирается какой-то MVC фреймворк со своим шаблонизатором, и под него все пишется. из популярных - RoR или django к примеру. ну или действительно, какой-нить React + REST framework (которому, прочем, MVC опять-же не помеха), хотя client-side rendering как по мне оооочень тормознутый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь.

Если конкретнее:

-Получение данных из HTTP(S) запроса, передав ему параметры POSTом

-Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И, кстати, есть пониманик как развернуть и настроить OpenSSL c ГОСТом, но нет понимания как его использовать в своем приложении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля (хотел бы я, к примеру, посмотреть на весельчака, решившего запилить на вордпрессе биллинг или CRM систему).

+1

Иногда с нуля проще и быстрее в итоге оказывается, чем пилить готовый чужой код под себя.

Ключевое слово "в итоге", так как в начале кажется, что "небольшие" доработки можно сделать быстро и просто.

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

А потом обновляется CMS и все (или) большинство этих костылей отваливаются и приходится писать многое заново.

 

И, кстати, есть пониманик как развернуть и настроить OpenSSL c ГОСТом, но нет понимания как его использовать в своем приложении.

А все также. Указываете предпочтительные протоколы шифрования и все)))

Вопрос только в том, что бы новая, с ГОСТом заменила системную, т.к. все к ней обращаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В php ничего сложного нету. Если обычный говнокодинг, то осваивается за пару дней. Если ООП, то тут посложнее. Сам себе биллинг на нём написал, после глючного тупейшего UTM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну и да, готовую CMS стоит брать только если надо типовые задачи под которые есть типовые модули. если 80% писать с нуля - CMS становится адовым балластом, потому что многие вещи реализованы через анус т.к. заточены под специфичные задачи, и их надо выпиливать нафиг и переписывать с нуля

 

+100

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь.

Если конкретнее:

-Получение данных из HTTP(S) запроса, передав ему параметры POSTом

 

Теория даже не знаю, где. Практика - библиотеки, тот же curl все делает, что надо.

 

-Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD)

 

Тут проще CGI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Подскажите что почитать по поводу программирования клиент-серверных приложений. Желательно галопом по Европам, понять суть. Зная суть - я дальше разберусь.

Если конкретнее:

-Получение данных из HTTP(S) запроса, передав ему параметры POSTом

-Обратная задача (слушать 80(433)порт и полученные POST запросы передавать в хранимую процедуру MySQL (а точнее - MariaBD)

Вот для этого PHP и оптимален, кстати.

 

Именно галопом по Европам - проще ничего не найдете.

Примеров - вагон. Все данные от сервера разобраны автомагически, включая GET, POST, FILE и прочее.

Модулем к http серверу, что экономит ресурсы по сравнению с CGI.

Если основная логика в БД, а интерфейса на JS, то задачи PHP - переложить данные из скрипта в БД и из БД в данные для JS.

В этом случае производительность PHP не имеет значения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот для этого PHP и оптимален, кстати.

таки нет. если не стоит задача изобрести очередной ржавый велосипед на коленке.

http://codehandbook.org/flask-restful-api-using-python-mysql/ - куда проще получается. в несколько десятков строк, да.

 

Модулем к http серверу, что экономит ресурсы по сравнению с CGI.

а что, cgi еще где-то кроме перла/шеллскриптов/прочего подобного юзается?...

 

к слову, апачевский пхп модуль - отвратное поделие, память течет дико, потому никто его в здравом уме не использует, все больше как-то php-fpm крутят, а к нему заодно и нгинкс вместо ущербного апача...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

к слову, апачевский пхп модуль - отвратное поделие, память течет дико

Што? Может вы его с 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. Ничего таки не протекает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В случае 2.4/mpm_prefork под линухами - по опыту ничего нигде не течёт, даже если долго не прибивать обработчики.

mpm_prefork на ура отжирается в памяти на 2.2 апаче, по 600+ метров процесс. потому как пхп не считает нужным освобождать память по окончании выполнения скрипта. и при серьезной нагрузке случается ООМ.

 

в свое время, на одном говнокодистом портале на джумле, переход на nginx + php-fpm снизил потребление памяти вдвое. и нагрузку на проц тоже существенно снизил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да начнется срач! ) Поехали ))

 

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

должен владеть full stack на высоком уровне, иначе не стоит даже начинать, это будет медленное и унылое прозябание с перерывами на дообучение и плохим исходом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пхп не считает нужным освобождать память по окончании выполнения скрипта

простите, но бред

 

из практики - hugepages=on иногда такой эффект дает. и не только с пхп

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.