Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

cyber 01.06.2014 15:24

nerv_, лол, точно ))

monolithed 02.06.2014 12:11

Цитата:

Сообщение от cyber
Что посоветутете по читать на тему парсинга js кода, и как строить дерево скоупов, на основе области видимости переменных.

Синтаксический анализ?

cyber 02.06.2014 14:02

Цитата:

Сообщение от monolithed
Синтаксический анализ?

спасибо.

cyber 04.06.2014 16:00

на винде есть такая штука "OpenServer", если что то подобное на линуксе ?
Что бы было легко и быстро)

l-liava-l 04.06.2014 16:46

Xampp, lamp быстро разворачиваются

Tim 04.06.2014 16:48

Цитата:

Сообщение от cyber
на винде есть такая штука "OpenServer", если что то подобное на линуксе ?
Что бы было легко и быстро)

У меня nginx & php-fpm под линуксом. Я конечно повозился с ними немного, но зато теперь всё как по маслу. От поделок типа денвера полностью отказался года 1.5 назад. Почти год, как забил болтище на свою поделку на основе апача.

melky 04.06.2014 17:09

Цитата:

Сообщение от cyber (Сообщение 314791)
на винде есть такая штука "OpenServer", если что то подобное на линуксе ?
Что бы было легко и быстро)

мне хватало виртуальных хостов в апаче. посмотреть можно в манах

cyber 04.06.2014 17:33

Цитата:

Сообщение от Tim
У меня nginx & php-fpm под линуксом. Я конечно повозился с ними немного, но зато теперь всё как по маслу. От поделок типа денвера полностью отказался года 1.5 назад. Почти год, как забил болтище на свою поделку на основе апача.

мне нужно что бы запустить пару раз joomla локально, времени лишнего нет поэтому нужно по быстрее, а nginx развернуть мне позже нужно будет)
Цитата:

Сообщение от l-liava-l
Xampp, lamp быстро разворачиваются

спасибо, попробую.
Цитата:

Сообщение от melky
мне хватало виртуальных хостов в апаче. посмотреть можно в манах

спс, глянем)

kobezzza 04.06.2014 17:38

Цитата:

Xampp
+1, хорошая штука, юзал её на винде и на маке.

l-liava-l 04.06.2014 21:10

Хочу исповедаться...

Я не делаю юнит тестирование, я не делаю end to end тестирование... я просто проверяю все console.log-ом в разных участках программы.

cyber 04.06.2014 21:12

Цитата:

Сообщение от l-liava-l
Я не делаю юнит тестирование, я не делаю end to end тестирование... я просто проверяю все console.log-ом в разных участках программы.

Ты не один ..
Давно хочу по читать как тесты писать, но все руки не доходят)

kobezzza 04.06.2014 21:13

l-liava-l, с чего вдруг такое откровение, сын мой? :D

Shaci 04.06.2014 21:20

Цитата:

Сообщение от l-liava-l
Хочу исповедаться...

Я не делаю юнит тестирование, я не делаю end to end тестирование...

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

kobezzza 04.06.2014 21:23

Цитата:

вроде как надо писать тесты сначала стараться, а затем код, а у меня иногда наоборот получается
Это методология такая TDD, она мало у кого получается (у меня, например, нет :)). Я сначала пишу функциональность, потом тесты, а иногда ленюсь :)

l-liava-l 04.06.2014 21:29

Цитата:

l-liava-l, с чего вдруг такое откровение, сын мой?
В момент когда код захватила регрессия и помочь мог только git reset --hard я познал истину и решил очистить с себя скверну

Цитата:

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

Цитата:

Это методология такая TDD, она мало у кого получается (у меня, например, нет ). Я сначала пишу функциональность, потом тесты, а иногда ленюсь
А тут расслабился))

Направьте меня, где научиться, как научиться) вроде материалов много, а понимаю с трудом

kobezzza 04.06.2014 21:30

Цитата:

Сообщение от l-liava-l (Сообщение 314841)
В момент когда код захватила регрессия и помочь мог только git reset --hard я познал истину и решил очистить с себя скверну

И ты увидел лицо беса, но смог устоять! Теперь же встань на путь истинны и напиши 1000 и 1 тест!

l-liava-l 04.06.2014 21:34

Цитата:

И ты увидел лицо беса, но смог устоять! Теперь же встань на путь истинны и напиши 1000 и 1 тест!
:lol: :lol: все я упал под стол))

nerv_ 04.06.2014 21:39

Цитата:

Сообщение от l-liava-l
Направьте меня

волшебный пендель? :)

уже был произведен
Цитата:

Сообщение от l-liava-l
В момент когда код захватила регрессия


kobezzza 04.06.2014 22:05

https://github.com/kobezzza/Collection/tree/v4.3/tests
http://jasmine.github.io/

describe('Math', function () {
    it('тест sqrt', function () {
        expect(2).toBe(Math.sqrt(4));
    });
});

cyber 04.06.2014 22:16

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

monolithed 04.06.2014 22:19

Цитата:

Сообщение от kobezzza
http://jasmine.github.io/

Mocha или QUnit в разы удобней. ИМХО

Shaci 04.06.2014 22:20

Цитата:

Сообщение от cyber
kobezzza, на таком примере вроде понятно,а взять чет по сложнее... за ссылку спс

там самое "сложное" - шпионы для тестирования ajax вызовов(опять же я так думаю), есть блог loftblog , там есть видео про тестирование http://loftblog.ru/tag/jasmine/

хотя проще наверное доки прочитать

kobezzza 04.06.2014 22:22

Цитата:

QUnit
Я пересел с qUnit как раз, т.к. когда тестов стало больше 100, то их поддержка стало проблемной, а в Jasmine удобная неограниченная система разделов и на мой взгляд очень приятный BDD синтаксис. Сейчас общее количество тестов на проекте у меня примерно 3к на Jasmine и пока всё хорошо.

С Mocha не работал, но когда прочитал, что там нужно ещё отдельно assert движок подключать, то выбрал Jasmine, т.к. там всё из коробки.

kobezzza 04.06.2014 22:24

Цитата:

Сообщение от Shaci (Сообщение 314867)
там самое "сложное" - шпионы для тестирования ajax вызовов(опять же я так думаю), есть блог loftblog , там есть видео про тестирование http://loftblog.ru/tag/jasmine/

хотя проще наверное доки прочитать

Писать асинхронные тесты очень просто:

it('тесты', function (done) {
    setTimeout(function () {
        expect(true).toBeTruthy();
        done();
    }, 500);
});

l-liava-l 04.06.2014 22:28

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

kobezzza 04.06.2014 22:36

Цитата:

Сообщение от l-liava-l (Сообщение 314872)
kobezzza,
а там можно сделать так. что вот я написал тест для участка кода, и указал что ожидаю в таком то месте такой то тип переменной. И если вдруг в этом месте оно не такое мне алертовала консоль? А потом я мог например просмотреть все этапы изменения этой переменной в разных блоках кода и выявить где допустил ошибку

Unit-тесты работают с интерфейсом, т.е. если ты реализуешь какой то способ в API своей функции, то конечно же его можно слушать, а просто сказать, мол сделай брекпоинт на 21 строке и посмотри что там - конечно нельзя, а если бы было можно, то не нужно так делать :D

monolithed 04.06.2014 22:46

Цитата:

Сообщение от kobezzza
Я пересел с qUnit как раз, т.к. когда тестов стало больше 100, то их поддержка стало проблемной, а в Jasmine удобная неограниченная система разделов

Не помню таких проблем в Mocha или QUnit (modules).

Единственное чего и правда нет, так это вложенных кейсов
Что касается ассертов, то мне они нафиг не нужны, я не планирую писать true.should.be.ok. Собственно этим мне и не нравится Jasmine.

PS: положа руку на седце, мне не нравится не один из существующих фреймворков для тестирования. Но свой мне так и не удалось допилить до желаемого уровня. :)

l-liava-l 04.06.2014 22:46

Цитата:

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

Теперь передо мной стоит задача, че из всех либ для тестирования выбрать, но читаю про jasmine, там видно будет

kobezzza 04.06.2014 22:49

Цитата:

или QUnit (modules).
Может я что путаю, но там ведь нельзя делать:

module('1', function () {
    module('1.1', function () {
        module('1.1.1', function () {
             // и т.д.
        });
    });
});


Да и в любом случае мне нравится подход к синтаксису в Jasmine.

Цитата:

Собственно этим мне и не нравится Jasmine
Наш спор из серии: табы или пробелы :)

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

l-liava-l 04.06.2014 22:50

Цитата:

l-liava-l, если абстрагироваться совсем то схема такая: ты делаешь вызов своей функции и результат сравниваешь с ожидаемым, и если он не такой, то валится алерт.
Да я пральна понял)
kobezzza,
Спасибо!)

monolithed 04.06.2014 22:53

Цитата:

Сообщение от kobezzza
Наш спор из серии: табы или пробелы

Я конечно видел либы, которые переводят QUnit в Jasminе, но это уже перебор.

melky 05.06.2014 00:19

Цитата:

Сообщение от kobezzza (Сообщение 314862)
https://github.com/kobezzza/Collection/tree/v4.3/tests
http://jasmine.github.io/

describe('Math', function () {
    it('тест sqrt', function () {
        expect(2).toBe(Math.sqrt(4));
    });
});

Mocha + Chai + LiveScript :victory:

cyber_ua 05.06.2014 23:16

monolithed, Я блин понимаю, бан но на хрена блин личку блокировать мне сообщение нужно важное прочитать. Это уже свинство.

monolithed 05.06.2014 23:29

Цитата:

Сообщение от cyber_ua
Я блин понимаю, бан но на хрена блин личку блокировать мне сообщение нужно важное прочитать. Это уже свинство.

Вопросы к создателям движка. Текст письма приходит на email.

cyber_ua 05.06.2014 23:32

Цитата:

Сообщение от monolithed
Вопросы к создателям движка. Текст письма приходит на email.

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

cyber_ua 07.06.2014 13:44

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

<div id="setImg" class="kartinka" align="center">
        
        	<img id="imgSrc" src="img/2.jpg" />
            <br /><br />
        <a data-timeOfDay = "evening2"  href="#">21:00-0:00</a> &nbsp;  &nbsp; <a data-timeOfDay = "night"  href="#">0:00-6:00</a> &nbsp;  &nbsp; <a data-timeOfDay = "morning" href="#">0:06-8:00</a> &nbsp;  &nbsp; 
         <a data-timeOfDay = "morning2" href="#">8:00-10:00</a> &nbsp;  &nbsp; <a data-timeOfDay = "day" href="#">10:00-12:00</a> &nbsp;  &nbsp; <a data-timeOfDay = "lunch" href="#">12:00-13:00</a> &nbsp;  &nbsp; <a data-timeOfDay = "afterLunch" href="#">13:00-18:00</a> &nbsp;  &nbsp; <a data-timeOfDay="evening" href="#">18:00-21:00</a> <br /><br /><br /><br />
        <a href="#" class="toCurrentTime">текушие время</a> <h2 class="currentTime">19:02</h2>
        </div>
        
    </div>

melky 07.06.2014 17:06

Цитата:

Сообщение от cyber_ua
class="kartinka"

Цитата:

Сообщение от cyber_ua
id="setImg"

вот за это я б воспринял
Цитата:

Сообщение от cyber_ua
доказать что это нормальная верстка

как оскорбление)

Gozar 07.06.2014 17:20

melky,
Верстка невалидная? Тогда в чем ее ненормальность?

melky 07.06.2014 17:45

Цитата:

Сообщение от Gozar (Сообщение 315497)
melky,
Верстка невалидная? Тогда в чем ее ненормальность?

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

Gozar 07.06.2014 18:32

Цитата:

Сообщение от melky
должны быть нормальными

Цитата:

Сообщение от cyber_ua
data-timeOfDay

Цитата:

Сообщение от cyber_ua
toCurrentTime

Цитата:

Сообщение от cyber_ua
id="imgSrc"

Даже какие-то правила именования просматриваются. В чем ненормальность? Оно не работает?

Оно может и говнокод, но совершенно нормальное! Думаю, что не ошибусь если скажу что 90% сайтов так сверстано.

Хотя не, брешу дата аттрибуты не должны содержать Upper Case. Но это не делает верстку ненормальной.


Часовой пояс GMT +3, время: 05:49.