LINUX.ORG.RU

Форум на Джаве, с чего начать?

 , ,


0

6

Хочу сделать форум для себя в локалхосте. Почитал темы, решил делать на джаве - пятизвёздочники плохого не посоветуют. Код читать умею - приходилось для своих целей разбирать, знаю как компиляторы и т.п работают - настраивал генту. Но есть проблема, сам ни строчки не написал ни на джаве, ни на любом другом языке программирования, если не считать скрипты на баше и код использующий фреймворки на пайтоне. Долго маны читать не люблю, хочу сразу начать с практики. Помогите советом и дайте направление.

Перемещено leave из admin

JIT - зло, требующие от процессора и ядра OS некорректной работы с памятью. В системе с JIT теоретически будут уязвимости переполнения буфера.

Раскроешь тему плз, как именно некорректно и как произвести переполнение буфера?

vertexua ★★★★★
()
Ответ на: комментарий от peregrine

Скажу по секрету, нынче современный сайтик с нуля без CMS в одно рыло не пишут.

Еще как пишут, не велика наука. Но ТС все равно не сможет нормально. Он же сам сказал

Долго маны читать не люблю, хочу сразу начать с практики

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от peregrine

нынче современный сайтик с нуля без CMS в одно рыло не пишут.

Слишком просто стало?

ddidwyll ★★★★
()
Ответ на: комментарий от anonymous

У тебя процы гарантий не дают, спекулятивное выполнение никуда не дели. Потенциально никакие софтварные заплатки гарантий не дают, только усложняют механизм взлома.

peregrine ★★★★★
()
Ответ на: комментарий от vertexua

Но ТС все равно не сможет нормально

Ради интереса и опыта оно и надо.

ddidwyll ★★★★
()
Ответ на: комментарий от vertexua

С нуля на голом js, css и html нет. Всё равно фреймворками обмажутся по самое не балуй. Ну или времени в трубу улетит вагон.

Хотя можно как у хоббита, если такой устроит то норм.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от menangen

лично я уверен что phpbb чудовищно несовершенен )|(опа вобщем. У меня такой набор эпитетов к phpbb что если я их выложу меня не только забанят а выведут и расстреляют в натуре. А форумы нужны еще.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от peregrine

Зачем с нуля? Именно нужно и обязательно обмазаться фреймворками, как любой приличный человек

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Без JIT жаба ползет как улитка. А с JIT не дает гарантий безопасности. Зачем использовать такую технологию?

Не используй, в Яве и так слишком много олешек развелось, без тебя будет только лучше :-)

rukez ★★★★
()

Зачем новый писать? Если просто очень хочется на яве и без опыта - шпринг бут в зубы, базу какую (монгу наверно под тексты, хотя интерфейс к ней шлак), s3 под файлы и вперёд. Там с фронтом секса больше чем с бэком будет. Можно даже на jsp извратиться, тогда прям все в одном флаконе (и запах соответственно).

upcFrost ★★★★★
()
Ответ на: комментарий от rukez

никогда не используй фреймворки для бэкенда - это путь одновременно и в никуда и в деградацию

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

для первого старта просто посмотри примеры для com.sun.net.httpserver - он покрывает 90% твоих нужды, оставшиеся 10% покроет встроенный жсон

И базу он покроет, и хранилище, и небо, и святого Патрика. Любишь обмазываться PreparedStatement’ами и писать sql стрингами?

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

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

Eternellement
() автор топика
Ответ на: комментарий от Eternellement

Как по мне, сложнее изменить что-либо без опыта, чем создать своё

Ну хз, мне кажется наоборот. Если ты совсем ноль - первые n дней ты потратишь на какую-нибудь шизу типа попыток подцепить шпринговый контекст в юнитах, после чего интерес сам пропадёт

upcFrost ★★★★★
()
Ответ на: комментарий от AdonisSexyBoy

Долго маны читать не люблю, хочу сразу начать с практики.

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

AdonisSexyBoy
()
Ответ на: комментарий от upcFrost

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

У меня в галерее есть пример сложнее форума, где из библиотек только чуток GSONa ибо очень лень два класса типизировать, библиотека для последовательных портов и vlc для видео

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

Совершенно не нужны в большинстве случаев, где из используют азазаяумамкипрограммисты - тратить время на изучения фреймворка, который по итогам делает preparedstatement из рефлекшена - признак говнокода

И базу он покроет, и хранилище, и небо, и святого Патрика. Любишь обмазываться PreparedStatement’ами и писать sql стрингами?

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

П.с у чувака задача понять как делать - вот те, кто начинают с фреймворков, потом и создают ад в виде «страничка с одной фоткой в браузере отжирает 5гигов», «текстовый редактор тормозит на i7» и прочие прелести, которые получаются когда люди без понимания зачем и как, обмазываются 100500 библиотеками и фреймворками ради 5-10 строчек кода.

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)
Ответ на: комментарий от rukez

у чувака задача понять как делать

Дальше будет имхо, но ты сейчас предлагаешь изучать аэродинамику чтоб сделать ракету из пластиковой бутылки. Обычно в таком случае интерес пропадает примерно мгновенно. Чтоб зацепило надо от простого к сложному, а не сразу дрючить кнутом и jmm

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

так там всё тривиально:

  • поднимаешь http на готовом родном com.sun…
  • в готовом оракловском примере смотришь как с него раздавать раздавать файлы
  • в готовом оракловском примере смотришь как в нем принимать post/get
  • при желании осваиваешь азы ssl по примеру там-же
  • потом понимаешь что неплохо бы прикрутить сразу JSON чтоб твоя морда была проще хотя и тяжелее (тут чоуж, не мы такие, жизнь такая)
  • когда доходит дело до хранения ты либо понимаешь что в форумном посте всего 5-10 переменных и их логично положить в скуль
  • либо изобретаешь свой велосипед с хранением прямо в жсон и загрузкой в озу если твой форум не планирует разрастаться до 16+ гигов текста но очень хочет быть адово быстрым
  • когда поймешь что сделал адово быстрое хранение то можно переходить на netty - вполне годную либу для сетей

я не предлагаю чуваку делать свою сетевуху уровня той-же нетти, или свой бд кластер уровня хотя-бы постгреса (это кажется рокет сайнсом по началу, да), но и делать по принципу «кинь бутылку вверх и скажи что это была ракета» - то-же довольно дебильно, тут все задачки из разряда «я познаю мир» - именно с «чатика» и начинаются уроки по сетевому программированию - никто же их не решает «ой епт давайте вместо юдп пакета поднимем готовое облако в докере и пущай оно нам ping-pong гоняет само» рукалицо

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)
Ответ на: комментарий от rukez

в готовом оракловском примере смотришь как в нем принимать post/get

Делаешь маршрутизацию на пачке if-then поскольку хз как делать дальше.

Делаешь path-переменные на регулярках

Получаешь нечитабельный неподдерживаемый трешак

Когда так делаешь - тебе надо по факту свой мини-фреймворк писать чтоб это все выглядело адекватно. Для этого нужен опыт и знания

upcFrost ★★★★★
()

Пожалуй, буду изучать python, так как на нём написано много полезных вещей с которыми я уже сталкивался и пользовался. Есть советы?

Слышал, что использовать Django плохая идея - слишком уж он велик.

Eternellement
() автор топика
Последнее исправление: Eternellement (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Ну так написанный минифрейм даст понимание как работает настоящий фрейм внутри, если вдруг придётся им пользоваться.
А задачки на кучку ифов учат тому как правильно проектировать логику приложения, что бы их не было.
И да, поддерживать 100500 ифов в 100500 раз проще чем «внезапно упавший на ровном месте фреймворк» - я например от джетти в своё время отказался когда за пять часов не смог ее заставить принимать неправильно сформированные пакеты - ну его нафиг использовать в продакшене неподконтрольное и не до конца понятное решение в корне приложения, хотя джетти в целом вполне хороша (и не Фреймворк:-) ), но с тех пор советую нетти- там и код почище и доступ поглубже, в случае нужды

rukez ★★★★
()

джава

Не позорься, возьми в зубы rust и warp, и нормально будет

anonymous
()
Ответ на: комментарий от AdonisSexyBoy

практико-подходный вариант

практико-подходный подход, чо ты как нерусский-то

anonymous
()
Ответ на: комментарий от rukez

поддерживать 100500 ифов в 100500 раз проще чем «внезапно упавший на ровном месте фреймворк»

Крайне спорно, особенно если эти 100500 ифов набивают параметры для модели. Попутал порядок в одном - и будешь долго искать почему у тебя скажем имя и фамилия местами поменялись в базе. Билдер это конечно поправит, но с билдерами тоже хватает веселья, например при наследовании. А если тебе ещё и контекст запроса тащить без request-scope бинов - конструктор/фабрика могут стать прям очень жирными.

Развалившийся контекст шпринга тоже конечно не очень просто трейсить, но если ты знаешь как оно собирается - это всё-таки быстрее, и код читабельнее

я например от джетти в своё время отказался когда за пять часов не смог ее заставить принимать неправильно сформированные пакеты

Ну ты же понимаешь что ты странное хотел. Это все равно что отказаться от tcp потому что порт 100500 за лимит выходит. Не, бывают кейсы, но форум на калохосте точно не один из них

upcFrost ★★★★★
()

пятизвёздочники плохого не посоветуют

наивняк… вообще,достали уже со своей явой, еще JS побольше не забудь,желательно,чтобы без них вообще не открывалось делай

d09
()
Ответ на: комментарий от dimuska139

У меня тесты на одном ядре проводились, это точно, но это на высокочастотном cpu, что у них - думаю, это 4 ядра aws instance. Дели 14.5 на 4

Да, вот так вот, все эти разговоры что питон медленный в современном мире уже слабо актуально. К тому же, реализаций питона несколько, есть быстрый очень pypy, есть где развернуться с тюнингом, так что даже высоконагруженные приложения с лёгкостью пишутся на питоне. Но кое-где имеет смысл и на ноде и на гоу написать, везде свой интрумент. Так что часто выбирают не из-за скорости, а из-за удобства, к примеру, orm, и портируемости на arm aws, к тому же, питон очень мало жрёт памяти в сравнении с java и node.js

menangen ★★★★★
()
Ответ на: комментарий от Legioner

vim будет неудобен

После Vim любые IDE неудобны. Посему Мы избегаем в коммерческой разработке языков, на которых требуется писать в IDE, в том числе Java.

mertvoprog
()
Ответ на: комментарий от menangen

Порно хаб свой сделай за биткоины

Биткоины не спасут от уголовной ответственности за изготовление порнографии ;)

с одним админом

Вот в этом направлении и нужно двигаться. Делать демократические платформы на замену авторитарным, в том числе форумы, с bus_factor>1. Сейчас это решается через костыли типа виртуального сервера с админским доступом у нескольких человек, но это по-прежнему не демократия, а просто олигархат.

mertvoprog
()
Ответ на: комментарий от AdonisSexyBoy

Резиновая женщина. Далее базового управления это не заходит, всякие IDE-шные окошки всё равно выскакивают и по графическим настройкам надо лазить, там, где в Vim всё делается командами, конфигами и скриптованием. Плюс IDE намного жирнее, а также те, что используются в коммерческой разработке — обычно платные.

mertvoprog
()
Ответ на: комментарий от anonymous

Регистрантами.

Имиджи есть — аватарки, на немногих форумах они такие большие ;)

mertvoprog
()

Java машина требует JIT

4.2, есть AOT. У Нас на JP-7-сонерике все J2ME-программы при установке перегоняются в нативный код ;) На ведроидах этих ваших с 5-й версии тоже AOT, благодаря замене DalvikVM на Android RunTime. А что там для этих ваших Oracle/OpenJDK — не в курсе ;)

mertvoprog
()
Ответ на: комментарий от anonymous

не дает гарантий безопасности

А кто даёт? Их только покрываемый математическими доказательствами код даёт. Но в этой области с чем-то сложнее хэллоуворлдов полный высирач, да и о производительности приемлемой на выходе и мечтать не стоит ;)

mertvoprog
()
Ответ на: комментарий от AdonisSexyBoy

Да и ломы есть, первый раз видали кейген на Java ;)

Тут вопрос в другом: при коммерческой разработке контролирующие органы могут нагнуть с куда большей вероятностью, чем обычного хомячка, который в крякнутом фотожопе мемы рисует ;)

mertvoprog
()
Ответ на: комментарий от peregrine

Как раз реально крупные и уникальные проекты без CMS и пишут, им готовые CMS мешаются при развитии только. Да и ценятся «программисты на CMS» меньше.

mertvoprog
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.