[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

Ответ в тред 31137. [Назад]
 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: video, music, code, archive, pdf, text, flash, image, vector
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.31137 Ответ
Файл: 07_009.jpg
Jpg, 62.06 KB, 1024×573 - Нажмите на картинку для увеличения
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 Ответ
>>31137
> серверново
>> No.31191 Ответ
>>31137
> Тред создан во имя поисковой оптимизации.
Не нужно. Оставь православную кафедру сайтостроя, она и так медленная.
>> No.31192 Ответ
>>31137
> Тред создан во имя поисковой оптимизации.
Но ведь поисковая оптимизация не нужна. Желаю тем, кто её придумал и пользуется ей, основательно прожариться в аду до угольно-чёрного цвета. И лично тебе тоже, ОП, если ты занимешься SEO.
>> No.31202 Ответ
Файл: iu-head.png
Png, 12.22 KB, 731×62 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
iu-head.png
Как делать подобные спрайты? Где-то видел онлайн-ресурс для подобного рода дел.
>> No.31205 Ответ
>>31137
Анон, объясни одну вещь.
На сайте есть форма, данные которой могут обрабатываться на сервере. Отправляем на сервер с помощью Get или post запроса.
Однако как отправить в другую сторону - с сервера на сайт?
>> No.31206 Ответ
>> No.31226 Ответ
>>31202
Поищи на хабре, там каждый месяц или около того делают компиляции с полезных вебмакаке ресурсов.
>> No.31228 Ответ
>>31202
Почему ты называешь это изображение спрайтом?
>> No.31244 Ответ
Доброго дня.
А никто не подскажет, где можно найти интересные развивающие задачки по вебскриптингу или просто фронтенду?
ну или даже не так, где сейчас можно в полуразвлекающей форме выучить всякие тонкости и т.д?
Просто сейчас настроение такое, что хочется чего-то нового и полезного, но в тоже время и без излишних превозмогательств.
>> No.31245 Ответ
>>31244
И да, сейчас читаю говнокод.сру. Частично подходит под реквест, узнал немного нового.
Хм. Еще начал читать книгу о регулярках, но как-то они не такие интересные как казалось.
>> No.31246 Ответ
>>31245
Попробуй регулярки Perl 6.
>> No.31289 Ответ
>>31137
Анончик, помогай, я запарился гуглить.
Разобрался в отправке POST запросов со страницы на сервер, даже смог выполнить подгрузку данных с сервера на страницу с помощью Ajax. Но все это происходит между страницей и сервером на котором крутится сайт. А как сделать запрос на другой сайт? И принять ответ. Гугл указал мне на кроссдоменные запросы, то ли оно? Хочется использовать API других сайтов, того же lastfm, к примеру. Подскажи, анон.
>> No.31290 Ответ
>>31289
гугли crossdomain.xml и его правила.
>> No.31291 Ответ
>>31290
к тому же у популярных сайтов давно есть апи разные, это стоит тоже погуглить, у ластфм почти наверняка.
>> No.31303 Ответ
>>31290
Погуглил, ужаснулся. Все делается через костыли с флешами и прочим срамом.
Уж проще написать программу, которая будет сохранять инфу в файле на сервере, а страница будет просто подгружать данные.
>> No.31304 Ответ
>>31137
Почему-то не работает onreadystatechange обработчик.
Сервер точно отправляет ответ(работает на одном компе с браузером), который отображатся в ошибках firebug с кодом 200.
http://pastebin.com/YJZ8BqsW
>> No.31305 Ответ
>>31304
У тебя проблема с зонами видимости переменных — скобки фигурные проверь.
200 — Ok
>> No.31306 Ответ
>>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 Ответ
>>31304
ну и в качестве завершающего аккорда - у тебя неправильно расположен обратный вызов на req, при нажатии на кнопку, создается нвыой объект req, а вот у него-то и нет onreadystatechange, т.е. у тебя есть вариант каждый раз задавть функцию обработчика события перед отправкой сообщения (req.send(null)), т.е. >>31305 - прав.

адье, уебки, больше здесь делать нечего.
>> No.31312 Ответ
Скобки проверил - все правильно.
С onload у меня все скрипты всегда работали, к тому же скрипт внизу страницы т.е загружается последним. Проблема именно в
onreadystatechange который не срабатывает, хотя ответ приходит. http://pastebin.com/NTAg7agy
>> No.31313 Ответ
>>31312
Нужно было добавить overrideMimeType к req и страницу с которой идет запрос загружать с того же сервера.
Вопрос снят.
>> No.31318 Ответ
Файл: -.jpg
Jpg, 64.59 KB, 385×562 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
-.jpg
>>31137
Репост из универсача, вся атктивность вроде тут.
>>/u/99789
>> No.31375 Ответ
>>31290
>>31291
Поясняйте, аноны, как обращаться к API. Гугл навел меня на Json и Jsonp. Однако я не могу найти понятного и вменяемого примера. Таковые есть на jQuery, но это же совсем не тру, хочется JS.
>> No.31378 Ответ
>>31375
jQuery - это тру JS.
>> No.31381 Ответ
>>31378
Библиотеки не нужны, пока не буду хорошо владеть чистым JS.
>> No.31382 Ответ
>>31381
Чистый JS - это jQuery. JS без jQuery - это C без stdlib и самого C.
>> No.31383 Ответ
>>31382
Очевидно, все, что реализовано в JQuery можно написать самому на JS.
>> No.31384 Ответ
>>31382
> Чистый JS - это jQuery
Bitches don't know about my nodeJS.
>>31375
> Json
Формат сериализации данных, можно самому парсить, можно использовать eval, а в фреймворках есть уже готовые функции для обработки.
>> No.31387 Ответ
Файл: macro-пожечь-ересь.png
Png, 362.80 KB, 560×420 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
macro-пожечь-ересь.png
>>31384
> можно использовать eval
>> No.31389 Ответ
>>31387
можно != нужно
>> No.31394 Ответ
>>31383
Очевидно, все, что реализовано в C, можно реализовать на Ассемблере.
>> No.31402 Ответ
>>31394
Да, этим я и буду заниматься, няша.
>> No.31404 Ответ
Файл: 1368088126661.png
Png, 1.32 KB, 300×20
edit Find source with google Find source with iqdb
1368088126661.png
Файл: 66213573201210191...
Jpg, 223.27 KB, 1600×852
edit Find source with google Find source with iqdb
66213573201210191511332477148891560_008.jpg
Файл: 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 Ответ
Файл: 1368813317069.png
Png, 181.13 KB, 466×800 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1368813317069.png
Доброго всем дня. Прошу не игнорировать мой пост, он очень важен для меня.
И так, каким должно быть портфолио? Направление - фронтэнд.
На что смотрят? На сам сайт портфолио или больше на примеры уже на нем? Какие они должны быть? Ссылочки на годные портфолио?
Вот не могу пока определиться с общей моделью. Одно время хотел даже полуигру-полусайт сделать, видел у одного такое портфолио, теперь сомневаюсь. Да и вообще что-то не могу сформировать идею.
>> No.31625 Ответ
>>31624
Тот же вопрос по бэкенду.
>> No.31626 Ответ
>>31624
1) Покорность
2) Готовность копаться в любом говне
>> No.31642 Ответ
>>31626
Сразу в голове рисуется БСДМ с элементами копро ^__^.
>> No.31650 Ответ
Аноны, может в этом филиале знают ответ на это >>/u/100860 ?
>> No.31657 Ответ
>>31650
В твоем случае с сортировкой по возрастанию -1 и 0 дает одинаковый результат, да. Как и 1 и 0 при сортировке на убывание.
И да, там внутри не обычный метод сортировки пузырьком, а модифицированный вариант. Предполагаю, что он не всегда дергает числа в строго порядке. Поэтому и 1, и -1, и 0 нужны.
Хм. надо бы это сейчас проверить, но чет лень так.

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

>>31650
+ еще ноль может быть нужен в некоторых редких случаях в своих функциях сортировки.
>> No.31670 Ответ
>>31657
> там внутри не обычный метод сортировки пузырьком
Насколько мне известно там quicksort, пузырек вроде применяется лишь в образовательных целях. Спасибо тебе за ответ.
>> No.31692 Ответ
>>31137
Анон, я тут играюсь с php. Так вот, я подумал может отправлять серверу не куски информации из form а группировать все что нужно в один JSON и отправлять его? Так вообще делают? Если да то как?
>> No.31694 Ответ
>> No.31695 Ответ
>>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 Ответ
Файл: Q2gxaxu8YTA.jpg
Jpg, 48.72 KB, 400×800 - Нажмите на картинку для увеличения
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 Ответ
>>31814
Прям без хаков низя. Можно попробовать нечто типа Lettering.js https://github.com/davatron5000/Lettering.js
http://jsfiddle.net/NL9RY/

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

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

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

А решетка... Да, она востребование, чем js. И вакансий хватает, только и конкурентов хватает, особенно с начальным уровнем. А что мешает взять и самому все изучить, что дают на курсах? И определился бы ты сначала с направлением, в котором хочешь работать.
>> No.33506 Ответ
>>33501
Да все все могут сами, ага. Но на курсах если меня возмут и они будут норм результат немного меньше будет зависеть от лени (а она у меня огого).
Так в чем суть решетки в вебе? Посмотрел начальный проект в майрософт вижуал, разметка там пиздец, если делать изначально на стороне, то с доделкой лишний напряг. В чем вин тогда? Вся мякотка в бэкенде и замене пыхи? Ну поясните, всеж мы люди, все мы человеки.
>> No.33528 Ответ
Файл: Лямбдазамыкания.png
Png, 17.73 KB, 768×789 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Лямбдазамыкания.png
>>33506
> В чем вин тогда?
Ну сам посмотри:
>> No.33538 Ответ
>>33506
Сомневаюсь, что так уж много набирают джуниоров для всяких там ASP и подобных монстров. Скорее будешь под десктоп писать.
>> No.33601 Ответ
Чем ASP Classic хуже от MVC?
А, котаны? В чем суть этого всего вообще.
>> No.33633 Ответ
>>33447
Учи питон, C# разработчик представляет забитого человека, на чем писать не так уж и важно с# с++ java python (между ними есть разница, какие то подходят для одного другие для другого ) только платят по разному, я пишу на C# и платят так себе, хватает только на поесть, python намного проще в изучении и как не странно гораздо более мощен чем C#. Разработчик на питоне гораздо больше получает, по крайней мере в моей глуши. Если бы я не был таким бесхарактерным давно бы уехал в Питер.
>> No.33634 Ответ
>>33633
> C# разработчик представляет забитого человека
> я пишу на C# и платят так себе, хватает только на поесть
Не суди людей по себе. В моём окружении всё наоборот - сишарпобоги успешны, а задроты-кодеры на питоне представляют собой крайне жалкое зрелище.
>> No.33635 Ответ
Файл: -.jpeg
Jpeg, 125.96 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
-.jpeg
>>33634
Не суди людей по себе. В моём окружении всё наоборот - питонобоги успешны, а задроты-кодеры на сишарпе представляют собой крайне жалкое зрелище.
>> No.33636 Ответ
Файл: sample-b1f71923a5853271e61b81ec05a66330.jpg
Jpg, 131.97 KB, 850×677 - Нажмите на картинку для увеличения
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 Ответ
>>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 Ответ
Файл: 1338285888903.jpg
Jpg, 116.63 KB, 620×916 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1338285888903.jpg
>>33638
Ну и ну, кот бы подумал.
Поправил и заработало, спасибо.
>> No.33646 Ответ
>>33634
А где ты живешь, если не секрет?
>> No.33649 Ответ
>>33633
Не удивительно - сисярп годен только на то, чтобы формочки клепать. А за этот макакин труд много платить естественно не будут.
>> No.33650 Ответ
Файл: питон.jpg
Jpg, 98.89 KB, 604×525 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
питон.jpg
>>33633
> и как не странно гораздо более мощен чем C#
orly?
>> No.33652 Ответ
Файл: japan-girls.jpg
Jpg, 57.19 KB, 622×933 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
japan-girls.jpg
Решил запилить cgi-скрипт на С++(компилятор Borland C++ 3.11, 16-бит) на локалхосте(денвер), но вот проблема - не запускается. Права на директорию настроил правильно. Не могу понять в чем проблема, то ли в денвере, то ли в 16-битном скрипте. ОС Windows 7.

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

Нет, я не Гвидо
>> No.33710 Ответ
Файл: -.png
Png, 15.05 KB, 320×638 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
-.png
Анон, есть интересный плагин Stylebot, который позволяет как устанавливать заготовленные темы, так и править стили CSS.
Так вот, у меня вопрос: Что нужно прописать, чтобы все посты были фиксированного размера и располагались по середине?
>> No.33711 Ответ
>>33710
.post {
    width:600px;
    margin:0px auto;
}
>> No.33712 Ответ
>>33711
Огромное спасибо.
>> No.33733 Ответ
>>31137
Не знаю, к вам это или нет.
Подскажи, анон, с чего начать, если я хочу парсить Доброчан? Имею медленные интернеты, поэтому нажатие f5 довольно болезненно, а подгружать сообщения хочется.
Как реализована подгрузка сообщений в Куклоскрипте?
>> No.33738 Ответ
>>33733
Погугли: <язык_нейм> html parsing.
> Как реализована подгрузка сообщений в Куклоскрипте?
На доброчане через местный API (http://dobrochan.ru/help/api ), на других бордах скачивается вся страница и из нее выдираются новые посты.
>> No.33744 Ответ
>>33738
Благодарю, попробую использовать библиотеку Curl с языком Си.
>> No.33758 Ответ
Антон, допустим, у тебя есть код на 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 Ответ
>>33758
почему бы тебе не вынести этот запрос на сервер?
>> No.33762 Ответ
>>33758
Сама постановка задачи не совсем правильная. Любой ресурс обрабатывающийся на клиенте может быть перехвачен клиентом. Так что клиенту можно отправлять или защифрованную хуитку, с которой он ничего делать не может (может только хранить), либо ничего.
>> No.33763 Ответ
>>33758
> у тебя есть код на js, который должен отправлять запрос куда-либо, при этом в теле запроса, кроме всего прочего, он должен передавать что-либо, что юзеру не обязательно знать
Не делай так. Никогда не делай так. Всё, что ты отправляешь юзеру, не должно иметь никакой возможности причинить тебе вред.

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

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

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

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

Применил означенный стиль. Всё работает, никаких косяков.
> > скринкаст
> Ват?
Ну видео с экрана же.
>> No.37283 Ответ
Файл: video.flv
Flv, 23395.17 KB - Нажмите на картинку, чтобы открыть файл
video.flv
>>37277
Ну если тебе от этого понятней станет, хотя по скриншоту и так всё видно.
>> No.37284 Ответ
>>37283

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

>>38000
Для развития же.
К тому же знания о том как оно все работает внутри часто помогают сделать правильный выбор. На крестах с последним стандартом и бустом писать весьма быстро выходит.
Не могу сравнить с питоном или php т.к. не решал сходные задачи на них(думаю на питоне все таки побыстрей получится). Но С# по скорости разработки кресты делают.
Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
>> No.38008 Ответ
Файл: 2010_04_04_13_13_s06_radikal_ru_i179_1004_c9_e2b9bc0f0bc1.jpg
Jpg, 78.21 KB, 450×607 - Нажмите на картинку для увеличения
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 Ответ
>>38001
> Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
Нонсенс. От архитектуры может зависеть сложность поддержки, расширения, чего угодно, только не разработки (т.е. решения конкретной задачи в конретный момент времени).
>> No.38010 Ответ
>>38000
Для скорости разработки лучше руби/питон. Пхп - это для скорости обучения и дешёвой рабочей сила.
>>38001
> Но С# по скорости разработки кресты делают.
Шутишь? Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
> от продуманности архитектуры
Архитектуры чего именно?
>> No.38012 Ответ
>>38010
> Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
Щас он тебе про умные указатели расскажет.
>> No.38014 Ответ
>>38001
> Кроме того скорость разработки часто зависит от продуманности архитектуры а не от языка.
Скорость разработки зависит и от архитектуры, и от языка.
>> No.38015 Ответ
>>38012
> > Языки с ручным управлением памятью и упором на близость к железу априори не могут быть быстрыми
Но почему? Всё зависит же от скилла программиста.
>> No.38017 Ответ
Анон, помоги реализовать! Нужно написать скрипт для браузера , который чистит куки и кэш и перезапускает страницу. С меня пак добра и лучи света.
>> No.38018 Ответ
>>38008
Зачем ты каждый раз перекомпилируешь буст? Собери его уже наконец. Ну или если ты под линуксами просто поставь пакет с бустом.
> > Я давно не работал с решёткой, но просто не стоит работать с ней как с крестами.
Я и не работая с ней как с крестами, я пользуюсь модным linq стандартными классами для хранения настроек, интерфейсами, делегатами и кучкой других штук делающих программирование более приятнам.

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

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

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

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

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

>>38012
Угадал

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

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

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

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


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

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

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

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

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

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

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

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

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

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

>>39512
> лишь извлечение лулзов из оригинальных идей (хотя, это в конце концов опять может вылиться в стартап и бабло).
Спасибо.
>> No.39528 Ответ
>>39506
У ТЕБЯ ПОЯВИТСЯ САЙТОВО-ОРИЕНТИРОАННЫЙ ТИП МЫШЛЕНИЯ И ВЫРАСТИТ ЧЛЕН
>> No.39532 Ответ
>>39525
> Хотя есть же http://www.vagrantup.com/ про который я чомуто забыл
Как же я ненавижу эти быдлосайты модернового дизайна, где даже чтобы получить вменяемое описание сабжа нужно походить по десяти страницам, читая текст, написаный нечитабельным хипсторским шрифтом в двадцатой кегли.
>> No.39534 Ответ
>>39532
Тебе шашечки или ехать? Тащемто можешь и ручками виртуалку настраивать.
>> No.39536 Ответ
>>39534
Полагаю ему ехать, а суют шашечки, лол. Хотя вагрант довольно популярная штука.
>> No.39543 Ответ
>>39532
> быдлосайты модернового дизайна
LOL. Веб-мастер не освоил написание собственной CSS.
Быдлосайты -- это сделанные на 100% Adobe Flash.
с:взывать стыд
>> No.39654 Ответ
Файл: Kitten_in_Rizal_Park,_Manila.jpg
Jpg, 559.14 KB, 1728×2592 - Нажмите на картинку для увеличения
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 Ответ
>>39654
> Умеют ли поисковые роботы (гугль и яндекс например) в яваскрипт
Не умеют.

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

Я тут еще всерьез ударился в безопасность, читаю разные статейки на хабре, и не понятна одна вещь: если не используется https, то каким образом можно получить доступ к post-данным?
Ну и вообще, дайте, пожалуйста, каких-нибудь хороших статей по безопасности в вебе, желательно на русском.
>> No.43025 Ответ
>>43024
Пост идет плейнтекстом вместе со всем, т.е. его можно перехватить и распарсить на любой точке прохождения твоего трафика. Сделай tracert до любого хоста, вот через всё это оно пойдет.
На практике это обычно банальный сбор запросов на открытых вайфай точках или малварь какая слушает трафик прямо у тебя.
>> No.43026 Ответ
>>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 Ответ
>>43026
Чё-то я вообще не думал, что получится так длинно.
>> No.43030 Ответ
>>43027
Спасибо большое, няша.
>> No.44672 Ответ
>>31137
Аноны, посоветуйте CMS-ку, пожалуйста. Расширяемую самописными плагинами и с нормальной документацией. Посмотрел вордпресс и расстроился от той каши, которая творится в их АПИ. Хочу что-то, что написано с умом, но при этом относительно беспроблемно и недорого хостится.

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

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

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

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

Вот типа было так:
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 Ответ
>>45526
Я не спец по рерайту, но второй рул не срабатывает. Если склеить все в одно правило, то работает:

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

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

> razdel
> price_1000-1500

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

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

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

Хотелось бы получить не односложный ответ.
>> No.45809 Ответ
>>45808
Да хоть на шелле. Это задача на полчаса на любом языке.
Делай на ноде, она украла стильность-модность-молодежность у бидона и руби.
>> No.45810 Ответ
>>45809
Но не избавилась от ущербности самого недо-языка.
>> No.45811 Ответ
>>45810
Время выбирать один из главных языков прошло.
Везде одна и та же пост-алоголо-параша, присыпанная надерганными фичами из других парадигм и сахарком. Главное это где деньги платят.
>> No.45812 Ответ
>>45811
Жс - белая ворона с кучей ненужных сюрпризов и необычностей. Лучше уж брать джаву и не выёбываться.
>> No.45813 Ответ
>>45812
У них ниши разные и неперескающииеся вообще.
Куда там поделкам на ноде к железному энтерпрайзу жабы.
>> No.45814 Ответ
>>45813
Чем же они отличаются? Железностью? Вот по конкретике.
>> No.45815 Ответ
>>45814
Чем отличается депутат и студент? Вот так и тут.
В целом, у жабы есть инфраструктура возрастом 20 лет, которая доказала свою надежность. И никакие новички не перепрыгнут её без соизмеримого опыта.
>> No.45816 Ответ
>>45815
Перепрыгнуть инфраструктуру? Что ты несёшь. Я тебя спрашивал, чем их ниши отличаются. Ниши одни и те же, отличается качество, поход и, возможно, цена. Цена - ещё не известно в какую сторону.
Вы все ноете, что дороги неправильно кладут, еда и машины плохие, а футболисты не умеют играть. А когда доходит до своей собственной работы, то играете в вечных новичков и вечных студентов. Экономике новички и студенты вообще не нужны.
>> No.45817 Ответ
>>45815
Кстати между студентом и депутатом много общего, - недобросовестно выполняют свою работу и впустую тратят бюджетные деньги.
>> No.45818 Ответ
>>45808
Golang.
>> No.46150 Ответ
Файл: Fib2sWc.png
Png, 77.90 KB, 282×300 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Fib2sWc.png
Насколько часто сейчас ведут отдельную статистику посещений на бэкенде?
У меня есть впечатление, что все перекатились на всякие гугло-аналитики и яндексы, потому что тот же гостери почти везде их выпиливает.
Хотя как минимум есть ещё логи запросов сервера, но туда уж вряд ли кто лазит.
>> No.46220 Ответ
Анон, где сейчас больше платят? Куда сейчас реально вкатиться?
>> No.46221 Ответ
>>46220
Что угодно популярное. Поройся в вакансиях.


Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]