← All posts tagged web

lovesan

Кстати, я тут нафрилансил недавно на "ASP .NET MVC 3" сайт, по формату фотогалерею-визитку, где весь текст(описания фоток всякие, "о себе" и пр.) можно редактировать в markdown.

И чо скажу — чем больше я узнаю этот фреймворк(ASP .NET MVC), тем более охуенным он мне кажется. Вообще, невероятно охуенный фреймворк, я бы сказал. И готовых компонентов дохрена. В WVD Express написал техническую часть за три дня(это всё кроме верстки, то есть, начиная с работы с БД[кстати Entity Framework тоже охуенная штука]). Года два назад я такое на каком-нибудь PHP рубил бы очень сильно дольше, ну хуй знает, ну на порядок дольше.

В ASP.NET одна из самых приятных вещей, как я уже как-то писал, собственно в том, что это .NET. А это значит — производительность, готовые компоненты, IDE и так далее. Первый фактор(производительность) особенно впечатляет, если сравнивать с каким-нибудь Ruby. То есть да, никто не спорит, на Ruby(ну, на рельсах) писать веб тоже приятно, но блять, руби это же пиздец тормоз, пиздец жрет память, и вообще у него пиздец кривой рантайм! В .NET же охуенно решительно всё, кроме того что .NET(и C# в частности) не лисп(но это уже совсем другая история).

lovesan

А что все так носятся с веб-программированием? Это же совершенно уныло, скучно, просто, даже тупо. В вебе самое сложное это дизайн, вёрстка и изъебства с JS. Серверная часть это вообще ни о чем. Особенно если в рамках чего-то стандартного(начиная с сайтов-визиток и заканчивая блогами/форумами/соцсетями).

На ЛОРе вон целый раздел есть, типа "Web Development". Нахуя? Чем оно такое особенное, и зачем выделять от обычного Development, я не врубаюсь. Ну, может тем, что концентрация дебилов выше? И это типа как ясли/дошкольная подготовка, по сравнению с "не-Web" разделом?

lovesan

Дико крутая библиотека:
https://github.com/AutoMapper/AutoMapper

Вот скринкаст по теме:
http://dnrtv.com/dnrtvplayer/player.aspx?ShowNum=0155

Короче, суть в автоматизированном отображении ADO(модель БД, whatever) на DTO(ViewModel, объекты, удобные для вьюх).

Мы просто берем, где-то на старте приложения пишем Mapper.CreateMap<SourceType, DestType>(), а потом в экшнах контроллера пишем Mapper.Map(sourceObject, destObject) и библиотека нам генерирует одни объекты из других автоматически, на основе имен свойств и методов, например. Более того, библиотека даже поддерживает flattening, т.е. может из вложенных ADO автоматически сделать плоские DTO.

Это само по себе круто, но можно сделать еще удобнее, прикрутив к методам контроллера аттрибуты:
http://lostechies.com/jimmybogard/2009/06/30/how-we-do-mvc-view-models/

Вот пример. Допустим у нас есть некоторый класс, отображение таблицы БД.

class User
{
  public string Name { get; set; } 
  public string Surname { get; set; } 
  public string GetFullName() { return Name + " " + Surname; }
}

И DTO для отображения.

class UserDto
{
  string FullName { get; set; } 
}

Где-то в global.asax мы настроили отображение:

Mapper.CreateMap<User, UserDto>();

А в контроллере его используем:

class UserController : Controller
{
  [AutoMap(typeof(IEnumerable<User>), typeof(IEnumerable<UserDto>))]
  public ActionResult List()
  {
    return View(DB.Users.AsEnumerable());
  }
}

Ну и во вьюхе например такое:

@model IEnumerable<EgoistPortal.Models.UserDto>

@foreach(var u in Model)
{  
  <div>@u.FullName</div>
}

----------------------------------

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

lovesan

Всё, определились с платформой.

ASP .NET MVC 3

Я вот уже начал на нем писал щас, и чо скажу — фреймворк охуенен. Может это ощущение после PHP, конечно, но вообще, судя по тому что говорят про рельсы — ASP .NET MVC как минимум не хуже.

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

lovesan

Заебался всё-таки с php.
Пошел по совету @darkdrip, смотреть на рельсы. Один хуй VPS берем.

Кстати, какой дистрибутив взять? У хостера вроде есть и гента и дебиан. Но в дебиане по слухам с руби какой-то ад, а с гентой в то же время — многовато ебли.

lovesan

А никому кроме меня не кажется, что дизайнеры современных приложений, и не только веб-приложений, перебирают с асинхронностью?
Я имею ввиду в основном пользовательский интерфейс, естественно.

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

Еще пиздец бесит асинхронная подгрузка иконок, ну в том же windows explorer. Мне лично иконки очень сильно помогают ориентироваться в пространстве, в особенности в больших директориях, где в одну кучу свалено дохрена всего — ну типа "мои документы", или "загрузки" или просто папки, где у меня валяются обрывки моих гениальных мыслей, записанные в коде на разных ЯП. Но когда у нас всё асинхронно — захожу в такую — иконки все белые и одинаковые, нихуя не понятно, глазом не за что зацепиться, а тут еще асинхронная подгрузка самого списка — пиздец, сидишь ждешь пока раскрутится винт, и система соизволит мне показать все что есть. Нахуя спрашивается асинхронность?

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

lovesan

Верстальщики в зале есть?
Суть такова:

Есть такая страница:
<body>
<div id="topBanner">...</div>
<div id="top">...</div>
<div id="content">...</div>
</body>

В top и content в бэкграунде висит две части текстуры, причем плотно подогнанные друг под друга. Т.е. в top - шапочка текстуры, в content - повторяющаяся по вертикали часть, которая сверху сочетается с низом текстуры из top.
И top и content на странице отцентрированы(width: Npx; margin: 0 auto;).
Нужно сделать так, чтобы content растягивался как минимум до низу страницы, т.е. чтобы от шапки до низу была текстура из content, даже если внутри content пусто. Текстура, кстати, прокручивается с контентом, если он есть.

Можно ли сделать оную задачу на чистом CSS 2.1 и XHTML 1.0?
Я пока что придумал изъебство на JS:
<div id="content">
...
<script type="text/javascript">setContentMinHeight();</script>
</div>


Сама функция setContentMinHeight такая:

function setContentMinHeight() {
  var b = document.getElementById("topBanner");
  var t = document.getElementById("top");
  var c = document.getElementById("content");
  if(t && c)
  {
    var mh = window.innerHeight
             - t.offsetHeight
             - ( b ? b.offsetHeight : 0);
    mh = (mh > 0 ) ? mh : 0;
    c.style.minHeight = mh + "px";
  }
}

window.onresize = setContentMinHeight;

lovesan

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

1) Текст комментариев к блогам/статьям хранить лучше в БД или на ФС(в файлах)?

2) SSL/TLS не пахнет(сертификата (пока?) нет). Аутентификацию проводить по-тупому через форму и плейнтекст, или имеет смысл как-либо выебнуться на клиентском JS(типа, хеш пароля считать уже на нем)?

3) Допустим, у нас в базе есть табличка "пользователи"(с id), и табличка "разделы"(сайта)(тоже с id). Некоторые из пользователей модераторы. Один пользователь может модерировать несколько разделов, и у одного раздела может быть несколько модераторов. Как последнее наиболее рационально изобразить в базе?

lovesan

Подключился к стартапу, предложенному другом, в связи с чем отложил свой(но только на некоторое время). Вкратце — сделаем сайтец, будем навариваться на рекламе.

На мне техническая часть, т.е. я типа CTO. Причем буквально вся — т.е. ладно бы апач/nginx с похапе настраивать и на последнем клепать — хуй с ним, дак блять и верстка пока тоже висит на мне. И вот последний факт меня пиздец как уже подзаебал.

HTML(XHTML 1.0 Trans.), CSS(2.1) и JS это просто ебаный ад, сракотан и пиздец(и это я еще не говорю про кроссбраузерность). Я этот факт, к сожалению, неслабо так подзабыл, занимаясь в последние годы виндовыми API, синтаксическим анализом и другой заумной поебенью, а верстая максимум на XAML(и XAML, я скажу, это просто рай по сравнению с веб-технологиями).

Но ладно вроде как обещают на верстку кого-то еще подключить, а то у меня совсем крыша съедет.

lovesan

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

Сплошная вода, рассуждения какие-то, блядь, а в некоторых статьях по делу нихуя нет вообще( см. напр. en.wikipedia.org ).

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

У меня после прочтения таких статей руки сразу тянутся кому-нибудь уебать.

Вообще, веб и веб-программирование в частности, это одно сплошное ебаное хипстерство. Технологии какие-то до опиздения хипстерские, языки программирования хипстерские(особенно новомодные, типа python и ruby), и так далее. Блевать тянет.

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

lovesan

Кстати, вот, на тему #1781136 и #1783354

У MS есть пример простого Silverlight-приложения — часы.
msdn.microsoft.com

Я его запилил себе на гитхаб:
github.com

Фактически, это три файла:
1) декларативное описание внешнего вида приложения и анимаций:
github.com
2) логика, синхронизирующая анимацию с текущим временем:
github.com
3) точка входа в приложение(там же всякий обвес типа обработки случайных ошибок)
github.com

Компилируем .cs-файл компилятором C#, упаковываем полученную dll, два вышеописанных файла и манифест приложения в zip, и получаем приложение Silverlight. Остается добавить это в какой-нибудь HTML и получаем полноценный сайт, который можно запускать хоть под апачем(у меня там на гитхабе пример веб-сервера).

[ Кстати, с веб-бекендом на каком-нибудь PHP SL можно интегрировать через JSON. ]

Работает под всеми основными браузерами под виндой и макосью. Судя по заявляениям википедии, должно работать и под Moonlight 4, т.е. на прыщах и прочем.

Теперь вопрос — а как на HTML5 хотя бы подобную игрушечную штуку сделать как минимум так же легко, и добиться как минимум похожей переносимости приложения и не сильно худшей производительности?

Есть желающие запилить аналог на HTML5, и доказать какое SL "говно" и "нинужно"?

lovesan

Подводя итог #1781136

Я полностью согласен с @vt во всех мнениях, которые он там озвучил.

Нет, ну чуваки, я на самом деле не понимаю, нахуя html5 вообще, в принципе, нужен.

Если вам надо писать какую-то внутреннюю поебень для своей конторы, от которой надо максимум только то, чтобы она работала — то тут хватит с головой самого минимума HTML и JS.

Если нужно реально RIA, охуенное такое, фичастое RIA — то надо брать платформы для RIA.

На данный момент, имхо, самая фичастая и удобная RIA-платформа это сервелат(MS Silverlight).

Вот правда — прежде чем писать тут в комментах стандартную свою детскую поебень прыщеадептов про "проприетарщину", "ненужно" и прочее — пойдите и посмотрите этот самый сервелат, ну или то же WPF, о котором я часто говорю(сервелат это урезанное WPF).

Бля, все ваши HTML5 со всеми этими поебенями которые там есть — по сравнению с сервелатом смотрятся просто, ну, детскими. На самом деле.

А сервелат, кстати, еще и не тормозит, в отличие от жабаскрипта и сопутствующего говна.

И еще он уже есть практически везде
Да-да — Windows, Макось, Мобилки.
Да даже на прыщах есть вон Moonlight(который кстати развивается не без помощи MS).

А вот этот сраный HTML5 пока даже самые продвинутые браузеры еле-еле наполовину этот реализовали.

Бля, вот без троллинга. На полном серьзе говорю.

И такой момент, для любителей всяких там линуксов — да, сервелат можно использовать даже в связке с вашими любимыми апачем и похапе — совершенно необязательно писать на ASP.NET под IIS.

lovesan

А что все так носятся с HTML5?
Чем он такой "принципиальной новый", чем так отличается от HTML4/XHTML, что все с ним носятся как упоротые, и противопоставляют "старому" [X]HTML?
Тег video добавили? canvas? Не, ну это конечно круто(хотя еще можно поспорить — по мне так лучше старый добрый флеш и другие расширения, а не разжиревшие до опиздения, глючащие и тормозящие, браузеры, с претензиями на именования типа "операционная система"), но на такую уж охуеть какую принципиальную новизну не тянет.

Я долго и упорно читал и википедию, и даже W3C, но нихуя не понял всей охуительности и "принципиальной новизны" HTML5, о которой так все кричат. Честно.

lovesan

Бля, веб это реально говно. Говно, срань и блевотина.

[X]HTML[5], CSS, SVG, JavaScript, AJAX, ASP[.NET], Flash, PHP, Perl, Python, Ruby, MySQL, Apache, nginx, IIS, Linux — все эти технологии это невыразимо уебищный блевотный шлак.

Каждый из более-менее популярных веб-браузеров — IE, Firefox, Chrome, Opera, Safari — это просто куча говна. Куча кривого говна и пирамида костылей, которая тормозит и течет памятью изо всех дыр.

Среднестатистический программист под веб это либо даун-похапист, не умеющий даже читать по-английски, типа archimag, либо малолетний ебанат, специалист-по-всему, типа tia с ЛОРа или @iorlas, который дрочит на какой-нибудь модный "няшный" язык, типа бидона или раби.

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

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

И с технической точки зрения, и с точки зрения бизнеса — веб это полный, беспросветный, пиздец.

Ну и что? Зачем я это написал? Не знаю, просто попиздеть.