LINUX.ORG.RU

Что-то в этом вебе слишком много всего

 


7

6

Хочу вот освоить веб, дабы зарабатывать на хлеб насущный. До этого зарабатывал на Delphi + разные SQL ну и баловался лиспом. Но всё это сейчас кормит довольно плохо.

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

Путём анализа stateofjs.com, rabota.yandex.ru и опроса населения получается как-то так:

bootstrap 3 + react + expressjs + webpack + nodejs + webstorm + babel + mysql

Есть ещё какие-то компиляторы для CCS, но до этого я пока не докопался даже.

Вёрсткой заниматься не собираюсь, только программирование. Хотя кто знает, может и до этого дойду когда-нибудь.

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

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

Правильно ли выбрал направления развития? А то я тут начитался, что всё это хипстота и что PHP+html+jquery - это наше всё.

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

★★★★★

Последнее исправление: den73 (всего исправлений: 2)

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

пестрит вау-эффектами сайт конкруента

Я бы сказал, что сайт конкурента пестрит фак - эффектами :)

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

Я фрилансер. Задача состояла в том, чтобы сделать подсветку HEX-представлении в анализаторе сетевых пакетов. То есть обычный HEX-view - слева байты в 16-ричной системе, справа ascii. При выделении куска текста (в байтах, или в ascii), должен симметрично подсвечиваться кусок в противоположном блоке.

Кстати, если немного подумать, то и эта задача легко решается на css без этих ваших скриптов. Выкладываю решение в общественное достояние без копирайтов и копилефтов для всех фрилансеров и вообще всех желающих. Заодно кастану AndreyKl, который, похоже, тоже упорот на js и думает, что тут-то без него точно не обойтись, наконец-то попался этот aureliano15.

lighthover.css:

.strip:hover { color: #FF0000; }
.left { position: absolute; left: 0; }
.right { position: absolute; left: 64%; }
#A { left: 4%; top: 4%; }
#B { left: 8%; top: 4%; }
#C { left: 12%; top: 4%; }
#D { left: 16%; top: 4%; }
#E { left: 20%; top: 4%; }
#F { left: 24%; top: 4%; }
#G { left: 28%; top: 4%; }
#H { left: 32%; top: 4%; }

#I { left: 4%; top: 8%; }
#J { left: 8%; top: 8%; }
#K { left: 12%; top: 8%; }
#L { left: 16%; top: 8%; }
#M { left: 20%; top: 8%; }
#N { left: 24%; top: 8%; }
#O { left: 28%; top: 8%; }
#P { left: 32%; top: 8%; }

#Q { left: 4%; top: 12%; }
#R { left: 8%; top: 12%; }
#S { left: 12%; top: 12%; }
#T { left: 16%; top: 12%; }
#U { left: 20%; top: 12%; }
#V { left: 24%; top: 12%; }
#W { left: 28%; top: 12%; }
#X { left: 32%; top: 12%; }

#Y { left: 4%; top: 16%; }
#Z { left: 8%; top: 16%; }

lighthover.html:

<!DOCTYPE html>
<html lang="ru">
 <head>
   <meta charset="utf-8" />
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <meta http-equiv="content-language" content="ru" />
   <title>Подсветка</title>

   <link media="all" type="text/css" rel="stylesheet" href="lighthover.css">
 </head>
 <body>
   <div id="A" class="strip">
     <div class="left">A</div><div class="right">0x41</div>
   </div>
   <div id="B" class="strip">
     <div class="left">B</div><div class="right">0x42</div>
   </div>
   <div id="C" class="strip">
     <div class="left">C</div><div class="right">0x43</div>
   </div>
   <div id="D" class="strip">
     <div class="left">D</div><div class="right">0x44</div>
   </div>
   <div id="E" class="strip">
     <div class="left">E</div><div class="right">0x45</div>
   </div>
   <div id="F" class="strip">
     <div class="left">F</div><div class="right">0x46</div>
   </div>
   <div id="G" class="strip">
     <div class="left">G</div><div class="right">0x47</div>
   </div>
   <div id="H" class="strip">
     <div class="left">H</div><div class="right">0x48</div>
   </div>

   <div id="I" class="strip">
     <div class="left">I</div><div class="right">0x49</div>
   </div>
   <div id="J" class="strip">
     <div class="left">J</div><div class="right">0x4A</div>
   </div>
   <div id="K" class="strip">
     <div class="left">K</div><div class="right">0x4B</div>
   </div>
   <div id="L" class="strip">
     <div class="left">L</div><div class="right">0x4C</div>
   </div>
   <div id="M" class="strip">
     <div class="left">M</div><div class="right">0x4D</div>
   </div>
   <div id="N" class="strip">
     <div class="left">N</div><div class="right">0x4E</div>
   </div>
   <div id="O" class="strip">
     <div class="left">O</div><div class="right">0x4F</div>
   </div>
   <div id="P" class="strip">
     <div class="left">P</div><div class="right">0x50</div>
   </div>

   <div id="Q" class="strip">
     <div class="left">Q</div><div class="right">0x51</div>
   </div>
   <div id="R" class="strip">
     <div class="left">R</div><div class="right">0x52</div>
   </div>
   <div id="S" class="strip">
     <div class="left">S</div><div class="right">0x53</div>
   </div>
   <div id="T" class="strip">
     <div class="left">T</div><div class="right">0x54</div>
   </div>
   <div id="U" class="strip">
     <div class="left">U</div><div class="right">0x55</div>
   </div>
   <div id="V" class="strip">
     <div class="left">V</div><div class="right">0x56</div>
   </div>
   <div id="W" class="strip">
     <div class="left">W</div><div class="right">0x57</div>
   </div>
   <div id="X" class="strip">
     <div class="left">X</div><div class="right">0x58</div>
   </div>

   <div id="Y" class="strip">
     <div class="left">Y</div><div class="right">0x59</div>
   </div>
   <div id="Z" class="strip">
     <div class="left">Z</div><div class="right">0x5A</div>
   </div>
 </body>
</html>

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

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

достаточно на минутку включить мозг и задуматься

То-то и оно, что ты не задумался ни на минутку.

Ты знаешь что такое выделение? Это не наведение. Это выделение. Selecton, а не hover.

Ты hex-редакторы в глаза видел, в жизни хоть?

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

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

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

То ли я чего то не понял, то ли ты задачи не понял: две панели, в одной ascii, в другой (бинарное представление?). _При выделении_ куска кода слева , справа выделяется соответствующий кусок. И наоборот. А у тебя что?

ЗЫ. Да, я упоминал что не могу определиться, кто из вас более упорот, ты или Денис? Так вот, всё ещё ничья. Просто я сразу разглядел твой огромный, вполне сравнимый с Денисовым потанцевал, и поэтому лажа выше (когда ты не понял задание и потратил время, что обычно рассматривается как лажа зелёного новичка) не привела к снижению твоих результатов в моих глазах. Но спасибо что кастанул, было интересно. :)

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

Итого ИТТ мы выяснили, что в то время когда узкое горлышко фронтенда это выверенная работа с домом и оптимизация количества узлов, и сеть, компротивленцы JS уповающие на производительность, по факту дрочат на максимальное перенесение логики на сервера и загрузки постоянно цельных дом деревьев, с невероятным количеством узлов.

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

Вроде победил nuxt.js - сайт вот тут . В т.ч. немного поменял роутер, чтобы он нормально обрабатывал пути в кириллице для динамических страниц (уже вижу косяк на этой странице, но исправлять не буду).

Конечно, слегка попривык и ощущение апокалипсиса несколько замутилось. Но грабли замечательные. Например, можно задать несколько скриптов в поле script. Я на второй раз автоматически поправил грамматическую ошибку и написал «scripts» вместо «script». Мне никто ничего не сказал и я долго не мог понять, почему мои скрипты не выполняются. Я так понял, в JS это вообще добрая традиция - не делать никакой защиты от опечаток. И чем дальше, тем сильнее эта традиция наступает.

Не говоря о том, что я, наверное, час пытался найти документацию по этому head и не нашёл её (собстенно, ради этого страничка и была сделана, поскольку дока по vue размазана по нескольким слабо связанным между собой руководствам) - мне в конечном итоге помогло сообщество.

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

ты хочешь, чтобы клиенты ахуевали от перезагрузки страниц на каждый чих?

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

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

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

PS. Только пиши спокойно, без ругани. Объясни в двух словах - страница де перезагружается пока я галки ставлю, отвлекает и тормозит.. или что там тебя не устраивает. скажи было бы удобно просто нажать кнопку «показать» после того как галки поставлены. Если руководство адекватное - отреагируют. Елси нет - это руководство надо учить быть адекватным. А уж хипстоту оно научит, не волнуйся.

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

Отвечаю тебе и анонимусу (или анонимусам).

Ну да, невнимательно прочитал сначала. Но важна ведь сама идея. Вот почему нельзя включить мозг и подумать, а как с помощью css сделать выделение? Правда, врать не буду, я тоже не сам додумался, а позаимствовал здесь. И у этого способа 2 недостатка:

  1. Выделять надо по буквам
  2. Для каждой буквы создаётся скрытый чек-бокс, что при большом количестве букв скорее всего сделает страничку гипер-тормознутой

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

Да, и пока не забыл. В прежний css в самое начало надо добавить строку, которую я случайно при вставке сюда не скопипастил:

.strip { color: #888800; position: absolute; width: 100%; }

А теперь новая версия.

lighthover.css:

.strip { color: #888800; position: absolute; width: 100%; }
.a { position: absolute; top: -1000px; left: -1000px; }
#a:checked ~ #A { color: red; }
#b:checked ~ #B { color: red; }
#c:checked ~ #C { color: red; }
#d:checked ~ #D { color: red; }
#e:checked ~ #E { color: red; }
#f:checked ~ #F { color: red; }
#g:checked ~ #G { color: red; }
#h:checked ~ #H { color: red; }
label { display: block; }


.left { position: absolute; left: 0; }
.right { position: absolute; left: 64%; }

#A { left: 4%; top: 4%; color: #888800; }
#B { left: 8%; top: 4%; color: #888800; }
#C { left: 12%; top: 4%; color: #888800; }
#D { left: 16%; top: 4%; color: #888800; }
#E { left: 20%; top: 4%; color: #888800; }
#F { left: 24%; top: 4%; color: #888800; }
#G { left: 28%; top: 4%; color: #888800; }
#H { left: 32%; top: 4%; color: #888800; }

lighthover.html:

<!DOCTYPE html>
<html lang="ru">
 <head>
   <meta charset="utf-8" />
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <meta http-equiv="content-language" content="ru" />
   <title>Подсветка</title>

   <link media="all" type="text/css" rel="stylesheet" href="lighthover.css">
 </head>
 <body>
   <input type="checkbox" class="a" id="a">
   <input type="checkbox" class="a" id="b">
   <input type="checkbox" class="a" id="c">
   <input type="checkbox" class="a" id="d">
   <input type="checkbox" class="a" id="e">
   <input type="checkbox" class="a" id="f">
   <input type="checkbox" class="a" id="g">
   <input type="checkbox" class="a" id="h">
   <div id="A" class="strip">
    <label for="a">
     <div class="left">A</div><div class="right">0x41</div>
    </label>
   </div>
   <div id="B" class="strip">
    <label for="b">
     <div class="left">B</div><div class="right">0x42</div>
    </label>
   </div>
   <div id="C" class="strip">
    <label for="c">
     <div class="left">C</div><div class="right">0x43</div>
    </label>
   </div>
   <div id="D" class="strip">
    <label for="d">
     <div class="left">D</div><div class="right">0x44</div>
    </label>
   </div>
   <div id="E" class="strip">
    <label for="e">
     <div class="left">E</div><div class="right">0x45</div>
    </label>
   </div>
   <div id="F" class="strip">
    <label for="f">
     <div class="left">F</div><div class="right">0x46</div>
    </label>
   </div>
   <div id="G" class="strip">
    <label for="g">
     <div class="left">G</div><div class="right">0x47</div>
    </label>
   </div>
   <div id="H" class="strip">
    <label for="h">
     <div class="left">H</div><div class="right">0x48</div>
    </label>
   </div>
 </body>
</html>

Я оставил только первую строку от A до H для краткости, но сути это не меняет.

в то время когда узкое горлышко фронтенда это выверенная работа с домом и оптимизация количества узлов, и сеть, компротивленцы JS уповающие на производительность, по факту дрочат на максимальное перенесение логики на сервера и загрузки постоянно цельных дом деревьев, с невероятным количеством узлов

Причём тут это? Это был просто пример, что и так можно. Но из этого совсем не следует, что так нужно. Я с самого начала написал:

Я не утверждаю, что данное решение обязательно лучше, чем на js. Я лишь утверждаю, что оно есть!

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

Нет, всё равно ты не ведёшь в счёте. Хотя очков поднабрал, да. Но den73 запилил ЯР (ну, почти). Во первых написал спеку (за малым не хаскель репорт, судя по размеру которым он хвастался!), во вторых написал реализацию. Потерпел неудачу. И с новыми силами бросился реализовывать ту же стратегию (я самый умный, все вокруг *удаки, разбираться в причинах мне лень, я и так всё знаю и так *удаками пообзываю всех, результат то один и тот же) в вебе.

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

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

Блин, ну ты ж потратил время. Кроме сарказма надо и по человечеки объяснить в чём притензия к работе. Из уважения к труду.

Лови серьёзный ответ:

Идея конечно любопытная, в смысле участия в конкурсе «как бы нам изловчиться лишь бы не делать нормально», но не более того.

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

Но пока что видишь ли, выходит, дураки лепят на css то что нужно делать на javascript. Результат - странное, вероятно тормозное говнецо, где выделять номрально нельзя, по факту.

Ну и что ты доказал? Свою упоротость? Ну да, ты набрал очков. Но об этом я написал выше.

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

Вроде победил nuxt.js - сайт вот тут .

Поздравляю с почином. Я бы ещё добавил адрес в профиль. Хотя пока, наверно, это делать рано.

нормально обрабатывал пути в кириллице

А вот зачем регистрироваться в зоне .рф, я, честно говоря, совсем не понимаю. Имхо, не ascii имена доменов и серверов — зло, хотя бы потому, что отображаются они зачастую абракадаброй в виде %35%34..., что делает их ещё менее читабельными и запоминаемыми, чем ipv6-адреса. А ведь изначально dns была придумана именно для того, чтоб не запоминать в то время ещё немногочисленные циферки ipv4.

Я так понял, в JS это вообще добрая традиция - не делать никакой защиты от опечаток

Ну, насколько я понимаю, в html непонятные теги просто игнорируются без предупреждений изначально. И сделано это потому, что нельзя ожидать, что с выходом новой версии она у всех обновится одновременно. Разные предупреждения и ошибки создали бы больше проблем, чем пользы.

час пытался найти документацию по этому head и не нашёл её

Это обычное дело. Я уже привык.

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

А вот зачем регистрироваться в зоне .рф, я, честно говоря, совсем не понимаю.

Ладно, ты меня раскусил: вообще я тебе льщу немного. Потанцевал у тебя есть и он большой, но у Дениса первое место бесспорно. Ты конечно сейчас потеряешь интерес к соревнованию, но что делать. Мастер — он не один год шёл к своему мастерству, так просто, с наскока, его не одолеть... придётся постараться если действительно хочешь.

ЗЫ. Ух ты , а ЛОР умеет менять два дефиса на тире, классно!

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

Идея конечно любопытная, в смысле участия в конкурсе «как бы нам изловчиться лишь бы не делать нормально»

Собственно, именно такая цель и была поставлена. Я ведь не заказчику делал. Иногда полезно размять мозг и сделать что-то нестандартно. Вот тебе ещё одна ссылка на «как бы изловчиться»: Открывается конкурс дураков на самую нечитабельную программу. Не всё же на дядю работать, надо и для души. :-)

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

Так это я уже доказал. Оговорившись, что иногда js действительно нужен. А сейчас показываю, что даже когда он нужен, при желании во многих случаях можно обойтись и без него.

Как говорил Захаровский барон Мюнхгаузен: «Я понял, в чём ваша беда: вы слишком серьёзны. Умное лицо — это ещё не признак ума, господа. Все глупости на земле делаются именно с этим выражением лица. Улыбайтесь, господа. Улыбайтесь!»

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

Ты почитай содержимое сайта, из него станет ясно, почему рф :) И кстати, это какое-то время считалось выгодным для SEO.

час пытался найти документацию по этому head и не нашёл её

Это обычное дело. Я уже привык.

Она есть, только хорошо зашифрована и находится в секретном месте :) Я нашёл, но не ту :) А сообщество помогло мне найти ту, которая была спрятана получше.

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

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

Да, лучше мы сделаем вид, что оно работает, при том, что в реальности оно будет не работать. И главное, надо довести эту идею до полной общности, усеяв граблями всю территорию.

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

Отрубите ему голову (С)

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

Ты почитай содержимое сайта, из него станет ясно, почему рф :)

А, понял:

Мы стараемся применять русский язык везде: в именах и расширениях файлов и директорий, в адресах веб-страниц.

Но всё равно запомнить адрес http://xn-----6kcajervcdvqarhfgengcekya4c.xn--p1ai/ мне сложно. Сначала надо сделать браузер с нормальным отображением таких адресов в адресной строке.

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

Да, лучше мы сделаем вид, что оно работает, при том, что в реальности оно будет не работать.

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

Вот для нормальной поддержки разных расширений и игнорируются неизвестные теги. Например, в расширениях css для Firefox есть опция -moz-border-bottom-colors, которая задаёт цвета нижней границы элемента. А другие браузеры просто игнорируют эту опцию и устанавливают цвета по-другому или по умолчанию. В конце концов, не забывай, что главное предназначение веба — это гипертекст. А текст, даже гипер, как-нибудь можно прочитать, пропустив пару-тройку тегов. Да и все эти ява-скрипты (которая, кстати, когда-то тоже была нестандартным расширением Netscape) пользователь может банально отключить ради собственной безопасности. И что ты тогда будешь делать, если не учитываешь такую возможность?

aureliano15 ★★
()

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

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

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

Но всё равно запомнить адрес http://xn-----6kcajervcdvqarhfgengcekya4c.xn--p1ai/ мне сложно. Сначала надо сделать браузер с нормальным отображением таких адресов в адресной строке.

Нормальная поддержка кириллицы нужна только России как государству и нам, жителям России, которые в случае падения нашей страны конкретно пострадают (я не говорю о «гражданах мира», а только о тех, кто привержен России). Международные команды, связанные с корпорациями, всегда будут делать так, чтобы нам было трудно использовать родной язык - это тупо снижает нашу производительность труда. В идеале, вести нас к отказу от кириллицы и от своего языка. Поэтому тут стратегия простого разработчика, желающего сохранить свою страну, состоит в том, чтобы выкручиваться и поддерживать форки, а стратегия государства состоит в том, чтобы требовать от корпораций соблюдения наших интересов, наступая им на чувствительные места кованым сапогом. Видимо, придётся на каждой странице завести ещё и альтернативную адресную строку - у меня уже есть виджет «где я», видимо, его нужно переделать, чтобы он показывал адрес страницы.

Вот для нормальной поддержки разных расширений и игнорируются неизвестные теги.

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

den73 ★★★★★
() автор топика
Ответ на: комментарий от dk-

Попкорна дать?

садись, давай попкорн, добро пожаловать в клуб)

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

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

Удивительно, но п-п-р работает без JS. Хотя я этого не ожидал: он подтягивает какую-то туеву хучу скриптов. Так глядишь, я скоро начну уважать авторов vue.js :)

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

ни разу такой муйни не встречал

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

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

Добил меня один магаз железячников, где по клику на галке перезагружается страница целиком. Там вероятно суровые хейтеры аякса писали обработку, а сама форма от аяксо-педиков.

вообще мелкие магазинчики да ,та ещё жопа. даже крупные ретейлы (типа ламоды) зачастую не фонтан, а уж мелоч всякая.. там логика такая (я просто встречался): 100 тыс за сайт!!? да я сам сделаю. проходит время, меняются люди, выходит версия сайта. но как бы, что сказать, имеем то что имеем в результате.

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

Фестиваль рукожопия,этот ваш уеб.

В целом, всё таки должен сказать это фестиваль скупости в первую очередь. Ибо чтобы сделано было, надо копеечку отслюнявить. А нафига если можно прокутить эти деньги с любовницей в ресторане? Ну в целом я согласен, что уж там. Кому надо - у того сайты нормальные обычно, а кому не надо - так лучше уж в ресторан.

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

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

В идеале, вести нас к отказу от кириллицы и от своего языка.

Ну, у нас-то с этим делом всё не так плохо.

Например, в Сербии, как я слышал, часто используют латиницу вместо кириллицы. Но это ладно, у них давние традиции её использования. Сербско-хорватский язык имеет 2 алфавита. Хотя сейчас они все на этом основании считают каждый свой диалект отдельным языком. Вроде даже черногорцы (если не ошибаюсь) специально придумали новую кирилличискую букву, которой нет у сербов и у них никогда не было, чтоб официально объявить о существовании отдельного черногорского языка с собственным алфавитом. :-)

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

У нас всё-таки транслит используют только в случае крайней необходимости, даже крайние западники. Так что в этом смысле опасения о возможной утрате национальной идентичности, имхо, преувеличены. :-) У нас другая проблема — тотальное незнание английского языка, и эта проблема куда более актуальна.

Если тебя интересует тема русского языка, рекомендую очень интересное интервью Набокова журналу Плейбой 1964 года, где он сравнивал русский и английский языки. Особенно интересны его сравнения с учётом сегодняшнего состояния русского языка. Например, в этом интервью он говорил:

Довольно докучливая черта, свойственная русскому - это недостаток, неточность и неуклюжесть технических терминов. Например, простая фраза «to park a car» (4) приобретает вид, - если перевести ее обратно с русского - «to leave an automobile standing for a long time» (5)

(4) Запарковать машину (англ.)
(5) На долгое время оставить автомобиль стоящим (англ.)

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

Интервью в разных форматах можно скачать по адресу http://modernlib.ru/books/nabokov_vladimir_vladimirovich/intervyu_zhurnalu_pl... .

Например, в непонятном теге может быть написано: всё, что написано ниже - шутка.

В html-тегах вообще не должно быть никакого текста, предназначенного для читателя, кроме необязательных всплывающих подсказок при наведении мышки на элемент и альтернативного текста при невозможности отобразить картинку. Теги предназначены исключительно для форматирования. Поэтому в худшем случае вместо "всё, что написано ниже - шутка" я прочитаю «всё, что написано ниже - шутка», что не так страшно, хотя тоже неприятно.

В своё время javascript, vbscript, wmlscript и прочие клиентские скрипты рекомендовали даже заключать в комментарии вида <!-- ... -->, чтобы html-парсер по ошибке не отобразил их как простой текст. Сейчас на это все забивают по причине того, что браузеры обычно правильно понимают смысл тега <script>.

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

Удивительно, но п-п-р работает без JS. Хотя я этого не ожидал: он подтягивает какую-то туеву хучу скриптов. Так глядишь, я скоро начну уважать авторов vue.js :)

Ну вот. Решил посмотреть, что такое яроклава, и бац ... js окошечко с надписью «Ваш боаузер не поддерживается». А по закрытии его надпись на страничке:

С вами Яроклава-js-0.83. Печатайте текст на клавиатуре вашего компьютера. Для ввода латиницы нажмите и удерживайте пробел. Также обратите внимание на дополнительные значки.

Загрузка...

Ваш браузер похож на Unsupported (Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1 (KHTML, like Gecko) Version/11.0 Safari/605.1)

См. также:

Зачем это? - видеоролик Яро-раскладка - аналог Яроклавы для настольных программ Windows Яролит - обратимая транслитерация для идентификаторов в программах Главная

Но не видно, чтоб что-то загружалось. А у меня luakit последней версии, если что. Говорят, что он подписывается Netscape'ом в поле user-agent, хотя сам этого не проверял. Вот она, ваша хвалёная ява-скрипт. :-)

Да, js у меня не отключён в яндекс-карты, например, отображаются нормально.

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

Ваш боаузер не поддерживается

Я проверяю конкретные браузеры. «Ваш браузер похож на» печатает то, что я сумел определить, а также содержимое user-agent. Ща проверю твою luakit и, если всё ок, буду тогда писать, что Mozilla/5.0 тоже поддерживается.

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

Ща проверю твою luakit

Блииин, пакета для дебиана нет.

Сам я сейчас в качестве эксперимента поставил на новый ssd-диск всё новое: archlinux вместо привычной debian, xfce вместо привычной mate, ну и luakit вместо привычной «большой тройки», но всё равно странно. Вот же ссылка на stretch-репозиторий: https://packages.debian.org/ru/stretch/luakit .

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

Не, ничего не могу сделать. Устанавливать сильно вломы, а без тестирования не знаю, как идентифицировать твой браузер. Есть нюансы в кодах клавиш, а поскольку твой браузер прикидывается одновременно и Mozilla (вообще не о чём не говорит) и WebKit, то это неоднозначно. Поставил идентифицикацию твоего браузера как Сафари, а ты можешь протестировать. Но нужно нажать на каждую кнопку во всех вариантных (4 варианта) и убедиться, что всё работает. Нашёл такую смешную статью: История user-agent в браузерах.

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

Не, ничего не могу сделать. Устанавливать сильно вломы

А чего там устанавливать? sudo apt-get install luakit, если у тебя debian.

а без тестирования не знаю, как идентифицировать твой браузер

Вот что пишет ngrep:

GET / HTTP/1.1..Host: xn-----6kcajervcdvqarhfgengcekya4c.xn--p1ai..Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8..User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1 (KHTML, like Gecko) Version/11.0 Safari/605.1..Upgrade-Insecure-Requests: 1..Accept-Encoding: gzip, deflate..Accept-Language : ru-RU..Connection: Keep-Alive..Cookie: _ym_uid=1518901483601024067; _ym_isad=2

Но нужно нажать на каждую кнопку во всех вариантных (4 варианта) и убедиться, что всё работает.

Какие кнопки и в каких вариантах?

И зачем вообще разных user-agent'ов заранее отсекать? Это напоминает некоторые сайты примерно 10-летней давности, работавшие исключительно с MS IE, а остальным возвращавшие ошибку, хотя никакой MS IE специфики там не было. Зачем это нужно было владельцам сайтов, до сих пор не пойму.

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

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

Это из разряда «ну зато я ни в чём не виноватый». Я встречал одного такого, кстати, как раз лет 12 назад, он тогда школьником был: показывает мне сайт. Я ему говорю что то вроде: молодец, круто, а в опере, фоксе глядел? Он ответил что не глядел, говорю - профессионально - поглядеть, а то как же пользователи. Ну на следующий день он проблему «решил», говорит «а я повесил что работает только в ИЕ, а остальные как хотят».

Т.е. вроде как и делать ничего не надо, и предупредил всех, а раз предупредил, значит уже не виноват, он же предупредил. Т.е. тут чистый психологический заскок возведённый в степень ленности индивида (или упоротости, по ситуации).

Кстати, теперь ты понимаешь _НАСКОЛЬКО_ тебе будет сложно соперничать с Денисом? А я ведь тебе говорил, это мастер.

Но всё равно — успехов, дорогу осилит идущий.

;)

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

Я встречал одного такого, кстати, как раз лет 12 назад, он тогда школьником был: показывает мне сайт. Я ему говорю что то вроде: молодец, круто, а в опере, фоксе глядел? Он ответил что не глядел, говорю - профессионально - поглядеть, а то как же пользователи. Ну на следующий день он проблему «решил», говорит «а я повесил что работает только в ИЕ, а остальные как хотят».

Понятно. Очень может быть, что его сайт я и видел, т. к. было это приблизительно в это время. Точного года я, разумеется, не помню, как не помню, что это был за сайт и что на нём вообще было. Просто ссылка ради прикола ходила на феерический сайт, куда заходишь — и ошибка, притворяешься MS IE — и всё Ok.

Вот оно всё как просто оказывается. А я-то голову ломал, конспирологические теории строил, что, может, это MS таким горе-мастерам копеечку доплачивает...

Кстати, теперь ты понимаешь _НАСКОЛЬКО_ тебе будет сложно соперничать с Денисом? А я ведь тебе говорил, это мастер.

Так я, собственно, ни с кем не соперничаю. Яроклава меня заинтересовала тем, что действительно было бы удобно иметь опцию временного переключения на другую раскладку по нажатии клавиши с возвратом в предыдущую по отпускании. Но многое зависит от конкретной реализации, поэтому интересно посмотреть. Ну а den73, думаю, тоже заинтересован в поддержке большего числа браузеров, хоть luakit и не входит в большую пятёрку (firefox, chromium, opera, MS IE и safari, надеюсь из крупных никого не забыл).

И чего тут смешного или фееричного, мне не понятно. В принципе, вещь годная, при условии годной реализации.

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

Яроклава

Совершенно безотносительно яроклавы, что бы это ни было.

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

Ты ориентируешься на user-agent, для поддержки кроссбраузерности?

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

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

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

Должен признать, вероятно сейчас я не прав. Я не понял что вы про раскладку и её работу с js и разными браузерами (из за разных сочетаний клавиш по умолчанию). В таком случае видимо (в детали не вникал) ты прав и тут нужна некоторая доработка до боль-менее человеческого дефалта, о чём нужно сказать автору, если он ен догадался, чтобы поправил.

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

Попробовал из Оперы. Впечатления двоякие. Не совсем привычно пользоваться пробелом и для переключения раскладки, и для ввода собственно пробела. С другой стороны, символ пробела вводится только при отпускании клавиши пробел и при условии, что не была нажата никакая другая клавиша. Это может быть удобно для предотвращения случайного ввода нескольких пробелов подряд. Ну и запятая при нажатом пробеле не работает (а может работает, но привязана к неизвестной мне клавише.)

Вот только интересно, эта клавиатура работает только в браузере на js или есть вариант для системы, чтобы потестить? Последний вопрос, разумеется, адресован den73.

aureliano15 ★★
()
Последнее исправление: aureliano15 (всего исправлений: 1)

И зачем вообще разных user-agent'ов заранее отсекать?

Есть такая статейка - я (пока?) не умею гарантировать, что всё будет работать правильно. Т.к. узнать возвращённый код, не нажав на кнопку, нельзя. В итоге всё равно нужно написать гигантский case по всевозможным версиям браузеров, а сами версии определять косвенным образом. И всё равно, нормально и полностью обрабатывать клавиатуру в браузерах не получится - везде есть какие-то косяки и аномалии. Поэтому данная страничка - это лишь демо, показывает идею. Задача должна решаться на уровне драйверов ОС или каких-то ещё системных обработчиков клавиатуры. Если же говорить о показе идеи, лучше перестраховаться, отказать в демонстрации и получить плохой отзыв на своё веб-мастерство, чем продемонстрировать нечто неработающее и получить отрицательный отзыв на саму демонстрируемую идею.

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

. Не совсем привычно пользоваться пробелом и для переключения раскладки, и для ввода собственно пробела.

Многое поначалу непривычно: ездить на велосипеде, печатать 10 пальцами и отпускать сцепление. Но этому можно научиться.

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

Вот только интересно, эта клавиатура работает только в браузере на js или есть вариант для системы, чтобы потестить?

Есть ещё яро-раскладка для Windows, но там модификация поведения клавиатуры висит на правом Alt. И я в реестре поменял местами пробел и правый Alt. К этому ещё сложнее привыкнуть, но я привык. Под Linux сделать я не осилил, а за деньги тоже никто не сделал. Я надеюсь, что со временем включу это в свою IDE.

Ну и запятая при нажатом пробеле не работает (а может работает, но привязана к неизвестной мне клавише.)

Не работает намеренно. Очень плохо, что в кириллической и английской раскладке точка, запятая и ; находятся в разных местах. Я выкинул все дубликаты и остался только один способ ввода для большинства значков. Сделал исключение для "-" из-за специфики Яра.

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

я (пока?) не умею гарантировать, что всё будет работать правильно [skip] лучше перестраховаться, отказать в демонстрации и получить плохой отзыв на своё веб-мастерство, чем продемонстрировать нечто неработающее и получить отрицательный отзыв на саму демонстрируемую идею.

Так можно просто для неопознанного браузера написать, что правильная работа не гарантируется, т. к. браузер не опознан, а работа js с клавиатурой у всех реализована по-разному, и предложить несколько вариантов. А напротив каждого из вариантов ещё и кнопку поставить, какой из вариантов сработал правильно. Тогда есть шанс получить какую-то статистику по браузерам, и действительно неподдерживаемые браузеры временно отключить и начать допиливать, а те, что нормально работают с каким-то вариантом, включить в официально поддерживаемые (только вместе с информацией о сработало/не сработало надо сохранить user-agent и другие поля, которые ты используешь для идентификации браузера). Ты не можешь поставить luakit (хотя я не понимаю, почему, но, наверно, у тебя есть на то причины), наверняка не можешь поставить многие другие браузеры, о некоторых можешь даже не знать, но такой политикой отсекаешь любую помощь со стороны в плане тестирования. Я бы, например, мог проверить работу твоей яроклавы с luakit, seamonkey и konqueror'ом, помимо браузеров из большой тройки.

Есть ещё яро-раскладка для Windows

К сожалению, этот вариант мне совсем не интересен, потому что Windows я совсем не пользуюсь.

И я в реестре поменял местами пробел и правый Alt. К этому ещё сложнее привыкнуть, но я привык.

Вот это, имхо, зря. Правда, Alt вместо пробела я не пробовал, но подозреваю, что это будет совсем неудобно. Ну и как минимум отпугнёт пользователей с самого начала. Да ты и сам говоришь, что привык с трудом.

Не работает намеренно. Очень плохо, что в кириллической и английской раскладке точка, запятая и ; находятся в разных местах. Я выкинул все дубликаты и остался только один способ ввода для большинства значков.

Но я запятую так и не нашёл при нажатом пробеле ни на месте русской, ни на месте английской.

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

Так можно просто для неопознанного браузера написать...

Я думаю, это вкусовщина. В конце концов, есть видеоролик, где я объясняю, как это работает. У кого браузер не поддерживается - пусть ролик смотрят :) Если, допустим, использовать яроклаву на сайтах, то должно быть сообщение «в вашем браузере яроклава не работает» и пусть вводят текст по-старинке. Делать полуработающее - это заслуживать плевки.

Правда, Alt вместо пробела я не пробовал, но подозреваю, что это будет совсем неудобно.

Меня всё устраивало. Отказался от этой настройки я из-за линукса, поскольку получалось, что в винде и в линуксе приходится вводить по-разному.

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

Если уж и делать скрипт, то нужно сначала сделать «виджет», который можно подключить к любому уже существующему сайту. Пока я не понимаю, как это сделать, с т.з. стиля. Если это будет понятно и кто-нибудь начнёт ставить на свои сайты (что весьма маловероятно), то тогда можно будет доводить до максимальной совместимости.

Но я запятую так и не нашёл при нажатом пробеле ни на месте русской, ни на месте английской.

Её там нет. Способ ввода запятой только один - shift+кнопка справ от ю, т.е. «/» . Яроклава заточена на ввод русскоязычного текста с вкраплениями английских слов и доп значками, а не на ввод больших количеств английского текста, поэтому сделано именно так.

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

идеально сделать всё равно не выйдет из-за специфики веба (в статье написано, какие есть глюки)

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

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

Почему дерьма? Просто надо понимать, где можно и нужно использовать яву, а где это противопоказано. Ява — хорошо продуманный, переносимый и безопасный язык. Я писал на яве давно и недолго — тогда ещё была ява2, — и на меня этот язык в то время произвёл впечатление в том плане, что там было тогда всё необходимое для написания полноценной программы, и ничего лишнего. Ни одна возможность не дублировалась, как в некоторых библиотеках, когда можно сделать и так, и сяк, и наперекосяк. Но, естественно, переносимость (особенно двоичная) и безопасность имеют свою цену: если писать на яве что-то мощное и грандиозное, то это что-то может и будет работать, однако будет дико тормозить и нехило жрать память. Однако для небольших задачек типа твоей клавиатуры, ява подходит идеально.

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