[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.31137 Reply
File: 07_009.jpg
Jpg, 62.06 KB, 1024×573 - Click the image to expand
edit Find source with google Find source with iqdb
07_009.jpg
В рамках треда предлагаю обсуждать веб как он есть, задавать ответы по темам верстки и серверново программирования, да и просто обсуждать всякие рющечки веба и пить чаек с печеньками.

>>u/62144 Собсно кафедра в университете. Полезные ссылочки >>u/91168 >>u/91394

Алсо PHP-тред >>23225 SQL-тред >>29820 Python-тред >>28158

Тред создан во имя поисковой оптимизации.
>> No.31138 Reply
>>31137
> серверново
>> No.31191 Reply
>>31137
> Тред создан во имя поисковой оптимизации.
Не нужно. Оставь православную кафедру сайтостроя, она и так медленная.
>> No.31192 Reply
>>31137
> Тред создан во имя поисковой оптимизации.
Но ведь поисковая оптимизация не нужна. Желаю тем, кто её придумал и пользуется ей, основательно прожариться в аду до угольно-чёрного цвета. И лично тебе тоже, ОП, если ты занимешься SEO.
>> No.31202 Reply
File: iu-head.png
Png, 12.22 KB, 731×62 - Click the image to expand
edit Find source with google Find source with iqdb
iu-head.png
Как делать подобные спрайты? Где-то видел онлайн-ресурс для подобного рода дел.
>> No.31205 Reply
>>31137
Анон, объясни одну вещь.
На сайте есть форма, данные которой могут обрабатываться на сервере. Отправляем на сервер с помощью Get или post запроса.
Однако как отправить в другую сторону - с сервера на сайт?
>> No.31206 Reply
>> No.31226 Reply
>>31202
Поищи на хабре, там каждый месяц или около того делают компиляции с полезных вебмакаке ресурсов.
>> No.31228 Reply
>>31202
Почему ты называешь это изображение спрайтом?
>> No.31244 Reply
Доброго дня.
А никто не подскажет, где можно найти интересные развивающие задачки по вебскриптингу или просто фронтенду?
ну или даже не так, где сейчас можно в полуразвлекающей форме выучить всякие тонкости и т.д?
Просто сейчас настроение такое, что хочется чего-то нового и полезного, но в тоже время и без излишних превозмогательств.
>> No.31245 Reply
>>31244
И да, сейчас читаю говнокод.сру. Частично подходит под реквест, узнал немного нового.
Хм. Еще начал читать книгу о регулярках, но как-то они не такие интересные как казалось.
>> No.31246 Reply
>>31245
Попробуй регулярки Perl 6.
>> No.31289 Reply
>>31137
Анончик, помогай, я запарился гуглить.
Разобрался в отправке POST запросов со страницы на сервер, даже смог выполнить подгрузку данных с сервера на страницу с помощью Ajax. Но все это происходит между страницей и сервером на котором крутится сайт. А как сделать запрос на другой сайт? И принять ответ. Гугл указал мне на кроссдоменные запросы, то ли оно? Хочется использовать API других сайтов, того же lastfm, к примеру. Подскажи, анон.
>> No.31290 Reply
>>31289
гугли crossdomain.xml и его правила.
>> No.31291 Reply
>>31290
к тому же у популярных сайтов давно есть апи разные, это стоит тоже погуглить, у ластфм почти наверняка.
>> No.31303 Reply
>>31290
Погуглил, ужаснулся. Все делается через костыли с флешами и прочим срамом.
Уж проще написать программу, которая будет сохранять инфу в файле на сервере, а страница будет просто подгружать данные.
>> No.31304 Reply
>>31137
Почему-то не работает onreadystatechange обработчик.
Сервер точно отправляет ответ(работает на одном компе с браузером), который отображатся в ошибках firebug с кодом 200.
http://pastebin.com/YJZ8BqsW
>> No.31305 Reply
>>31304
У тебя проблема с зонами видимости переменных — скобки фигурные проверь.
200 — Ok
>> No.31306 Reply
>>31304
во-первых, ты используешь объект, т.е. должен писать new XMLHttpRequest, во-вторых, передавай true - это ведь должен быть boolean, а не String приводимый к Boolean, в случае с проверкой на положительный результат все получится, а вот с отрицательным - нет. ну и напоследок - у тебя проблемы происходят именно из-за использования функции onload - страница грузится, но еще окончательно не сформировалась, используй какой-нибудь аналог onready из jQuery.

index.php
<html>
<head>
	<meta charset='utf-8' >
<script>
function test()
{
		var tex = document.getElementById(1);
		var but = document.getElementById(2);
		var req = null;
        tex.value = "";
        req = new XMLHttpRequest();
        req.open("GET", "index.php", true);
        req.send();
 
		req.onreadystatechange = function()
		{
		    if(req.readyState == 4 && req.status == 200)
		    {
		            alert(req.responseText)
		    }
		}
}
</script>
</head>
<body>
<input type='button' id='2' onclick='test()'> <input type='text' value='test' id='1'>
</body>
</html>
index.php
<?php
header ("Content-Type:text/xml");
echo '<h1>test</h1>';
>> No.31308 Reply
>>31304
ну и в качестве завершающего аккорда - у тебя неправильно расположен обратный вызов на req, при нажатии на кнопку, создается нвыой объект req, а вот у него-то и нет onreadystatechange, т.е. у тебя есть вариант каждый раз задавть функцию обработчика события перед отправкой сообщения (req.send(null)), т.е. >>31305 - прав.

адье, уебки, больше здесь делать нечего.
>> No.31312 Reply
Скобки проверил - все правильно.
С onload у меня все скрипты всегда работали, к тому же скрипт внизу страницы т.е загружается последним. Проблема именно в
onreadystatechange который не срабатывает, хотя ответ приходит. http://pastebin.com/NTAg7agy
>> No.31313 Reply
>>31312
Нужно было добавить overrideMimeType к req и страницу с которой идет запрос загружать с того же сервера.
Вопрос снят.
>> No.31318 Reply
File: -.jpg
Jpg, 64.59 KB, 385×562 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpg
>>31137
Репост из универсача, вся атктивность вроде тут.
>>/u/99789
>> No.31375 Reply
>>31290
>>31291
Поясняйте, аноны, как обращаться к API. Гугл навел меня на Json и Jsonp. Однако я не могу найти понятного и вменяемого примера. Таковые есть на jQuery, но это же совсем не тру, хочется JS.
>> No.31378 Reply
>>31375
jQuery - это тру JS.
>> No.31381 Reply
>>31378
Библиотеки не нужны, пока не буду хорошо владеть чистым JS.
>> No.31382 Reply
>>31381
Чистый JS - это jQuery. JS без jQuery - это C без stdlib и самого C.
>> No.31383 Reply
>>31382
Очевидно, все, что реализовано в JQuery можно написать самому на JS.
>> No.31384 Reply
>>31382
> Чистый JS - это jQuery
Bitches don't know about my nodeJS.
>>31375
> Json
Формат сериализации данных, можно самому парсить, можно использовать eval, а в фреймворках есть уже готовые функции для обработки.
>> No.31387 Reply
File: macro-пожечь-ересь.png
Png, 362.80 KB, 560×420 - Click the image to expand
edit Find source with google Find source with iqdb
macro-пожечь-ересь.png
>>31384
> можно использовать eval
>> No.31389 Reply
>>31387
можно != нужно
>> No.31394 Reply
>>31383
Очевидно, все, что реализовано в C, можно реализовать на Ассемблере.
>> No.31402 Reply
>>31394
Да, этим я и буду заниматься, няша.
>> No.31404 Reply
File: 1368088126661.png
Png, 1.32 KB, 300×20
edit Find source with google Find source with iqdb
1368088126661.png
File: 66213573201210191...
Jpg, 223.27 KB, 1600×852
edit Find source with google Find source with iqdb
66213573201210191511332477148891560_008.jpg
File: 66213573201210191...
Jpg, 639.39 KB, 1400×788
edit Find source with google Find source with iqdb
66213573201210191511332477148891560_074.jpg

>>31394
А если асм этот от LLVM то компилировать код в JS.
>>31375
> Json
В норм браузерах давно разбирается при помощи встроенных средств безо всякой гадости типа eval. Для всех остальных можно нагулить polyfill. Это к слову. Кстати читни http://learn.javascript.ru/json
> не тру, хочется JS.
Тебе поможет http://xmlhttprequest.ru/. Суть такова: берёшь и делаешь запрос на сервер. Сервер должен тебе вернуть ответ в удобоваримом виде. Захочешь кусок htmlесли ты всё равно данные просто вставляешь в страницу то зойчем платить больше?, а захочешь тебе сервер и json.
>>31378
>>31382
http://vanilla-js.com/ перевод http://habrahabr.ru/post/150594/
Асло спешу заметить, что жиркъюер ваш далеко не единственное решение. И даже у него есть аналоги. Zepto.js оставляет нашего слоупока позади, AngularJS так вообще ногой с разворота его. А stdlib в мире js это Lo-Dash скорее.
>> No.31624 Reply
File: 1368813317069.png
Png, 181.13 KB, 466×800 - Click the image to expand
edit Find source with google Find source with iqdb
1368813317069.png
Доброго всем дня. Прошу не игнорировать мой пост, он очень важен для меня.
И так, каким должно быть портфолио? Направление - фронтэнд.
На что смотрят? На сам сайт портфолио или больше на примеры уже на нем? Какие они должны быть? Ссылочки на годные портфолио?
Вот не могу пока определиться с общей моделью. Одно время хотел даже полуигру-полусайт сделать, видел у одного такое портфолио, теперь сомневаюсь. Да и вообще что-то не могу сформировать идею.
>> No.31625 Reply
>>31624
Тот же вопрос по бэкенду.
>> No.31626 Reply
>>31624
1) Покорность
2) Готовность копаться в любом говне
>> No.31642 Reply
>>31626
Сразу в голове рисуется БСДМ с элементами копро ^__^.
>> No.31650 Reply
Аноны, может в этом филиале знают ответ на это >>/u/100860 ?
>> No.31657 Reply
>>31650
В твоем случае с сортировкой по возрастанию -1 и 0 дает одинаковый результат, да. Как и 1 и 0 при сортировке на убывание.
И да, там внутри не обычный метод сортировки пузырьком, а модифицированный вариант. Предполагаю, что он не всегда дергает числа в строго порядке. Поэтому и 1, и -1, и 0 нужны.
Хм. надо бы это сейчас проверить, но чет лень так.

Бампаю свой вопрос.
>>31624
>> No.31667 Reply
File: codemonks.jpg
Jpg, 135.74 KB, 800×535 - Click the image to expand
edit Find source with google Find source with iqdb
codemonks.jpg
>>31657
> Бампаю свой вопрос.
Ты опоздал на 10 лет. Интернет уже давно не растёт, и большинство из тех, кому возможно были бы нужны сайты, ушли в соцсети.
Никому твоё портфолио yf[eq yt dchfkjcm.
>> No.31668 Reply
File: preview_1369300192.jpg
Jpg, 67.61 KB, 630×630 - Click the image to expand
edit Find source with google Find source with iqdb
preview_1369300192.jpg
>>31667
Какие ваши доказательства?
>> No.31669 Reply
>>31626
>>31667
Шож вы озлобленные тут такие.

>>31650
+ еще ноль может быть нужен в некоторых редких случаях в своих функциях сортировки.
>> No.31670 Reply
>>31657
> там внутри не обычный метод сортировки пузырьком
Насколько мне известно там quicksort, пузырек вроде применяется лишь в образовательных целях. Спасибо тебе за ответ.
>> No.31692 Reply
>>31137
Анон, я тут играюсь с php. Так вот, я подумал может отправлять серверу не куски информации из form а группировать все что нужно в один JSON и отправлять его? Так вообще делают? Если да то как?
>> No.31694 Reply
>> No.31695 Reply
>>31692
Даже нет, вот так:
''
jQuery('#myForm').live('submit',function(event) {
$.ajax({
    url: 'one.php',
    type: 'POST',
    dataType: 'json',
    data: $('#myForm').serialize(),
    success: function( data ) {
        for(var id in data) {
            jQuery('#' + id).html(data[id]);
        }
    }
});
return false;
});
''
>> No.31814 Reply
File: Q2gxaxu8YTA.jpg
Jpg, 48.72 KB, 400×800 - Click the image to expand
edit Find source with google Find source with iqdb
Q2gxaxu8YTA.jpg
>>31137
Возможно сделать тоже самое визуально, но более элегантно в плане кода? Отобразить текст (абзац) в теге <p> с помощью CSS: http://cssdesk.com/gumNB

Как на этом сайте примерно: http://www.saforian.com/ , но они оборачивают каждую строку в span + br. Я ищу более изящное решение.

Заранее вагоны розовых печенек :3
>> No.31815 Reply
>>31814
Прям без хаков низя. Можно попробовать нечто типа Lettering.js https://github.com/davatron5000/Lettering.js
http://jsfiddle.net/NL9RY/

Плугинка небольшая => можешь сам её поковырять и довести до вменяемого состояния.

Ну или вот ещё похожий хак http://codepen.io/jnowland/details/AifjK.

Без js тут никак.
>> No.31825 Reply
Нужны исходники кредитного калькулятора.
Заранее спасибо.
>> No.31832 Reply
>>31825
Ну нагугли, открой отладчик и вытащи, очевидно же.
Если нет, то кидай сюда конкретно, что надо, формулы , авось кто напишет за тебя.
>> No.33447 Reply
File: 452_large.jpg
Jpg, 157.34 KB, 449×850 - Click the image to expand
edit Find source with google Find source with iqdb
452_large.jpg
Спрошу тут, ткк треда не нашел.
Что представляет собою .net разработчик и C# в частности?
Я учил яваскрипт, чтоб стать успешной макакой, все кукарекали, что очень востребованный язык. Теперь же в своем городе ни одного курса или вакансии джуниора не могу найти. Зато есть курсы на .net.
Так вот, слишком ли оно отличается и стоит ли идти в этмо направлении?
>> No.33489 Reply
>>33447
Вангую шо твая будущая судьба не зависит от языка программирования.
>> No.33501 Reply
File: tumblr_mbumzhpEeI1r94e9jo1_500.gif
Gif, 988.86 KB, 500×270 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_mbumzhpEeI1r94e9jo1_500.gif
>>33447
Сейчас ты максимум сможешь пойти каким-нибудь верстальщиком (ты же должен мочь в html и css).
Работодателям нужны новичок на маленькую зарплату, который будет верстать, править кривые поделки прошлых таких же "джуниоров", да и вообще тонуть в скучной рутине. Хотя так везде, по началу. А именно js-девелоперы требуются в более менее серьезные проекты с соответствующими скиллами. Выучи пыху, глядишь и js пригодится — будешь сайты клепать.

А решетка... Да, она востребование, чем js. И вакансий хватает, только и конкурентов хватает, особенно с начальным уровнем. А что мешает взять и самому все изучить, что дают на курсах? И определился бы ты сначала с направлением, в котором хочешь работать.
>> No.33506 Reply
>>33501
Да все все могут сами, ага. Но на курсах если меня возмут и они будут норм результат немного меньше будет зависеть от лени (а она у меня огого).
Так в чем суть решетки в вебе? Посмотрел начальный проект в майрософт вижуал, разметка там пиздец, если делать изначально на стороне, то с доделкой лишний напряг. В чем вин тогда? Вся мякотка в бэкенде и замене пыхи? Ну поясните, всеж мы люди, все мы человеки.
>> No.33528 Reply
File: Лямбдазамыкания.png
Png, 17.73 KB, 768×789 - Click the image to expand
edit Find source with google Find source with iqdb
Лямбдазамыкания.png
>>33506
> В чем вин тогда?
Ну сам посмотри:
>> No.33538 Reply
>>33506
Сомневаюсь, что так уж много набирают джуниоров для всяких там ASP и подобных монстров. Скорее будешь под десктоп писать.
>> No.33601 Reply
Чем ASP Classic хуже от MVC?
А, котаны? В чем суть этого всего вообще.
>> No.33633 Reply
>>33447
Учи питон, C# разработчик представляет забитого человека, на чем писать не так уж и важно с# с++ java python (между ними есть разница, какие то подходят для одного другие для другого ) только платят по разному, я пишу на C# и платят так себе, хватает только на поесть, python намного проще в изучении и как не странно гораздо более мощен чем C#. Разработчик на питоне гораздо больше получает, по крайней мере в моей глуши. Если бы я не был таким бесхарактерным давно бы уехал в Питер.
>> No.33634 Reply
>>33633
> C# разработчик представляет забитого человека
> я пишу на C# и платят так себе, хватает только на поесть
Не суди людей по себе. В моём окружении всё наоборот - сишарпобоги успешны, а задроты-кодеры на питоне представляют собой крайне жалкое зрелище.
>> No.33635 Reply
File: -.jpeg
Jpeg, 125.96 KB, 1280×720 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpeg
>>33634
Не суди людей по себе. В моём окружении всё наоборот - питонобоги успешны, а задроты-кодеры на сишарпе представляют собой крайне жалкое зрелище.
>> No.33636 Reply
File: sample-b1f71923a5853271e61b81ec05a66330.jpg
Jpg, 131.97 KB, 850×677 - Click the image to expand
edit Find source with google Find source with iqdb
sample-b1f71923a5853271e61b81ec05a66330.jpg
Добрач, не работает id селектор в css. HTML:
<body id="1"></body>
Если в css написать
body {background-image: url(images/background.jpg);} - результат ожидаемый, а вот если
#1 или body#1 или *#1 {background-image: url(images/background.jpg);} - получаю пустую страницу.
Браузер - Огнелис 21.0.
>> No.33638 Reply
>>33636
> > The id attribute value must begin with a letter in the roman alphabet (a–z or A–Z); this can be followed by any combination of letters (a–z or A–Z), digits (0–9), hyphens (-), underscores (_), colons (:), and periods (.). The id value is case sensitive, thus <span id="me">This is me</span> and <span id="ME">This is me</a> would be considered to be separate and uniquely identifiable elements on the same web page.
>> No.33644 Reply
File: 1338285888903.jpg
Jpg, 116.63 KB, 620×916 - Click the image to expand
edit Find source with google Find source with iqdb
1338285888903.jpg
>>33638
Ну и ну, кот бы подумал.
Поправил и заработало, спасибо.
>> No.33646 Reply
>>33634
А где ты живешь, если не секрет?
>> No.33649 Reply
>>33633
Не удивительно - сисярп годен только на то, чтобы формочки клепать. А за этот макакин труд много платить естественно не будут.
>> No.33650 Reply
File: питон.jpg
Jpg, 98.89 KB, 604×525 - Click the image to expand
edit Find source with google Find source with iqdb
питон.jpg
>>33633
> и как не странно гораздо более мощен чем C#
orly?
>> No.33652 Reply
File: japan-girls.jpg
Jpg, 57.19 KB, 622×933 - Click the image to expand
edit Find source with google Find source with iqdb
japan-girls.jpg
Решил запилить cgi-скрипт на С++(компилятор Borland C++ 3.11, 16-бит) на локалхосте(денвер), но вот проблема - не запускается. Права на директорию настроил правильно. Не могу понять в чем проблема, то ли в денвере, то ли в 16-битном скрипте. ОС Windows 7.

Ошибка Denwer
> Вероятнее всего, скрипт, который запускает данная страница, не смог корректно выполниться
>> No.33653 Reply
File: sb1.jpg
Jpg, 594.43 KB, 1662×1788 - Click the image to expand
edit Find source with google Find source with iqdb
sb1.jpg
>>33652
скомпилировал в 6-м билдере С++ и все заработало
>> No.33656 Reply
>>33650
По поводу картинки: вброшу, что округление результатов действительно не нужно.
Я никогда не округляю результат, вместо этого форматирую строку при печати числа.

Нет, я не Гвидо
>> No.33710 Reply
File: -.png
Png, 15.05 KB, 320×638 - Click the image to expand
edit Find source with google Find source with iqdb
-.png
Анон, есть интересный плагин Stylebot, который позволяет как устанавливать заготовленные темы, так и править стили CSS.
Так вот, у меня вопрос: Что нужно прописать, чтобы все посты были фиксированного размера и располагались по середине?
>> No.33711 Reply
>>33710
.post {
    width:600px;
    margin:0px auto;
}
>> No.33712 Reply
>>33711
Огромное спасибо.
>> No.33733 Reply
>>31137
Не знаю, к вам это или нет.
Подскажи, анон, с чего начать, если я хочу парсить Доброчан? Имею медленные интернеты, поэтому нажатие f5 довольно болезненно, а подгружать сообщения хочется.
Как реализована подгрузка сообщений в Куклоскрипте?
>> No.33738 Reply
>>33733
Погугли: <язык_нейм> html parsing.
> Как реализована подгрузка сообщений в Куклоскрипте?
На доброчане через местный API (http://dobrochan.ru/help/api ), на других бордах скачивается вся страница и из нее выдираются новые посты.
>> No.33744 Reply
>>33738
Благодарю, попробую использовать библиотеку Curl с языком Си.
>> No.33758 Reply
Антон, допустим, у тебя есть код на js, который должен отправлять запрос куда-либо, при этом в теле запроса, кроме всего прочего, он должен передавать что-либо, что юзеру не обязательно знать (твой (не юзера, а именно твой) логин-пороль от аккаунта вконтактике, ответ на секретный вопрос к твоему wm-кошельку или еще что). Как именно это организовывают в приличном обществе? Вот мое видение вариантов:
1)Храним все в некоем файле, из которого это дело читаем через что-нибудь вроде ``xhr = new XMLHttpRequest();
  xhr.open('GET', "secret.file", false);``. Но разве тогда юзер не может взять и у себя в браузере открыть адрес foo-bar.com/secret.file и прочитать это?
2)Организовать некий скрипт, который будет обрабатывать запрос по адресу foo-bar.com/getSecretFile, и пост-запросом отдавать нам наши данные. Но тогда пользователь сможет каким-нибудь курлом отправить запрос по адресу foo-bar.com/getSecretFile, и опять же мы все проебываем.
Что делать, посоны?
>> No.33761 Reply
>>33758
почему бы тебе не вынести этот запрос на сервер?
>> No.33762 Reply
>>33758
Сама постановка задачи не совсем правильная. Любой ресурс обрабатывающийся на клиенте может быть перехвачен клиентом. Так что клиенту можно отправлять или защифрованную хуитку, с которой он ничего делать не может (может только хранить), либо ничего.
>> No.33763 Reply
>>33758
> у тебя есть код на js, который должен отправлять запрос куда-либо, при этом в теле запроса, кроме всего прочего, он должен передавать что-либо, что юзеру не обязательно знать
Не делай так. Никогда не делай так. Всё, что ты отправляешь юзеру, не должно иметь никакой возможности причинить тебе вред.

Подними сервер-прослойку.
>> No.33813 Reply
Посоны, тут такой вопрос: как правильно пользоваться шаблонизаторами?
Ну, динамические страницы естественно создавать через них. А статические? Допустим, у меня есть навигационный бар сверху, он имеется вообще на каждой странице. 10 страниц статистических. Я должен пускать их через шаблонизатор динамически или держать у себя на диске?
>> No.33816 Reply
>>33813
Анта бака?
> как правильно пользоваться шаблонизаторами?
Правильно так: если удобнее с шаблонизатором, то применять, а если удобнее без шаблонизатора, то не применять.
> динамические страницы
> статические страницы
А отличие между ними ты понимаешь? Статика - это просто файлики, отдаваемые без кокихтоу преобразований. Динамика: всё что обрабатывается скриптами.
> Допустим, у меня есть навигационный бар сверху, он имеется вообще на каждой странице.
Ну вот. Ты уже динамически прикрепляешь к ним нав. бар. Не ручками же прикрепляешь?
> Я должен пускать их через шаблонизатор динамически или держать у себя на диске?
> держать у себя на диске
Это называется кешированием. Можно пропустить нечто через шаблон и закешировать результат же. А ещё можно сам шаблон закешировать. В смысле закешировать результат парсинга шаблона и сохранить это всё в виде используемого ЯП
например php.
Когда надо применять кеширование? Когда у нас есть нечто, что может вычисляться редко, а результат использоваться часто И кеширование в конечном итоге увеличивает быстродействие.

Ладно. Это всё слова. Вот тебе совет, который даст тебе ответы на твои вопросы достаточно нетипичный совет для вебдевелоперов:
  • напиши свой шаблонизатор со всякими условиями и циклами.
  • измерь производительность. Как внутри на уровне самого скрипта, так и снаружи на уровне отдачи браузеру
  • попробуй сохранять результат на диск и потом использовать его снова.
  • измерь производительность. При чём измерь все части этого. В том числе и скорость самого кеширования. Учитывай как скорость работы скрипта с ещё незакешированными данными, так и после кеширования.
  • попробуй кешировать результат не на диск, а в оперативную память. Например используя memcache. Измерь производительность.
  • попробуй использовать кеширующий сервер. Nginx например.
Кроме того прими во внимание использование использование памяти, ресурсов процессора и затраты на файловое хранилище. Попробуй прикинуть как оно себя поведёт, когда у тебя более сложный шаблон, когда нагрузка на сайтег большая и т.д.
>> No.33970 Reply
File: c075b4eae32274dee540ee7def1c7d7d.jpg
Jpg, 202.83 KB, 850×531 - Click the image to expand
edit Find source with google Find source with iqdb
c075b4eae32274dee540ee7def1c7d7d.jpg
Анон, как на js получить background-color div'а?
var x = document.getElementById("divId");
alert(x.style.backgroundColor);
Получаю пустую строку, но в документе есть тег style, где этот цвет задан красным(и отображается как красный).
>> No.33971 Reply
File: 57349_tribune_futurama.gif
Gif, 15.62 KB, 352×458 - Click the image to expand
edit Find source with google Find source with iqdb
57349_tribune_futurama.gif
>>33970
console.log($('#divId').css('background-color'));
>> No.33972 Reply
File: 1376910555395.png
Png, 0.92 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1376910555395.png
>>33970
> Получаю пустую строку, но в документе есть тег style, где этот цвет задан красным(и отображается как красный).
Свойства в js != свойствам в css же. Да и зачем это всё нужно тебе? Лучше всё сразу в css и пихай(ну анимации там или ещё чего). А во всякие x.style.* значения только записывай. Когда перезапишешь значение при помощи js тогда и заполнятся значения style Но ты мне не верь. Сам проверь.
>> No.33974 Reply
>>33970
Алсо гугли getComputedStyle и currentStyle.
>> No.34138 Reply
File: Image-031.png
Png, 6.84 KB, 520×97 - Click the image to expand
edit Find source with google Find source with iqdb
Image-031.png
Анон, как твитор показывает книпки Reply Retweet Favorite More только при наведении на твит? Помоги такое на css сделать. Сколько мучаюсь ничего не получается.
>> No.34139 Reply
>>34138
> Помоги такое на css сделать. Сколько мучаюсь ничего не получается.
Очевидное:
container elem {
  display: none; /* скрыть */
}
container:hover elem {
  display: block; /* ну или как там у тебя */
}
Не работает?
>> No.34140 Reply
>>34139
Я думал :hover применяется только последнему элементу. Мучался, на jQuery уже написал, а оказывается всё так просто. Спасибо!
>> No.34156 Reply
>>31137
Привет, няши.
Есть одна проблема, которая, скорее всего, очень легко решается, но я не знаю как. Необходимо зафиксировать элементы рядом с нижней кромкой окна браузера, ну вы поняли. В данный момент я просто использую position:fixed; top:244px; right:55px; bottom:0px;, что очевидным образом съезжает после изменения масштаба страницы. Что делать?
>> No.34157 Reply
>>34156
Задай положение в процентах а не пикселах.
>> No.34158 Reply
>>34156
> top:244px;
Это не нужно.
>> No.34160 Reply
>>34156
Обновляй положение при ресайзе, очевидно же.
>> No.34161 Reply
>>34156
Есть оче много разных вариантов решения подобной проблемы. Выбирай из google://sticky+footer+css Нет, ну серьёзно. Дофига же вариантов именно подобной няшки. Выбирай по вкусу, но старайся смотреть на дату ибо слишком старые будут содержать всякий мусор для всяких IE6.
>> No.34327 Reply
Анон, есть превьюшка поста(только текст) внутри div с постоянной шириной и высотой. Нужно обрезать текст так, что бы он не вылазил за блок. overflow:hidden может разрезать строку по горизонтали и этот текст можно выделять мышкой - не вариант. Разбить текст по строкам на стороне сеервера и для последней задать text-overflow: ellipsis - ширина вимволов на разных раскладках очень отличается(этот вариант не подходит для превью с картинкой).
>> No.34364 Reply
File: I-am-fucking-Loser.jpg
Jpg, 31.02 KB, 460×370 - Click the image to expand
edit Find source with google Find source with iqdb
I-am-fucking-Loser.jpg
>>31137
Привет, Лиспач. У меня проблема. На сайте есть страница с кучей формочек. Нужна возможность отправлять их по одной через Аяксы (уже реализовал) и отпровлять их все разом и редиректиться на другую страницу (вот с этим возникли какие-то проблемы)
Так выглядит функция отправки. Все формочки имеют одинаковое имя.
    var forms = document.getElementsByName('newflow-form');
    var form_data ='';
    for (var i = 0; i<forms.length; i++){
        form_data = form_data + $('#'+forms[i].id).serialize();
    }
    $.post('auto',form_data);
Почему-то до пхп скрипта доходит только первая форма или я идиот и не понял как обробатывать по человечески их.
>> No.34365 Reply
>>34364
Наверняка это не влияет на результат, но
1) почему у тебя form_data = form_dat + ... вместо form_data += ... 2) почему бы не использовать jquery селекторы для форм типа
$('[name=newflow-form]').each(function() {
  form_data += $(this).serialize();
});
>> No.34366 Reply
>>34365
1) у меня какое-то отторжение к операторам типа +=, но это действительно не влияет на результат.
2) про такую возможность не знал, но она тоже ничего не изменила.
>> No.36234 Reply
Анон, поясни за выравнивание по центру блока неизвестной ширины, подстраивающейся под контент. Неужели вот это решение единственное и нет ничего адекватнее даже в этих ваших css3/html5?
http://www.artlebedev.ru/tools/technogrette/html/align-center/
Тут обёрточный блок, а это выражение стиля через html вместо css, идеологически тупо.
>> No.36253 Reply
>>36234
Теперь мне это решение кажется простым и хорошим. Не могу найти решение для того же выравнивания по центру только по вертикали без знания, соответственно, высоты. CSS - это ад. Я что-то делаю не так. Либо они. Но W3С и разрабы браузеров "не дураки"(ц), значит должно быть нормальное решение.
>> No.36254 Reply
>>36253
А ты хотел простого решения выровняй то, не знаю что, там, не знаю где?
>> No.36255 Reply
>>36254
Да. А я должен за компьютер всё высчитывать на пальцах? В flexbox модели даже есть такие штуки, но он в IE будет только с 11 версии, насколько я понял.
>> No.36273 Reply
>>34364
Отправь их циклом потом сделай жаваскриптом редирект.
Зачем усложнять?
Или есть чтото из за чего требуеться делать именно так?
Я не знаток жаваскрипта и пост запросов, но меня насторожило что у всех одинаковое имя.
выведи алертом form_data
>> No.36283 Reply
>>36273
> выведи алертом
http://habrahabr.ru/post/188066/ же.
>> No.36295 Reply
>>36283
спасибо не знал
>> No.37254 Reply
В /u/ тред неактивен, репостну сюда.
>>/u/115999
>> No.37261 Reply
>>37254

Скриншот вернул меня в 2000-й год. Какая это версия огнелиса, няша?

И какого дьявола ты просто описываешь проблему, а исходных данных не даёшь? Код юзерстиля в студию. И скринкаст запиши, если не в лом.
>> No.37274 Reply
>>37261
> Какая это версия огнелиса, няша?
Последняя. Свистоперделками переболел в детстве, да и большие значки - форменное расточительство на маленьком экране ноута.
> скринкаст
Ват?
Код вот
@-moz-document url-prefix("http://dobrochan.com") {
    body {
        background: linear-gradient(#ffffff, #000000)
    }
}
Таки ломается оно только в длинных тредах (или если даже несколько небольших тредов развернуть, чтоб страницу достаточно растянуло), и скрипты тут похоже не при чём. Я в любом случае не понимаю из-за чего такое может происходить.
>> No.37277 Reply
>>37274

Применил означенный стиль. Всё работает, никаких косяков.
> > скринкаст
> Ват?
Ну видео с экрана же.
>> No.37283 Reply
File: video.flv
Flv, 22.85 KB - Click the image to open file
video.flv
>>37277
Ну если тебе от этого понятней станет, хотя по скриншоту и так всё видно.
>> No.37284 Reply
>>37283

Забавно, у меня такого нет. Похоже на баг фаерфокса.
>> No.37349 Reply
>>37284
Твоя правда. Ещё с ещё 2011 замечено и до сих пор не пофикшено. Судя по всему, где-то замешан signed short, т.к. ломается примерно на 32к пикселе. Вот ведь ленивые скотины.
>> No.37879 Reply
File: ndoua_77_ye_by_gabardin-d6izl0y.jpg
Jpg, 86.18 KB, 627×940 - Click the image to expand
edit Find source with google Find source with iqdb
ndoua_77_ye_by_gabardin-d6izl0y.jpg
Не нашел Официального Эрланг-треда, поэтому спрошу здесь.
Прочитал я по нему туториал по диагонали и решил что-нибудь простенькое написать, имиджборду например.
Собственно какой веб-сервер нынче в моде (cowboy, yaws или еще какой), что там есть для html-темплейтов и для доступа к базам данных например?
Слышал слух что какой-то rebar для организации проектов моден.
>> No.37898 Reply
>>37879
Есть конфа, живая erlang-talks@conference.jabber.ru
>> No.37899 Reply
>>37898
Я как-то стесняюсь.
>> No.37940 Reply
Хочу написать свою имиджборду, и не знаю на чем писать.
Немного знаю перл, но не знаю похапе.
Писать на перле, или учить для этого пхп?
>> No.37941 Reply
>>37940
Лучше найди язык, на котором ещё никто не писал имиджборду, а то что ты как хеловорлдщик какой.
>> No.37942 Reply
>>37941
Ну надо же с чего-то начинать :3. Да и размещать в интернете я ее скорее всего не буду, просто мне совсем нечего делать.
>> No.37943 Reply
>>37942
Возьми кресты погрузись в подвал программирования. Попутно изучишь sql javascript и html.
А после крестов сам черт тебе не брат. Если решишься с нуля все писать буст азио тебе в помощь.
>> No.37994 Reply
>>37943
Веб на C++? Это... сильно. Даже вдруг повеяло небритыми мускулистыми лесорубами, ведущими суровую аскетичную жизнь вдали от благ цивилизации. Я бы подвачевал на такой борде.
Хотя я часто вздыхаю с облегчением, когда понимаю, что больше никогда не увижу boost::phoenix и spirit.
>> No.38000 Reply
>>37943
Но вот вопрос: зойчем? Добрый дядя Позвонилон и Ко уже четыре года как опубликовали HPHP, да и вообще, веб куда больше заинтересован в скорости разработки, нежели в скорости работы конечного результата. Кресты здесь ну очень неуместны.
>> No.38001 Reply
>>37994
Было бы у меня больше времени и напарник я бы пописал такую бороду. Да даже черт с ним со временем найду, но нужен человек с которым можно что то обсудить, продумать архитектуру, который не даст плюнуть на это дело одним своим наличием.

>>38000
Для развития же.
К тому же знания о том как оно все работает внутри часто помогают сделать правильный выбор. На крестах с последним стандартом и бустом писать весьма быстро выходит.
Не могу сравнить с питоном или php т.к. не решал сходные задачи на них(думаю на питоне все таки побыстрей получится). Но С# по скорости разработки кресты делают.
Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
>> No.38008 Reply
File: 2010_04_04_13_13_s06_radikal_ru_i179_1004_c9_e2b9bc0f0bc1.jpg
Jpg, 78.21 KB, 450×607 - Click the image to expand
edit Find source with google Find source with iqdb
2010_04_04_13_13_s06_radikal_ru_i179_1004_c9_e2b9bc0f0bc1.jpg
>>38001
> и бустом писать весьма быстро выходит.
Ты плохо знаешь буст, няша. Когда из-за ошибки в крошечном однострочнике компилятор вываливает на тебя десятки килобайт нечитаемых сообщений, и единственный способ её найти -- перебирать костылики по одному (каждый раз всё это перекомпиливая, что с бустом... весьма неспешно), разработка не очень быстра.
> Но С# по скорости разработки кресты делают.
Я давно не работал с решёткой, но просто не стоит работать с ней как с крестами.
>> No.38009 Reply
>>38001
> Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
Нонсенс. От архитектуры может зависеть сложность поддержки, расширения, чего угодно, только не разработки (т.е. решения конкретной задачи в конретный момент времени).
>> No.38010 Reply
>>38000
Для скорости разработки лучше руби/питон. Пхп - это для скорости обучения и дешёвой рабочей сила.
>>38001
> Но С# по скорости разработки кресты делают.
Шутишь? Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
> от продуманности архитектуры
Архитектуры чего именно?
>> No.38012 Reply
>>38010
> Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
Щас он тебе про умные указатели расскажет.
>> No.38014 Reply
>>38001
> Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
Скорость разработки зависит и от архитектуры, и от языка.
>> No.38015 Reply
>>38012
> > Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
Но почему? Всё зависит же от скилла программиста.
>> No.38017 Reply
Анон, помоги реализовать! Нужно написать скрипт для браузера , который чистит куки и кэш и перезапускает страницу. С меня пак добра и лучи света.
>> No.38018 Reply
>>38008
Зачем ты каждый раз перекомпилируешь буст? Собери его уже наконец. Ну или если ты под линуксами просто поставь пакет с бустом.
> > Я давно не работал с решёткой, но просто не стоит работать с ней как с крестами.
Я и не работая с ней как с крестами, я пользуюсь модным linq стандартными классами для хранения настроек, интерфейсами, делегатами и кучкой других штук делающих программирование более приятнам.

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

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

И сравни с архитектурой где новый функционал добавляеться плагинами к примеру ну или хотябы новым классом. Максимум посмотреть достаточно тривиальный код добавления плагина и требования к оформлению самого плагина.

>>38010
> > Для скорости разработки лучше руби/питон
В этом я соглашусь с тобой. Но для понимания сути тм кресты подходят как никто другой. Местами они позаумней хаскеля могут быть(привет из мира шаблонов).

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

>>38012
Угадал

>>38015
Еще от задачи, микруху какую нибудь на питоне или пхп не особо попрограммируешь. Но для веба к примеру они подходят лучше.
А так да скилы на то и скилы что они практически всегда решают.

P.S.
Извиняюсь за слоупочность ответа.
>> No.38019 Reply
>>38017
document.cookie = "";
location.reload(true);
Например.
>> No.38020 Reply
File: image.jpg
Jpg, 54.65 KB, 532×800 - Click the image to expand
edit Find source with google Find source with iqdb
image.jpg
>>38019
Ой, спасибо
>> No.38022 Reply
>>38019
И было бы здорово припилить к нему таймер.
>> No.38023 Reply
>>38022
Это код почти полностью переписывать надо. Давай ты сам как-нибудь.
>> No.38026 Reply
>>38023
У меня нет скила, поэту прошу помощи.
>> No.38031 Reply
>>38026
Окей.жпг
window.setTimeout(function() {
    document.cookie = "";
    location.reload(true);
}, интервал_в_миллисекундах);
>> No.38034 Reply
>>38031
Благодарю.
>> No.38065 Reply
>>38018
> Зачем ты каждый раз перекомпилируешь буст? Собери его уже наконец. Ну или если ты под линуксами просто поставь пакет с бустом.
Как ты код с торчащими наружу шаблонами соберёшь (коего в бусте 70%), о гуру C++? Научи нас, глупых. И про make стыдно не знать.
> Угадал
Конечно угадал. Все крестоняши рассказывают страшилки про не детерминированность гц, и при этом обмазываются более тормозным cache-unfriendly добром.
>> No.38066 Reply
>>38065
Ах да, забыл написать, что и с "умными" указателями память будет течь, так что противопоставлять их гц -- элементарное невежество.
>> No.38072 Reply
File: 1390988023-6c6c5577bd319769889283551dec2991.jpg
Jpg, 67.66 KB, 800×535 - Click the image to expand
edit Find source with google Find source with iqdb
1390988023-6c6c5577bd319769889283551dec2991.jpg
Думаю перекатиться с бакенда (1,5 года джанги вразвалочку) во фронтенд (бакбон, ангуляр, нокаут, вот это все). Что нужно знать чтобы за это платили? Какие подводные камни?

Пожалуйста не пишите "верстка" или "джаваскрипт", пишите конкретнее.

Картинка для привлечения внимания.
>> No.38074 Reply
>>38072
на дрочане только такие картинки и используют для привлечения внимания
>> No.38075 Reply
>>38074
> на дрочане
> дрочане
Шел бы ты к себе на борду, если не уважаешь местных анонов.
>> No.38076 Reply
File: т.png
Png, 1.05 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
т.png
>>38072
Это мальчик или девочка?
>> No.38077 Reply
File: 1237237108085.jpg
Jpg, 62.51 KB, 443×600
Your censorship settings forbid this file.
unrated
>>38076
Это Юля.
>> No.38078 Reply
>>38074
Миссион аккомплишед.
>> No.38087 Reply
>>38065
Я не гуру, используй предкомпилированные заголовки.
> > Конечно угадал. Все крестоняши рассказывают страшилки про не детерминированность гц, и при этом обмазываются более тормозным cache-unfriendly добром.
Ты знаешь значение слова детерминированный? Расскажи про cache-unfriendly добро.
Это не страшилки это объективная реальность. И проблемы возникают совсем не из-за скорости, а из-за порядка выполнения.


>>38066
С гц память тоже иногда течет. Назови язык с гц где память не течет.
Как механизмы управления временем жизни объектов их противопоставлять вполне себе можно.
>> No.38088 Reply
>>38087
> Как механизмы управления временем жизни объектов их противопоставлять вполне себе можно.
Нет, нельзя. Shared pointer'ы не могут обработать любого рода зацикленность в данных, в то время как гц спокойно уберёт данные, завязанные хоть в морской узел (если они не достижимы с root reference).
Ах да, скажет крестобог, у нас есть weakpointer'ы! Но дело в том, что они просто не работают. Потому что, внезапно, их нужно применять *вручную*. Поэтому называть smart pointer'ы "автоматическим механизмом управления временем жизни объектов" нельзя. Всё то же самое, что и в няшной, только при обращении к удалённым данным вместо SIGSERV теперь падает какое-то крестовое исключение, когда weakptr кастуется в shared_ptr.
> И проблемы возникают
У тебя возникают проблемы с недетерминированностью гц? Можешь привести конкретный пример? Ты же, я так понимаю, пишешь hard real-time софт?
> предкомпилированные заголовки
Няша, для шаблонного кода это избавит только от стадии парсинга текста. Это капля в море по сравнению с остальными стадиями компиляции.
> Расскажи про cache-unfriendly добро.
Ты лучше сам почитай про generational gc.
>> No.38096 Reply
>>38088
Нет, нельзя. Shared pointer'ы не могут обработать любого рода зацикленность в данных, в то время как гц спокойно уберёт данные, завязанные хоть в морской узел (если они не достижимы с root reference).
И почему их нельзя сравнивать? Ты сам только что сделал это.

У тебя возникают проблемы с недетерминированностью гц?

Простой пример, у тебя есть обьект а в нем лежит обьект б у обьекта б запущен метод в отдельном потоке, из потока ты дергаешь обьект а. Деструктор обьекта б корректно завершает поток. А теперь скажи мне что будет если деструктор а вызаветься раньше б ? Учти эта проблема будет проявляться случайным образом и все что ты увидишь будет NullReferensExeption если повезет. А может быть и не повезет.
Только не начинай мне рассказывать про диспозы. Да они решают проблему, но за ними нужно следить и с ними куча других тонкостей возникает.
> > Няша, для шаблонного кода это избавит только от стадии парсинга текста. Это капля в море по сравнению с остальными стадиями компиляции.
Да долгая компиляция это проблема.
> > Ты лучше сам почитай про generational gc.
Как это связано с управлением временем жизни? Автоматический менеджер кучи это не плохо, но ты можешь подобные штуки и в крестах реализовать.
>> No.38097 Reply
>>38096
> деструктор
У тебя каша в голове. Какой ещё деструктор? Как вообще деструктор (если ты назвал деструктором финализатор) вызовется для объекта, на который ещё есть ссылки?
> Автоматический менеджер кучи это не плохо, но ты можешь подобные штуки и в крестах реализовать.
И работать они будут только в твоём коде и только для объектов, которые ты создал сам. Чтобы сторонние библиотеки узнали про твой автоматический менеджер кучи, их надо как минимум пересобрать, а то ещё и основательно пропатчить. Как такое можно называть "автоматическим"?
мимокрокодил
>> No.38103 Reply
>>38097
Я назвал деструктором финализатор. Нет большена них ссылок обьект а вышел из области видимости.
>> No.38105 Reply
>>38103
Если объект A вышел из области видимости и на него больше нет ссылок, как объект B сможет к нему обратиться и получить NullReferenceException? Покажи пример кода, на котором эта проблема сможет проявиться.
>> No.38106 Reply
>>38105
Циклические ссылки. root reference они покинули.
Ок маленький набросок. https://ideone.com/WEWdyS особо не пинай, может где ошибся, давненько не писал на c# но мысль думаю ясна.
>> No.38109 Reply
>>38106
Попробовал запустить аналогичный код в VS (вечером покажу исходник) - всё работает, GC не трогает объекты A и B. Что я сделал не так?
>> No.38111 Reply
>>38109
Поток продолжает работать?
>> No.38112 Reply
Спрошу лучше тут, чем в мертвом перлотреде.
В общем, пытаюсь запилить капчу на перле. Генерация пикчи уже почти готова осталось только запилить рандомные буквы.
А что делать с защитой и проверкой? Есть ли, например, в перле сессии, как в похопе? Если использовать куки, то как мне сделать, чтобы повторно с этими куками отправить POST запрос было нельзя. Просто на хабре читал правда на счет пхп капчи, что можно один раз ввести капчу, а дальше использовать предыдущие куки и предыдущее значение капчи.
>> No.38113 Reply
>>38111
Да, продолжает. Вот код: http://ideone.com/JgwOT5
>> No.38114 Reply
>> No.38115 Reply
>>38113
Кажется программа потекла. Кто нибудь знает как прибить тред?
>> No.38116 Reply
>>38114
Мне не нужна рекапча :3
Кстати, в данный момент у меня пикчу выводит сам скрипт, но у некоторых видел, что изображение капчи сохраняется на сервере в специальную директорию, и выводится непосредственно само изображение.
Я вот теперь понять не могу, как лучше? В принципе можно сделать сохранение изображения на хард, и вывод уже его, только какие в этом плюсы?
>> No.38117 Reply
>>38116
Скорее всего кэш, чтобы нельзя было досить запросами на генерацию капчи.
>> No.38118 Reply
>>38115
Ctrl+C же. Обычное закрывание программы тоже должно убить все треды в ней.
Или, если ты о способах убить тред из программы, то Thread.Abort().
>> No.38119 Reply
>>38117
Ну ведь можно досить другие скрипты.
>> No.38120 Reply
>>38119
Можно какой-то поиск ещё дергать для загрузки дб, а так работа с графикой самая тяжелая по ресурсам.
>> No.38122 Reply
>>38118
http://msdn.microsoft.com/ru-ru/library/system.threading.thread.abort%[...].aspx
Как это поможет в нашем случае?
Мы даже обратиться к объектам не можем они вышли из области видимости.Проверим предположение что если заставить гц работать, он соберет эти объекты и прибьет тред http://ideone.com/U31lcq . Объекты по прежнему живы, а это значит что мы получили утечку.
>> No.38123 Reply
>>38122
1) Гц не должен прибивать никакие треды. В принципе. Он, напротив, использует информацию об их области видимости как исходные данные.
2) Переменная а находится в области видимости созданного треда.
3) Финализатор /= деструктор; такой способ прибить тред мог возникнуть только в восполённом воображении крестобога; полученное поведение семантически верно и предсказуемо.
Вывод: утечки памяти в этом примере нет.
>> No.38124 Reply
>>38122
> Мы даже обратиться к объектам не можем они вышли из области видимости.
Но к ним может обращаться тред, который мы же собственноручно и запустили в конструкторе класса B. С чего бы вдруг сборщику мусора их уничтожать?
Алсо, вот ещё один исходник: http://ideone.com/ZSz6jN
Если у тебя есть какая-нибудь среда разработки, умеющая отладку .NET-кода, поставь точки останова в финализаторах классов A и B, запусти этот пример, дождись завершения работы потока и удивись.
>> No.38125 Reply
>>38123
Финализатор /= деструктор; такой способ прибить тред мог возникнуть только в восполённом воображении крестобога; полученное поведение семантически верно и предсказуемо.
Вывод: утечки памяти в этом примере нет.

Ок убедил. А не расскажешь как прибить тред?
>> No.38128 Reply
>>38125
Правильный ответ: послать ему сообщение "умри". Правило большого пальца: сущности должны совершать суицид, а не быть убитыми.
А вообще, смело кради идеи из Open Telecom Platform. Supervisor behavior в данном случае.
>> No.38129 Reply
А как в перле, используя CGI модуль можно проверить, как обращаются к скрипту? Например проверить обращаются ли к скрипту GETом или POSTом.
В документации к CGI ничего про это не нашел, но не может же быть такого, чтобы нельзя такого провернуть.
>> No.38130 Reply
>>38129
Я дебил, только что там нашел request_method().
>> No.38150 Reply
Это тот кун, который тут спрашивал про капчу в перле.
Решил использовать модуль Cache::Memcached::Fast, и хранить капчу в нем в дальнейшем и прочую лабуду.
Целесообразно ли в скрипте капчи вызывать мемкеш, например
my $memd = new Cache::Memcached::Fast({servers => ['127.0.0.1:11211']}); или лучше написать отдельный скрипт, в котором вызвать мемкеш один раз в captcha.pl он ведь каждый раз будет вызываться при обращении к скрипту.
>> No.38653 Reply
А вот если при отправке данных на сервер заменять специальные символы на их html-сущности, то это поможет от sql-инъекций?
>> No.38654 Reply
>>38653
Надо просто использовать современные средства работы с дб, там всё уже учтено.
>> No.38655 Reply
>>38653
Лучше пользуйся ORM и специализированными ф-ми очистки.
>> No.38656 Reply
>>38653
Имеется ввиду: кавычки разных вариаций, знак равно, еще что-нибудь.
>> No.38657 Reply
File: TcC749-2aO8.jpg
Jpg, 17.45 KB, 320×254 - Click the image to expand
edit Find source with google Find source with iqdb
TcC749-2aO8.jpg
>>38653
Лол, нет. От них избавиться помогают на похэпэ PDO или ORM типа Doctrine например.
>> No.38658 Reply
>>38654
Например какие? Сайт я пишу не на пыхе, к слову. Точнее пытаюсь.
>> No.38659 Reply
>>38658
PDO. Просто делаешь запрос с плейсхолдерами и передаешь значения, он сам всё обработает.
>> No.38661 Reply
>>38659
Ясно, спасибо. А под перл случайно аналога PDO нету? Или может что-то подобное уже есть в DBI?
>> No.38662 Reply
>>38658
> Сайт я пишу не на пыхе
На чом пишешь, для того и ищи. Ну или хочешь я за тебя погуглю. Только скажи что за ЯП и что ты уже подключил туды.
>> No.38663 Reply
>>38661
Есть, такой же принцип.
prepare, а потом execute.
>> No.38664 Reply
>> No.38673 Reply
>> No.39320 Reply
File: e3fb9d836c8f989561e20d27c6fdf701.jpg
Jpg, 60.72 KB, 400×400 - Click the image to expand
edit Find source with google Find source with iqdb
e3fb9d836c8f989561e20d27c6fdf701.jpg
Существуют ли какие-нибудь подробные гайды для чайников, как поднять имиджборд на локалхосте? И возможно, с описанием редактирований и всего такого.
>> No.39321 Reply
>>39320
Популярные движки вроде на перле, да? Тогда поставить какой-то xampp для шиндовс, а на линупсах уже и так почти всё есть.
Ну а дальше по инструкции.
>> No.39322 Reply
>>39321
Это нужно установить этот xampp, потом скачать, скажем, кусабу и каким-то образом в этом xampp запустить?
>> No.39323 Reply
>>39322
Да, просто закинуть в нужную папку. Ну а там какой-то сетап должен быть, наверное.
>> No.39482 Reply
File: phpmyadmin_kusaba.png
Png, 64.51 KB, 1384×564 - Click the image to expand
edit Find source with google Find source with iqdb
phpmyadmin_kusaba.png
Слоупок врывается в тред.

>>39320
Ты бы ещё сказал зачем тебе это, возможно посоветовали бы что-то получше.

Итак, самый простой вариант для винды с КусабойХ:

Качаем https://www.apachefriends.org/ru/index.html и ставим его.

Я люблю для тестовых сайтов делать отдельные домены. Для этого открываем наш любимый файл hosts (лежит в C:\Windows\System32\drivers\etc) и дописываем туда строчку типа:
127.0.0.1   kusaba.local
Теперь надо нашему xampp-у рассказать, что у нас есть свой локальный домен и нам надо на нём держать сайт.
Открываем конфиг виртуальных хостов, он лежит примерно тут: c:\xampp\apache\conf\extra\httpd-vhosts.conf

Туда надо добавить что-то типа такой штуки:
<VirtualHost *>
    ErrorLog "c:\xampp\kusaba.log"
    DocumentRoot "c:\xampp\kusaba"
    ServerName kusaba.local
    <Directory "c:\xampp\kusaba">
        Options All
        AllowOverride All
        Require all granted 
    </Directory>
</VirtualHost>
Надо, конечно, создать папку c:\xampp\kusaba и положить туда для начала какой-нибудь index.html. Теперь если перегрузить Апач и открыть в браузере http://kusaba.local/ то мы увидим этот самый index.html

Далее займёмся базой данных. Открываем http://localhost/phpmyadmin/ - смотри на картинку. Тебе надо зайти в раздел "Пользователи" и кликнуть там по "Добавить пользователя". На открывшейся странице вводишь логин и пароли (можно везде написать одно и то же, это ведь локальный тестовый сервер, а не настоящий). Главное: выбрать Хост="Локальный" и поставить чуть ниже галочку "создать базу данных". Жмём ОК и база готова.

А после этого качаешь саму кусабу и делаешь всё по гайду http://kusabax.cultnet.net/wiki/installation_guide

Архив кусабы надо распаковать в c:\xampp\kusaba. Там, где в гайде написано "Run install.php", это значит открыть в браузере http://kusaba.local/install.php

Логин и имя базы данных будут одинаковые, если как на скриншоте, то "kusaba"

Вот, как-то так.
>> No.39501 Reply
>>39482
На винде веб-сервер делать очень мучительно.
>> No.39502 Reply
>>39501
Отнюдь. С тем же xampp-ом вообще в два клика.
>> No.39504 Reply
>>39501
Вы, извините, диванный.
>> No.39505 Reply
>>39504
Я, извините, с 2006 года в веб-девелопменте.
>> No.39506 Reply
>>31137
Приветствую.
Вопрос к мастерам и подмастерьям, создающим сайты в т.ч. и для себя. Где/как это можно было бы применить? Кроме очевидного -- научиться программировать для веба / зарабатывать на этом.
Пока я вижу только большой геморрой с поддержкой созданного, причём себе в убыток (т.к. время довольно ценный ресурс).

Заранее спасибо, если кто-то ответит.
с: добралась ночная
>> No.39507 Reply
File: tumblr_mvt01vPHK51rwii9to1_r1_500.gif
Gif, 679.97 KB, 500×268 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_mvt01vPHK51rwii9to1_r1_500.gif
>>39506
Да, всё так и есть. Это скучная, бесперспективная, пожирающая всего тебя работа. Это как играть в ММО сутки-недели-месяцы напролет, также бессмысленно, только ЗП будет чуть больше чем нихуя, в лучшем случае.
>> No.39508 Reply
>>39506
лётчик.жпг
Если не зарабатывать, то для себя/для других?
У меня вот в этом плане куча идей, но как у любого правильного погромиста, чувство прекрасного отсутствует напрочь, лол.
>> No.39509 Reply
>>39508
> как у любого правильного погромиста, чувство прекрасного отсутствует напрочь
> > правильного погромиста
> > чувство прекрасного отсутствует напрочь
Вот такие "правильные" погромисты и пишут потом всякие жоланги.
мимопробугуртил
>> No.39510 Reply
>>39506
Приветствую.
Вопрос к мастерам и подмастерьям, изготавливающим табуретки в т.ч. и для себя. Где/как это можно было бы применить? Кроме очевидного -- научиться плотницкому делу / зарабатывать на этом.
Пока я вижу только большой геморрой с шлифовкой табуреток, причём себе в убыток (т.к. время довольно ценный ресурс).

Заранее спасибо, если кто-то ответит.
извини
>> No.39511 Reply
>>39509
Ну я же про вижуально-художественный дизайн. А языкопроектирование это чисто научно-задротская фича.
>> No.39512 Reply
>>39506
Кроме очевидной работы (как на дядю, так и стартапы) и самообучения остаётся лишь извлечение лулзов из оригинальных идей (хотя, это в конце концов опять может вылиться в стартап и бабло).
>> No.39513 Reply
File: 010.jpg
Jpg, 11.99 KB, 300×300 - Click the image to expand
edit Find source with google Find source with iqdb
010.jpg
>>39512
Но иногда, достигая 30 лвл, тебе кажется, что ты слишком рано из зеленого винограда превратился в перезрелый фрукт, когда твои бывшие одногруппники тех.диры, депутаты, бизнесмены, а ты мидл-девелопер с зарплатой как у джуниора, ты начинаешь жалеть потраченные годы на всякую хуйню.
А вообще всем добра.
>> No.39514 Reply
> xampp
http://open-server.ru/ же.

мимоОП
>> No.39515 Reply
>>39514
Virtualbox + Linux, а лучше просто Linux жи.
>> No.39516 Reply
File: 649864913.jpg
Jpg, 36.06 KB, 436×278 - Click the image to expand
edit Find source with google Find source with iqdb
649864913.jpg
>>39514
Рандомная рузке сборочка vs опенсорс, проверенный временем.
>> No.39517 Reply
>>39516
Зато там полезного софта на полгига и сразу всё в одном.
>> No.39518 Reply
>>39517
И полезнейший бекдор от васяна, ага.
>> No.39519 Reply
>>39518
А xampp проверен и там нет бэкдоров от Майкла?
>> No.39520 Reply
>>39519
Да, ему больше десяти лет и исходники открыты.
>> No.39521 Reply
File: vs.png
Png, 266.19 KB, 784×1360 - Click the image to expand
edit Find source with google Find source with iqdb
vs.png
>>39516
Она удобна же. Хотя лучшим решением будет http://www.vagrantup.com/
>> No.39522 Reply
>>39519
Без бэкдоров только lamp в авторитетных дистрах типа debian или centos. Но мышевозникам нассать, как я понимаю.
>> No.39523 Reply
File: Windows_XP_Black_Edition_Boot_by_djbatista07.jpg
Jpg, 67.83 KB, 640×480 - Click the image to expand
edit Find source with google Find source with iqdb
Windows_XP_Black_Edition_Boot_by_djbatista07.jpg
>> No.39524 Reply
File: kVcXF.jpg
Jpg, 9.25 KB, 300×300 - Click the image to expand
edit Find source with google Find source with iqdb
kVcXF.jpg
>>39514
Редис, постгрес, монго, что-то во мне говорит, что не могут они на этой хиуте просто так брать и нормально работать. Да быть такого не может!
>> No.39525 Reply
>>39524
Чому нет то? Вроде они все под виндой заводятся.

>>39518
>>39519
>>39520
>>39522
>>39523
Эта лучшая из подобных сборок по степени удобства. Хотя есть же http://www.vagrantup.com/ про который я чомуто забыл. У вас будет полноценный lamp или чего вам там нужно на виртуалке. И при этом в пару кликов устанавливаться будет.

Можете ещё посмотреть других сборок например вот тут http://habrahabr.ru/post/144242/ На вкус и цвет выбирайте сами. Если у вас opensourse головного мозга, то я вам советую не тянуть и пересаживаться на *nix без проприетарного софта вообще.

Я же вообще на линупсе сижу и не парюсь по пустякам. Но я понимаю, что не стоит свои взгляды проповедовать лишний раз. Нет смысла пересаживаться на линупс во многих случаях.
>> No.39527 Reply
File: work.jpg
Jpg, 94.24 KB, 736×1100 - Click the image to expand
edit Find source with google Find source with iqdb
work.jpg
>>39510
Хе-хе. Я ведь работал одно время в столярке.

>>39512
> лишь извлечение лулзов из оригинальных идей (хотя, это в конце концов опять может вылиться в стартап и бабло).
Спасибо.
>> No.39528 Reply
>>39506
У ТЕБЯ ПОЯВИТСЯ САЙТОВО-ОРИЕНТИРОАННЫЙ ТИП МЫШЛЕНИЯ И ВЫРАСТИТ ЧЛЕН
>> No.39532 Reply
>>39525
> Хотя есть же http://www.vagrantup.com/ про который я чомуто забыл
Как же я ненавижу эти быдлосайты модернового дизайна, где даже чтобы получить вменяемое описание сабжа нужно походить по десяти страницам, читая текст, написаный нечитабельным хипсторским шрифтом в двадцатой кегли.
>> No.39534 Reply
>>39532
Тебе шашечки или ехать? Тащемто можешь и ручками виртуалку настраивать.
>> No.39536 Reply
>>39534
Полагаю ему ехать, а суют шашечки, лол. Хотя вагрант довольно популярная штука.
>> No.39543 Reply
>>39532
> быдлосайты модернового дизайна
LOL. Веб-мастер не освоил написание собственной CSS.
Быдлосайты -- это сделанные на 100% Adobe Flash.
с:взывать стыд
>> No.39654 Reply
File: Kitten_in_Rizal_Park,_Manila.jpg
Jpg, 559.14 KB, 1728×2592 - Click the image to expand
edit Find source with google Find source with iqdb
Kitten_in_Rizal_Park,_Manila.jpg
Котаны, у меня тут такой вопрос назрел.
Например страница http://super-puper-shop.biz/mobily-dlja-posanchikov/ подгружает аяксом json-объект с инфой о категории по ссылке /api/category-by-id/42 и json-массив с инфой о продуктах /api/products-by-category-id/42 и всё это добро отрисовывается каким-нибудь mustache.js.
Ну и соответственно http://super-puper-shop.biz/product/nokia-3310/ грузит json-объект /api/product-by-id/13666
Умеют ли поисковые роботы (гугль и яндекс например) в яваскрипт или им только тупой безыдейный хтмл подавай?
>> No.39655 Reply
>>39654
> Умеют ли поисковые роботы (гугль и яндекс например) в яваскрипт
Не умеют.

Эту проблему решают редиректом поисковиков на заранее отрисованный сайт в html
>> No.39656 Reply
Гугльбот вроде уже исполняет жс, тащемта. Но по уму надо делать всё рабочим и без скриптов.
>> No.39657 Reply
File: talking_captcha.png
Png, 0.83 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>39654
Отдавай сразу html отрендеренный. Потом на клиенте меняй его без перезагрузки. Делай так, чтоб по одной ссылке с добавлением дополнительного параметра отдавался json.
>> No.39663 Reply
>>39532
> где даже чтобы получить вменяемое описание сабжа нужно походить по десяти страницам
Кнопка гет стартед по середине же. Алсо, у этих буржуев возможно монитору уже давно в среднем больше. Что у тебя за разрешение?
>> No.43022 Reply
В /u/ пусто, поэтому спрошу здесь.
Как можно закрыть доступ к странице сайта всем, кроме меня?
Вариант с ограничением айпишников не подходит, т.к. у меня он динамический.
Была безумная идея с установкой своего уникального значения юзер-агента и его проверки, но ведь это очень глупо?
>> No.43023 Reply
>>43022
Прикрути http authentication. Быстро и просто на любом ЯП/Фреймворке и всём чего угодно.
Ну или можешь спецпеченьку установить.
>> No.43024 Reply
>>43023
Хорошо, спасибо.

Я тут еще всерьез ударился в безопасность, читаю разные статейки на хабре, и не понятна одна вещь: если не используется https, то каким образом можно получить доступ к post-данным?
Ну и вообще, дайте, пожалуйста, каких-нибудь хороших статей по безопасности в вебе, желательно на русском.
>> No.43025 Reply
>>43024
Пост идет плейнтекстом вместе со всем, т.е. его можно перехватить и распарсить на любой точке прохождения твоего трафика. Сделай tracert до любого хоста, вот через всё это оно пойдет.
На практике это обычно банальный сбор запросов на открытых вайфай точках или малварь какая слушает трафик прямо у тебя.
>> No.43026 Reply
>>43024
Всерьёз подразумевает изучение администрирования, кодинга и алгоритмов шифрований(обзорно) в принципе. Для этого стоило бы изучать операционки, сети, сервера, базы данных и протоколы в принципе, узкой специализацией не отделаешься.
Хотя можешь обратить внимание на самые известные типы уязвимостей со своими названиями тоже: XSS, CSRF, SQL-инъекции и вообще инъекции кода, загрузка на сервер файлов с кодом.
Для веба безопасность - это и отсутствие тупняков в самой программе, которую кодер пишет, и хитрые настройки сервера, так что надо изучать тонкости настройки apache/nginx/другойhttp-демонна_выбор. Ещё надо всё обновлять периодически и вовремя. А то и в чужом коде есть косяки. Хартблиды там всякие.

Самое широко известное, о чём стоит знать, самая попса:
по коду:
1) все данные, поступающие от пользователя из форм, кукисов, строки запроса и прочая, должны подвергаться валидации и экранированию.
а) Нельзя конкатенировать SQL-запросы из строчек, содержащих данные, пришедшие от пользователя. Обычно всегда их или втыкают посредством специальных функций внутрь запроса, или прогоняют просто через функцию, которая экранирует.
б) Перед выплёвыванием данных на страницу, если данные исходят от пользователя, то надо экранировать от вставок html-тегов, особенно от вставок джаваскрипта и других особо злых вещей. Я как-то видел, как на 2ch.hk чувак сделал, что у всех вся страница на /s была курсивом. А можно и на фишинговый сайт ссылку запилить.
в) Файлы, которые пользователи аплодят, как, на пример, аватар, картинка в посте или вордовский файл с резюме на сайте с вакансиями и т.п., должны проверяться на соответствие типа файла одному из разрешённых. Двумя способами сразу: и по расширению и по MIME-типу. А то загрузят php-файл вместо аватара и потом его выполнят.
...и др. Вообще данные пользователя всегда опасны.
2) формы все надо снабжать csrf-токенами. Обычно фреймворки имеют встроенный функционал для этого.
3) Команды, выполняющие произвольный код из строк опасны и их надо опасаться. Такие как eval и exec(и ряд других). Есть даже возможность вообще отрубить их настройками php.ini(конфиг. файл). В php до последнего времени(до php 5.4) не было лямбд(анонимных функций) и из-за этого старый код пестрит eval довольно часто.
4) Пароли на серверах хранить только в виде хешей, тогда даже завладев базой хакер не получит пароли. В кукисах по идее должен быть только id сессии и должны быть реализованы его смена и устаревание, тогда кукисы нельзя подделать(но всё ещё можно украсть). Всё это есть во фреймворках, cms-ках, расширениях и т.п. Ничего изобретать не надо. Для твоей задачи, мб, можно даже обойтись функционалом, встроенным в сам апач и получить там примитивную авторизацию без php. Этот вариант самый простой и надёжный, если есть доступ к настройкам сервера. Обычно такого доступа нет на обычных shared-хостингах.
5) Если ты убрал кнопку "редактировать", то это не значит, что чувак не додумается прямо вбить адрес страницы редактирования. Должен быть контроль доступа кодом в начале посещения каждой страницы на основе или просто авторизации, или ролей, или авторства и другой произвольной логики. На фронтендовые проверки js и просто отсутствие кнопки или ссылки нельзя надеяться, всё проверяют на бэкенде.
6) Фатальные действия вроде удаления только через POST. А то тебе в скайп кинут адрес на http://tvojsajt.ru/articles/42/delete и перейдя по нему ты удалишь статью.
7) Вообще лучше использовать softdelete и ничего не удалять, много данных в закромах - это же хорошо.
8) Когда у тебя в head-е напсиана версия CMS-ки - это полный кретинизм. Чувак просто сверит, какие в твоей недавно устаревшей версии были уязвимости по сраному справочнику уязвимостей в cms для кулхацкеров. И всё по инструкции "как взломать сайт" для идиотов" сделает. Школьник-кун approves. Я не понимаю, зачем вордпресс и некоторые другие его ставят. Вообще в целом чем меньше пользователь знает о технических подробностях твоего сайта, тем лучше. Считается, что phpinfo(), например(и ряд других), может снабдить взломщиков полезной инфой о твоём сайте и иногда её тоже отрубают настройками. Кроме того, вообще надо учитывать, что HTML, CSS и js - это всегда открытая книга для любого пользователя. Пытаться обфусцировать их бесполезно.
9) В линуксах у всех файлов и папок свои права в виде 8-ричного код с тремя цифрами. Обычно на все файлы ставят права 644, чтобы левые юзеры не могли редактировать, а на папки - 755, чтобы в них нельзя было создавать файлы левым юзерам(имеются в виду юзеры в операционке). Только на ряд определённых папок ставят 777, где нужна возможность создания файлов. Обычно это папки для аплода файлов пользователями, папки с кешем и логами(сайт сам пишет в них файлы периодически). Смысл в том, что владелец папок и файлов - админ сайта(в смысле этот человек, который админит, а не рут), а сервер запускается под другим юзером(апач - вроде под юзером www обычно) в системе и таким образом автоматом ограничен в правах на них.
10) Про https уже все диванные параноики тут слышали, я полагаю. В SSL-сертификатах ещё понимать что-то надо, есть те, у которых алгоритмы устарели. Браузер начнёт ругаться на них. Кроме того, если будет man-in-the-middle-атака на сайт с https, то так как у злоумышленника по идее не будет правильного приватного ключа от SSL-сертификата для данного домена, браузер заблочит и скажет, что сертификат не доверенный. Однако, если пользователя это не остановит, то он проигнорирует это предупреждение. Все другие проблемы, насколько я знаю, связаны с теориями заговора и большим братом. Ну вроде чё-то какие-то ещё проблемы были, но там уже всё очень сложно, там совмещают с кучей других атак типа XSS и т.п. Если нужно шифрование от своего сайта до узкого круга пользователей, то можно выпустить бесплатно SSL-сертификат самостоятельно самоподписный и пользователям тогда надо будет добавить его к себе в браузер как доверенный руками.
11) Есть программы, которые позволяют на сервере зашифровать весь php-код и выполнять его зашифрованный. Тогда даже получив весь код, хакер не сможет читать код, только запускать. Очень много гемора. У Zend, ionCube, может ещё у кого есть такое.
12) Я не пробовал Джумлу, но все говорят, что любой кретин может взломать её. Почему-то я решил, что это стоит упоминания. Когда я работал в веб-студии, то наши сайты на Джумле очень многие были взломаны. Других проблем со взломами, не связанных с джумлой у меня в реальной жизни не было(мы потом на ненавистный битрикс перешли, лол. Всё это было давно, сейчас я уже на нём к счастью не пишу). Раз для кого-то это оказывается самым большим косяком по статистике, почему не упомянуть.
по настройкам сервера и т.п.:
- Если настроен доступ на папку, то пользователь обычно может запустить или скачать всё, что в ней лежит. И надо следить, чтобы конфиги с паролями, например нельзя было скачать. Чтобы нельзя было не предназначенный для этого php-файл запустить прямой наводкой. Можно настроить(это непросто), чтобы файл был доступен для скачивания только залогиненным или ещё как-то. Во всех фреймворках обычно доступна из веба только одна подпапка проекта(обычно называется public или web). Некоторые вместо этого костылят .htaccess-файлами или даже приписывают в самом коде вверх каждого файла строчку(битрикс так делает), которая останавливает скрипт, если его запускают прямой наводкой.
- Надо, чтоб все сообщения об ошибках были спрятаны, чтобы они не сыпались на экран пользователю. Многие фреймворки подразумевают, что их надо перевести из режима девелопмент в режим продакшен. Злоумышленник может их(сообщения об ошибках) использовать. Они могут засветить куски php-код, sql-запросы и прочая.
- И др. Я в этом мало шарю.

и ещё:
- Пользуясь гитом или другой системой контроля версий, надо сразу игнорить все конфиги с паролями. Если конфиг с паролем от базы закомитишь, то уже трудно его потом из истории гита будет вытащить. Можно на хабре почитать смешные истории про поиск на гитхабе репозиториев с файлом db.php с паролем от базы с помощью гугла.
- Гит отслеживает не только содержимое файлов, но и вот эти вот биты прав на файлы 755/644/777 и т.д. Если у себя поменяешь права файлов и закоммитишь, то они попадут на репозиторий. Но вроде, я слышал, для деплоя есть проги предусмотренные для автоматической коррекции всех битов перед деплоем.
Думал, ща пару абривиатур напишу и отправлю. Написал...
>> No.43027 Reply
>>43026
Чё-то я вообще не думал, что получится так длинно.
>> No.43030 Reply
>>43027
Спасибо большое, няша.
>> No.44672 Reply
>>31137
Аноны, посоветуйте CMS-ку, пожалуйста. Расширяемую самописными плагинами и с нормальной документацией. Посмотрел вордпресс и расстроился от той каши, которая творится в их АПИ. Хочу что-то, что написано с умом, но при этом относительно беспроблемно и недорого хостится.

Как-то так. Спасибо.
>> No.44678 Reply
>>44672
Все говно.
>> No.44679 Reply
>>44672
Ну, я нонче Umbraco насилую - мне норм кажется. Но я её выбрал исключительно из-за того, что я работаю с .NET в целом и ASP.NET MVC & WebAPI в частности. Фронтэнд админки на AngularJS. Документация есть, хотя, имхо, хотелось бы больше.

После Wordpress'а она мне показалась более быстрой и гибкой. Хотя и более сырой.
>> No.44683 Reply
>>44679
Умбрако - мусор. Я с ней работал в далеком 2013-м году, худшие восемь месяцев своей жизни, приходилось ковырять исходники. Написанный ногами датский код, устаревшая или несуществующая документация, геморрой при переносе с одного окружения на другое, максимальный упор на неюзабельность без покупки их модулей, мешанина из cshtml и xslt.
>> No.44684 Reply
>>44683
Ну, сейчас там вроде её подчистили: XSLT убрали к хренам, перевели на MVC 5 / WebAPI 2, тот же AngularJS запилили на бэкэнде, добавили возможность использовать OWIN. Документацию тоже переделывают, но, как ты справедливо заметил, она немного запаздывает. Хотя на форумах вроде как на вопросы отвечают. В целом, у меня пока из жалоб только мутноватая структура базы данных и платные видяшки для обучения.

Но я не так долго её ковыряю, так что вполне возможно мне ещё предстоит познакомиться со всеми "прелестями". Если хотите могу запилить репорт по завершению.
>> No.44685 Reply
>>44684
*на админке, я имел ввиду

самофикс
>> No.44686 Reply
>>44685
Как у них с переносом со стейджа в продакшн? Раньше было нужно либо ручками пересоздавать всю структуру, все эти их ноды, типы данных и контент, либо пользоваться платной кривой утилитой.
>> No.44687 Reply
>>44686
Читал в каком-то бложике, что сделали что-то (хотя там вроде сайтикв Azure был). Но сам - хз, ибо до этого ответственного шага ещё не дошёл :3. Я думаю недельки две-три её ещё поковырять (мне нужно написать свой интернет-магазинчек с няшными фильтрами для товаров и фронтэндом), потом попробую отписаться по делу.
>> No.44704 Reply
>>44687
Интернет-магазинчик на сиришотке - nopcommerce посмотри. А по поводу переноса с одного окружения на другое, у умбрако есть или была бесплатная фича, которая твою структуру экспортировала в XML. Этот XML потом можно было импортировать в новое окружение. Только толку от нее было ноль, херились некоторые поля, например идентификаторы, и словари по-прежнему надо было пересоздавать руками.
>> No.45526 Reply
Здрасти.
Понадобилось фильтр для товаров в интернет-магазине сделать красивым (чпу).

Вот типа было так:
http://localhost/razdel/&priceFrom=1000&priceTo=1500&class=31&width=&material=

Для начала пытался заменить цену и класс:
http://localhost/razdel/price_1000-1500/class_31/&width=&material=
---
В .htaccess это выглядит так:
====
RewriteRule (.*)/price_([0-9]+)-([0-9]+)/ $1/&priceFrom=$2&priceTo=$3
RewriteRule (.*)/class_([0-9]+)/ $1/&class=$2

RewriteRule ^([a-z0-9\_\-\/]+)([^/]+.*)? page.php?address=$1$2 [QSA] - Правило для навигации по разделам. (с ним проблем нет)
===

Чтоб протестировать, в файле page.php прописал:
===
echo($_GET['priceFrom']);
echo('<br />');
echo($_GET['priceTo']);
echo('<br />');
echo($_GET['class']);
===

Получил вот это:
1000
1500/price_1000-1500/
31/price1000-1500/class31/

Оно непреобразованную строку приплюсовывает к преобразованной.
Как поправить ? А то я запарился уже. mod_rewrite не моя сильная сторона.
>> No.45530 Reply
>>45526
Я не спец по рерайту, но второй рул не срабатывает. Если склеить все в одно правило, то работает:

```RewriteRule (.*)/price([0-9]+)-([0-9]+)/class([0-9]+)/ $1/&priceFrom=$2&priceTo=$3&class=$4```

Алсо, за вот такую хуйню в ссылках:

> razdel
> price_1000-1500

бьют по жопе докрасна.
>> No.45531 Reply
>>45526
Это очень экзотический ЧПУ, стоит заметить. Я никогда такого не видел.
>> No.45533 Reply
>>45526
Алсо, учитесь в классы, это же пиздец нечитабельный
[0-9]+ это \d+
[a-z0-9\_\-\/]+ это [\w\/-]+
>> No.45546 Reply
>>45526
Вся динамика должна реврайтиться на фронт-контроллер и дальше через роутер попадать на конкретный контроллер. Возьми нормальный фреймворк, например symfony.
>> No.45559 Reply
>>45526
Объясните мне, причём здесь ЧПУ?
>> No.45560 Reply
>>45559
Человеко-Понятные Урлы. Да, глупый акроним.
>> No.45808 Reply
File: -.jpg
Jpg, 155.88 KB, 756×567 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpg
Привет, аноны!

Всё собираюсь написать несколько полезных себе и публике скриптов.
Они довольно простые — один парсит урл по крону и пишет новые сущности в RSS, другой ежедневно делает мелкие записи в БД и особым образом выводит по востребованию.

Сопрос в следующем: на чем бы мне это сделать? Я могу написать на php + mysql, но это как-то… скучно. Что сейчас есть такого из технологий, что стоило бы немного изучить?

Хотелось бы получить не односложный ответ.
>> No.45809 Reply
>>45808
Да хоть на шелле. Это задача на полчаса на любом языке.
Делай на ноде, она украла стильность-модность-молодежность у бидона и руби.
>> No.45810 Reply
>>45809
Но не избавилась от ущербности самого недо-языка.
>> No.45811 Reply
>>45810
Время выбирать один из главных языков прошло.
Везде одна и та же пост-алоголо-параша, присыпанная надерганными фичами из других парадигм и сахарком. Главное это где деньги платят.
>> No.45812 Reply
>>45811
Жс - белая ворона с кучей ненужных сюрпризов и необычностей. Лучше уж брать джаву и не выёбываться.
>> No.45813 Reply
>>45812
У них ниши разные и неперескающииеся вообще.
Куда там поделкам на ноде к железному энтерпрайзу жабы.
>> No.45814 Reply
>>45813
Чем же они отличаются? Железностью? Вот по конкретике.
>> No.45815 Reply
>>45814
Чем отличается депутат и студент? Вот так и тут.
В целом, у жабы есть инфраструктура возрастом 20 лет, которая доказала свою надежность. И никакие новички не перепрыгнут её без соизмеримого опыта.
>> No.45816 Reply
>>45815
Перепрыгнуть инфраструктуру? Что ты несёшь. Я тебя спрашивал, чем их ниши отличаются. Ниши одни и те же, отличается качество, поход и, возможно, цена. Цена - ещё не известно в какую сторону.
Вы все ноете, что дороги неправильно кладут, еда и машины плохие, а футболисты не умеют играть. А когда доходит до своей собственной работы, то играете в вечных новичков и вечных студентов. Экономике новички и студенты вообще не нужны.
>> No.45817 Reply
>>45815
Кстати между студентом и депутатом много общего, - недобросовестно выполняют свою работу и впустую тратят бюджетные деньги.
>> No.45818 Reply
>>45808
Golang.
>> No.46150 Reply
File: Fib2sWc.png
Png, 77.90 KB, 282×300 - Click the image to expand
edit Find source with google Find source with iqdb
Fib2sWc.png
Насколько часто сейчас ведут отдельную статистику посещений на бэкенде?
У меня есть впечатление, что все перекатились на всякие гугло-аналитики и яндексы, потому что тот же гостери почти везде их выпиливает.
Хотя как минимум есть ещё логи запросов сервера, но туда уж вряд ли кто лазит.
>> No.46220 Reply
Анон, где сейчас больше платят? Куда сейчас реально вкатиться?
>> No.46221 Reply
>>46220
Что угодно популярное. Поройся в вакансиях.
>> No.48286 Reply
File: tutit.PNG
Png, 6.76 KB, 452×133 - Click the image to expand
edit Find source with google Find source with iqdb
tutit.PNG
Знакомый попросил помочь с сайтом, а я сам не сильно разбираюсь. Вот эту хрень можно редактировать? Интересует только сам текст.
>> No.48293 Reply
>> No.48303 Reply
Доброчан, у меня тут наклюнулась охренительно интересная задача. Суть такова.
На входе имеем обычный HTML документ без таблицы стилей (все по дефолту). Для всех видимых элементов проставлены коэффициенты важности. На нескольких элементах проставлены связи с другими элементами.

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

Я, в принципе, могу сделать это сам, но терзают смутные сомнения о правильности постановки задачи и отсутствии существующих решений.
Два вопроса:
1) Такого точно никто еще не делал?
2) Постановка задачи - не лажа?
Что посоветуете?
>> No.48304 Reply
>>48303
Похоже, что это сортировка по двум признакам:
1) Всё расположить от центра экрана
2) Пойти по элементам от центра и отодвинуть ещё немного
Итого N² действий.
>> No.48305 Reply
>>48304
Это понятно. Меня интересует, будет ли это выглядеть красиво и удобно при условии, что коэффиценты расставлены правильно. Если нет, то надо или корректировать условия задачи, или мне совсем не стоит браться за это.
>> No.48306 Reply
>>48305
> корректировать условия задачи
Наверное,
Правило 1) Расстояния первого уровня не влияют на расстояния второго уровня, и —
Правило 2) Расстояния второго уровня могут увеличивать расстояния первого уровня, но не уменьшать их.

Скорее всего, Google что-то найдёт по словам layout manager но лучше написать самому.
>> No.48311 Reply
>>48306
Благодарствую. А для данных, почти никак не подготовленных к отображению, такие обработчики существуют? Например, есть XML с энным количеством элементов, о которых известно только их связанность и степень важности отображения. Нужен layout manager, который правильно выведет это на экран. За такое кто-нибудь брался?
>> No.48318 Reply
File: bean.png
Png, 45.29 KB, 104×358 - Click the image to expand
edit Find source with google Find source with iqdb
bean.png
>>48303
Критерии оптимальности в студию. Давай для простоты допустим, что все коэффициенты равны единице. Что должно получиться в итоге?
>> No.48352 Reply
Заливаю сюда свой пост из кафедры, так как нужен ответ. Ибо время идёт, а идёт в никуда, за это время нужно что-то делать. В кафедре пустовато что-то, поэтому здесь.
---
Со вчерашнего вечера мучаю книгу "Новая большая книга CSS". Сегодня утром продолжил читать и просто нападает сонливость при этом, не могу читать(у меня так со многой литературой) и при этом воспринимать текст. Казалось бы, мне не интересен кодинг в таком случае, но нет, как только сажусь за пеку и начинаю тестировать новые накопленные знания, то сразу начинается прилив сил и я готов верстать и верстать. Основы вёрстки кроме js я знаю, но нужны книги, так как не очень в понимаю позиционировании и нет опыта. Так вот анон, эту книгу я таки дочитаю, но есть ли какой-то сайт с заданиями? Или же совет по поводу того, как нужно читать книги. Впереди у меня ещё много чего есть, так как стремлюсь в веб-РАЗРАБОТКУ, а не вёрстку. Немного не по себе, что будет настолько сложно, что я даже не могу книгу прочитать неужели я настолько бездарен, ведь без книг никак сейчас.
>> No.48353 Reply
>>48352
CSS не нужно, уже давно есть нормальные JS фреймворки.
А вообще пиши по вакансиям и выполняй тестовые задания. Скорее всего твое лицо макнут в лужу, и сделают подробный разбор кода, с указаниям, как можно было сделать лучше.
>> No.48354 Reply
>>48353
В дополнении к этому:
код, как и верстка, не бывают в ваакууме. Так что нет смысла дрочить миллион книг.
Найди какую-нибудь одну страничку, и сверстай ее по-человечески. Скинь код сюда, и получишь нормальное ревью.
ВСЕ. Вот тебе и задание.

К примеру, хочешь сделать сайт пиццы.
Вводишь в гугл "заказать пиццу москва". Выбираешь самый красивый сайт. И хуяришь его, параллельно задавая вопрос "а как тут это сделали?".

Сайты с упражнениями - это путь в никуда, иллюзия и говно
>> No.48355 Reply
>>48354
Это лучший совет, спасибо тебе. В последнее время на бордах встречал только зелёных и жирных анонов, которые тыкали мне в лицо алгоритмами при этом кричали, что веб для обезьян, в которых ничего не понятно. Так что пойду доучивать позиционирование и начну верстать сайтики. Хочу до конца разобраться с этими html/css, чтобы потом нырнуть в js, с его библиотеками и фреймворками. Спасибо, анон!
>> No.48356 Reply
File: believer.jpg
Jpg, 68.78 KB, 312×516 - Click the image to expand
edit Find source with google Find source with iqdb
believer.jpg
>>48353
> выполняй тестовые задания
>> No.48410 Reply
File: IMG_20180113_2011...
Jpg, 119.00 KB, 600×856
Your censorship settings forbid this file.
unrated
File: IMG_20180113_2012...
Jpg, 124.75 KB, 600×783
Your censorship settings forbid this file.
unrated

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

Собственно, начну. Книгу я так и не дочитал, в пизду её, но прошёл пару курсов webref, htmlbook, sololearn и по-свински сверстал свою первую веб-страницу. Загуглил заказать пиццу киев, сделал скриншот и пошёл писать свой код. Это получился дикий говнокод и я хочу услышать от вас советов, а если конкретнее, то тыкайте меня мордой в мои ошибки и бейте меня посильнее за каждую из них. Я не освоил анимацию и переходы, поэтому один элемент верхний правый угол, там выскакивает доп.меню при наведении я не сделал, а ещё и пик к нему не смог выгрузить, так же низ сайта не доделан из-за моего долбоёбства, float пиздячит мои элементы по всей странице, в конце приходилось включать position:reletive и ровнять всё ручками, по пикселям. Верстал я на планшете, ибо бомж, но через недельку полудохлый ноутбук запущу, там же и начну JS осваивать. Если что-то будет плохо отображаться, то это я долбоёб и просто окошко браузера посдвигайте чтобы встало хорошо, но говна быть не должно, думаю.
Пик 1 — то, что получилось у меня.
Пик 2 — то, что должно было получится.
http://rgho.st/6STflhCPx — всё, что я юзал для создания этой веб-страницы, там же и css и html файлы, думаю разберётесь.
https://pastebin.com/9TmvCh1V — css код запилил в <style> и выгрузил в сеть, НО картинки отображаться не будут, думаю уже и так понятно.

Вроде бы всё что нужно я уже отправил. Жду от вас помощи, аноны :3.
>> No.48411 Reply
>>48410
Забыл добавить. Это говно верстал с вчерашнего вечера. Это так, для сведения.

быстрофикс
>> No.48412 Reply
>>48411
Ещё шрифты внизу поставить без засечек и будет вполне и очень даже.
Градиенты и текстуры не добавляй, ещё ни у кого красиво не получилось.

Сам по вёрстке знаю только три книги:
«Web Design for Developers» (Brian Hogan)
«Design Accessible Web Sites» (Jeremy Sydik)
«100 Things About People» (Susan Weinschenk)
>> No.48415 Reply
>>48412
> Ещё шрифты внизу поставить без засечек и будет вполне и очень даже.
А какие-то фейлы в коде есть? По типу "А так можно было сделать лучше" или "Зачем это свойство, если другое делает тоже самое", есть сомнения, что такого много.

> Градиенты и текстуры не добавляй, ещё ни у кого красиво не получилось.
Да, я это понял когда вчера вечером ещё раз просматривал кнопки на сайте и оказалось, что там нужно было не градиент задавать, а просто фоновой картинкой поставить, что было бы в разы проще.

> Сам по вёрстке знаю только три книги.
Мне бы освоить вёрстку на среднем уровне, но таком, чтобы свободно верстать макеты. Все для того, чтобы нырнуть в JS и изучать его несколько месяцев, иногда заглядывая и вспоминая html/css код.
>> No.48416 Reply
>>48415
> А какие-то фейлы в коде есть
Заказчикам это всё равно, не переживай LOL
>> No.48501 Reply
Есть ли что-нибудь почитать про bootstrap на русскомдля начинающих?
>> No.48502 Reply
>>48501
Почитай про английский для начинающих. В мильон раз полезнеей.
>> No.48504 Reply
>>48502
Для начинающих я английский и так знаю, но для нормального восприятия сколько-нибудь специализированной литературы этого недостаточно.
>> No.48505 Reply
>>48504
Это техническая литература, а не художественная, она намного проще.
>> No.48506 Reply
File: 1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
Jpg, 161.77 KB, 850×637 - Click the image to expand
edit Find source with google Find source with iqdb
1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
>>48505
Я, конечно, попробую, но реквест русскоязычных источников оставлю в силе.
>> No.48526 Reply
>>48501
А насколько он вообще нужен и распространён?
>> No.48527 Reply
>>48526
Весьма удобен, когда надо накидать аккуратную вебморду, а ты не понимаешь в этих всех цссах и верстках.
>> No.48528 Reply
>>48527
А как мне самому прикинуть уровень своих знаний и умений? И заодно узнать как выглядит вёрстка со стороны разработчика.
>> No.48560 Reply
Насколько я понял, есть два пути: путь ложной простотыphp+sql и путь явной сложностиhtml+css+javascript +php+sql || +python+sql. Ох уж эта веб-разработка, я-то думал, что за год на базовом уровне всё освою.
>> No.48564 Reply
>>48560
Всегда начинали изучение с простого. Возьми книгу «JavaScript for Kids», потом «Understanding ECMAScript 6» и с них начинай.
>> No.48568 Reply
>>48564
> «JavaScript for Kids»
Слишком сложно, пробую пока http://jsforcats.com/
>> No.48682 Reply
Анон, выручай.
Сбацал, значится, на коленке сайт, чтобы текст выводить, поднял на Апаче, да столкнулся с проблемой - жабаскрипт не работает!
Конкретно: через PHP реализована "сборка" веб-страницы (из шаблонов, плюс параметры), с помощью которой я добавил тэг <script> и вызвал функцию из файла. Сам файл лежит в папке scripts, которая в корне.
В консоль выводит следующее:
`Uncaught SyntaxError: Unexpected token <`
Причём эта ошибка перенаправляет почему-то на вообще левый файл.
А вот это:
`Uncaught ReferenceError: getWork is not defined`
говорит о том, что функцию оно почему-то вообще не воспринимает как уже объявленную.
ЧЯДНТ? И как вообще правильно встраивать через пыху жабаскрипт?
>> No.48811 Reply
File: 79-Slowpoke.png
Png, 95.98 KB, 800×647 - Click the image to expand
edit Find source with google Find source with iqdb
79-Slowpoke.png
>>48682
Просто руками перепиши места, на которые ругается консоль. Мне обычно помогает, если я сразу не вижу ошибку.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]