24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Шапка тренда переезжает в репозиторий - https://github.com/ID25/js-thread (Делать пулл реквесты с корректировками и ссылками на материалы приветствуется), todo: сделать нормальный, структурированный гайд, посему реквестирую умельцев писарей, а то мне лень.
И так, главные новости последних дней. Ленивые пидарасы из JoyNet движутся со скоростью черепахи, в разработке node.js. От этого не слабо подгорело у стремящихся ребят из этой же компании, и поэтому они ушли. Очень сильная часть разрабов просто выкатилась из джойнета, оставив ноду на произвол судьбы, но свалили они не просто так, а сделали форк, ибо продвигать такое дело необходимо. На замену node.js пришел io.js, который будет активно разрабатываться частью людей, которым это реально нужно. После этого конечно и джойнет начали суетиться, и что то там обещают выпустить новую версию к новому году, но кому оно надо будет? Вот новость по этой теме: http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html К слову сказать, технология слишком свежа, чтобы в ней была какая то стабильность и ясность, поэтому сто раз подумайте, прежде чем вкатываться в это хипстерство. Лично я для себя решил вернуться к ноде через годик другой, когда тут уже все будет более менее ясно. Эта зима принесла не мало бугуртов нам, сначала свежачок от Ангуляр, без привычных нам вещей, теперь раскол ноды (новость кстати тут еще есть : http://habrahabr.ru/post/245013/)
Короче, шикарный стек не слабо так пошатнулся, хорошо уселись разве что бекбонопидоры, которых давным давно уже ничего не ебет.
Ну ладно, хватит о бугурте. Пока ты листаешь нулевую, Барак Обама играется с canvasom - http://geektimes.ru/post/242701/ Даже ниггер пишет на JS!
Ну и небольшая заметочка для наших хипстерков. Вот задумал ты сделать себе бложик, или портфолио, или еще что, и стал ты думать над выбором домена. А я тебе скажу - тут и думать нечего. Есть только один домен, и это - io. Это выбор передовой элиты, стартапов, и просто белых людей. Ну сам по суди, salem.ru или salem.com просто убоги на фоне salem.io Так что одной проблемой меньше, и запомни, все что не io = NOT SO HIPSTER!
Ну а мы тем временем начинаем очередной JS ТРЕНДЖ, пилим скриптопарашу, бугуртим от КАЛбеков, выводим в консоль хелло ворлды, как обычно.
Кстати о канвасах и прочей хне. Скачал тут демки из туториала к Фазеру, открыл в ФФ и выпал в осадок. Это что за пиздец такой? Чар реагирует на нажатия клавиш с запозданием, раз в несколько секунд всё подлагивает. Написал простенькую дему для канваса на чистом js без всяких сраных фазеров, в которой никаких объектов во время анимации не создаётся - думал из-за сборки мусора лаги. Хуй там: в ФФ как лагало раз в несколько секунд, так и лагает. В Хроме, вроде, всё нормально, но хер знает. Как можно js-игоры делать в таких условиях?
>>417609 >но для него написаны миллионы готовых библиотек Например?
Jquery - тяжелая параша для быдлокодеров. На мой взгляд, она существует только потому, что существует такие куски говна как IE5-11. Решение тут простое: либо публично отказаться от этих парашных браузеров и писать приложки под богоподобные ff/chrme/opr, либо заставить IE-дев-ов написать стандартизированный апи, как у нормальных людей. Вот тогда и заживем.
>>417610 >Как можно js-игоры делать в таких условиях? >html/canvas/js/xml >игры Ну ты понил.
Привет, Аноны, хочу глубже разобраться с джаваскриптом. Например, почему его выполнение не линейное и какое вообще оно, и как с этим совладать. С ООП джаваскриптовым тоже очень охота разобраться, ну и чтобы без особых трудностей. Есть какое либо чтиво на эту тему? Спасибо зарание.
Поясните по ext js 5. Только начал разбираться. Вот есть форма регистрации, вводишь email и нужно повторно ввести Confirm email. Вот, как сделать, чтобы эти два поля были связаны? Вводишь confirm email неправильно, и выскакивает предупреждение, что введен неверный email.
>>417613 > Jquery - тяжелая параша для быдлокодеров. На мой взгляд, она существует только потому, что существует такие куски говна как IE5-11. Зачем же тогда по-твоему существует JQ2.x? http://jquery.com/browser-support/
> >Как можно js-игоры делать в таких условиях? > >html/canvas/js/xml > >игры > Ну ты понил. Вот стандартизуют SIMD data types и ParallelJS, тогда и заживём.
>>417632 > Например, почему его выполнение не линейное и какое вообще оно, и как с этим совладать. евент луп ну и да, тебе на http://learn.javascript.ru
Ребята, чому так сложно все с этим js? Захотел например подключить депенденси какой-нибудь, уау, круто bower install yoba. Но он его складывает в какую-то хуевую директорию, руками подключать тоже не комильфо, нужна хуйня для склейка Та-дам, grunt. А для грант нужен еще npm, и в итоге вдрачиваешь еще в корень package.json и Gruntfile.js Конечно прикольно, но не кажется ли вам, что как-то дохуя много всего?
>>417729 > Захотел например подключить депенденси какой-нибудь, уау, круто bower install yoba. Но он его складывает в какую-то хуевую директорию, руками подключать тоже не комильфо, нужна хуйня для склейка Попробуй browserify. Ему ты просто указываешь путь к файлу, а он уже подцепляет зависимости и всё сам склеивает, оч удобно. Ну это как вариант. Так-то и для bower есть всякие плагины типа main-bower-files.
> Та-дам, grunt. А для грант нужен еще npm, и в итоге вдрачиваешь еще в корень package.json Node тебе и так скорее всего нужна, потому как тестирование, тулзы для сборки, свои скрипты и прочее. Сервер там по-быстрому поднять. npm идёт вместе с Node. package.json для зависимостей. Можно использовать и bower, но (1) в bower зависимости не рекурсивные, что чревато dependency hell, (2) там нет того, что нужно для сервер-сайда (тестирование, сборка, все дела) и (3) нам действительно не нужно два отдельных репозитория. NPM уже де-факто стандартный репозиторий пакетов для JS, самый большой, что позволяет устроить самый тотальный code reuse.
Короче говоря, node + npm нужны, потому что альтернатив им в общем-то и нет, а Grunt полностью опционален и часто не нужен, как коллеги ИТТ справедливо заявляют.
Читаю я тут код одного сайта на ангуляре, и вижу что все менюшки это коллекции объектов, и хтмл для них полностью рендерится рипитами. Это нормальная практика или синдром молотка?
>>417807 Откуда я знаю? У нас, например, так. Есть структура разных стейтов, которым можно указать, что их нужно отображать в меню. Но для простых сайтов это оверкилл. >>417781 Не очень понял, как VS будет билдить код, если это просто IDE. Код билдить будет скрипт на nodejs. >>417729 Нет. Депенденси обычно склеиваются в один файл. Хотя обернуть их все в browserify было бы тоже не плохо. Фронтенд уже как сишный код билдится, только вместо make - gulp, поэтому расслабься.
>>417735 > создать файлик и прописать директорию. Ну да, будет не bower_components, а yoba Смысл же не в этом, а в том что все равно руками его в страницу вставлять, и потом эти портянки тянутся
Но тащемто пох, я уже себе сделал grunt concat, клею все, зависимость есть
Решил научиться ангуляру, подопытный кроль - brainstorage (он же фрилансим по сути). Выкладывать прогресс на всеобщее обозрение или тут одни бяки и ничего советовать не будут?
Вот например вопрос, допустим я делаю такую шляпу (которая работает) [code] .controller('ProjectsListCtrl', ['$scope', '$http', function($scope, $http){ $http.get('jobs.json').success(function(data){ $scope.projects = data; }); }]); [/code] Но $http.get вроде бы возвращает promise. И была такая шляпа, что promise можно байндить во вьюхе и теоретически того же самого можно было добиться сделав [code] .controller('ProjectsListCtrl', ['$scope', '$http', function($scope, $http){ $scope.projects = $http.get('jobs.json'); }]); [/code] Но почему-то в таком виде оно не работает. Меня обманули?
Или вот еще например Есть справа у них такая штука типа Фулл-тайм, Парт-тайм, Контракт, Удаленно. Весь этот блок лучше дериктивой делать, или одну строку и ng-repeat-ом пробежаться? Туда же про список - сам список должен быть директивой, или только строчка? (ставлю на строчки, но мало ли)
>>417814 >Не очень понял, как VS будет билдить код, если это просто IDE. Код билдить будет скрипт на nodejs. > Я не разбираюсь как там все устроено, сорри. Может не так что-то объяснил. Есть статьи, где с точки зрения фронт енда поясняют?
>>417822 У вас директива головного мозга. Не нужно пихать их всюду, это не тот случай. >>417823 >с точки зрения >Код билдить будет скрипт на nodejs >с точки зрения фронт енда Я от твоей логики сломался.
Поясните дебилу как сделать йоба движущиеся окна как на дваще? Ну и чтоб картиночки тоже открывались, видосики там, вся канитель. Что будет более по-хипстерски: css3 или js ???
Посоны, нужно чтобы при наведении курсора на див внутрь этого дива добавлялась линия и под ней надпись. При этом у одного из элементов дива бэкграунд менялся с url('1') на url('2'). В теории я понимаю, что нужно юзать что-то подобное [code]$('#elm').hover( function(){ $(this).addClass('hover') }, function(){ $(this).removeClass('hover') } )[/code] Но на деле нихуя не понимаю. Пикрелейтед - то, что нужно осуществить. JS пока касался только поверхностно, по обучалке на generalassembly. А сверстать нужно "уже вчера".
>>417828 >Не нужно пихать их всюду, это не тот случай. А где нужно и какой тогда правильный случай? Я возможно соглашусь с тем, что если есть дериктива для элемента списка проектов/вакансий, то вот эта с типом занятости не нужна
>>417832 >А где нужно Удваиваю этого нуба. В доках какая-то муть про манипуляцию ДОМом, у меня пока в директивах только один маленький кусок жса который в жквери бы биндился к элементам на которые повешена директива, и один жквери плагин который графики рисует.
>>417858 Я понял идею директив, как способ сделать еще более семантичный лейаут. Где каждый атомарный объект в рамках страницы можно выделить в отдельую сущность. Т.е. вместо <div class="job-item"> .... портянка, формирующая описание .... портянка формирующая инфу о клиенте .... портянка о типах найма например </div>
Можно сделать например <job-item> <job-description/> <client-information/> <job-type/> </job-item>
А на детальной странице например <job-type/> и <client-info/> тоже есть, но например в хедере, можно их там зареюзать
Может это и есть директива головного мозга, как сказал тот анон, но я хотел бы в таком случае какого-то другого объяснения, с обоснованием желательно >>417832-кум
>>417832 >>417858 >>417862 Директива - это какой-то отдельный компонент, рассчитаный на повторное использование. Максимально отвязан от контекста проекта. Например - календарь, дропдаун, хайчарт, карта и т.д. А для инклуда html есть, внезапно, ng-include. А если используете JADE templates на сервере, то еще и jade include/mixin.
>>417829 Абсолютное позиционирование и обработка событий перетаскивания.
Пацаны, а жаба скрипт это фронтэнд? Я думал фронтэтнд макакам нужно всего-лишь уметь хтмл теги расставлять, а если нет, получается это еще большее дрочево, чем бэкэнд.
>>418027 Лень разбираться полностью, но подскажу, что заметил: во-первых, у тебя селектор на option. Зачем он тебе ? Тем более на один. Если ты хочешь повесить на каждый, то тебе нужен querySelectorAll. во-вторых, подозреваю, что option тебе вообще не нужен, нужно вешать на сам select (что-то типа change) и смотреть текущий элемент.
Заменит ли JavaScript C++ как в своё время кресты заменили C. Не секрет, что сейчас JS становится системным языком. Он уже вырос из веба.
На нём пишутся приложения, графические оболочки, сервера, игры. Не думаю, что на JS будут писать низкоуровневые вещи типа драйверов, хотя кто его знает. На C++ пишутся ОС. JS ничем не хуже.
>>418157 Ты или толстый, или не имеешь понятия что есть JS. Хотя некоторая доля правды в этом есть, взять тот же Asm.js. Но о масштабной экспансии JS на десктопы говорить не приходится.
>>418184 Brackets и Atom -- это браузеры, так что хуй тебе, а не скорость. SublimeText3 очень быстрый, и плагинов дохуя, можно из него такою-то иде сделать, сам охуеешь.
Анон, разъясни. Везде в вакансиях на фронт-енд требуется знание куча технологий, библиотек и хорошее знание чистого js. Я только-только начал джаваскрипт учить. Так вот, как лучше будет поступить, задрачивать js до полного понимания а потом браться за какую-нибудь библиотеку или фрейворк или сразу взяться за ангулар. Сильно не стукайте ньюфага. Спасибо за ответы.
>>418258 Задрочи сначала JS. Там не так много, есть несколько основных моментов, которые нужно знать, они разжеваны кучу раз в туториалах и статьях всяких. Выучишь - берись за фреймворки, почитай их исходники для укрепления JS и понимания самого фреймворка.
>>418216 C-x C-s оказываются очень удобными после: - смены местами CAPS LOCK и левого CTRL (глобально по всей системе) - назначения частых комбинаций как keychords (http://www.emacswiki.org/emacs/KeyChord), чтобы вместо C-x C-s набирать просто x+s
После этого смотрю на видоблядков как на говно, emacs pinky ушёл прочь.
Привет, JSач! У меня следующий вопрос - один мой товарищ, нихуёво разбирающийся в веб-программировании и зарабатывающий неплохие бабки этим, утверждает, что энгуляровские роутеры, будь то angular-route или angular-ui-route, очень недоработанные или даже вовсе плохие, поэтому использовать их не стоит. Он даже потиху делает свой роутер. Можете прокомментировать это как-то?
>>418343 Ты уже спрашивал. Один кривой, второй унылый. Можешь сделать велосипед, который будет хуже их вместе взятых, а можешь смириться и разработать паттерны и свою обёртку.
>>418343 Ну ебать, 21 век на дворе, пусть разведет срач на эту тему в твиттере/гитхабе. Если прав и сможет обосновать, уверен его послушают, если нет, пусть идет нахуй. Зачем писать свои велосипеды, когда есть чужие?
>>417595 Блядь, ну что это за слоутред такой? ОП, где весь экшон? Где разрывающие пердаки новости? Хотя бы новости постил. Так можно и пхп-макакой стать..
Сап, /js. Я сейчас просматриваю курс по сабжу. Так вот, там сначала рассматривается ECMAScript-262. Можно сразу писать и просматривать скрипты на нем? Есть ли какая-нибудь IDE?
>>418396 Не понял, что ты хочешь. Можешь codeacademy или codewars попроходить. Или винрарную игру Untrusted. IDE тебе не понадобится: Sublime Text, Brackets, Atom, Vim, Notepad++, Geany, TextMate, GEdit, etc.
>>418441 Нет, как я понял в разных версиях языка разный синтаксис. И поэтому в некоторых браузерах он некорректно отображается, а то и вовсе не работает. В уроках препод запускает скрипты через какой-то эмулятор командной строки.
Котаны, подкиньте годных идей single-page-application? Для портфолио делаю. Что-нибудь, для чего есть нормальные psd-шаблоны - хочется кастомизированного лука, не дефоолтный бутстрэп.
>>418821 > спиздил чужую идею закопирайченную Да ну нах? Дак у меня есть его данные (сам спалил лол, хотел меня завербовать впаривать его говно). Судя по аккам, чел известный. Это такой-то вин вышел бы. Он говорит, что он гений, учился в Стенфорде и ищет лоха для впаривания его гениального приложения. Я, к великому сожалению, не секу в жаваскрипте нихуя. Что он там спиздил, не подскажете?
Посоны, помогите концептуально, как лучше сделать. Недружелюбный жаваскрипт в очередной раз меня злит.
Имеется: API некоего вебсайта, в котором есть эвент-листенер (сообщения в чате, скажем). Код, который на каждое сообщение-команду должен что-то делать. Это что-то может состоять из нескольких команд, которые необходимо выполнить с задержкой относительно друг друга (к примеру, если нужно запостить в чат 3 сообщения, а там антиспам фильтр — мгновенно 3 не пропустит)
Хочется: Пауза между идущими рядом командами. Абсолютная, то есть стандартное do; wait; do;, а не setTimeout. Очередь из полученных команд, чтобы обращения разными пользователями записывались и выполнялись последовательно.
В общем, я хочу сделать свой эвент-луп с очередью, но отсутствие delay() или sleep() этого сделать не даёт. Костылики в виде for лупа пока разница во времени не достигней нужной величины — не оче. Говорят, процессор нагружает.
На блокировку плевать, браузер более ни для чего не используется (точнее, блокировка даже предпочтительнее, наверное, ведь она упрощает достижение нужного мне функционала).
Ебаться с setTimeout более нет сил, а с эвент-лупом так это вообще будет костыль на костыле с непрекращающимся просчётом нужных зажержек вызова вызова функций внутри функций.
>>419094 Почитай про промисы и вообще про JS что бы не создавать массив через new Array(). С промисами ты можешь сделать цепочку из действий в зависимости от успешности предыдущего действия. Типа
action1() .done(function () { действие выполнено, делаешь таймаут, запускаешь действие 2 }) .fail(function () { действие не выполнено, сам решай что с ним делать в таком случае }
>>419094 > Пауза между идущими рядом командами. Абсолютная, то есть стандартное do; wait; do;, а не setTimeout. Особенности event loop не позволяют добиться задания большей точности времени ожидания, чем с setTimeout: ты не знаешь, каким обработчиком через секунду будет занят поток вычислений и как скоро он кончится. Так что или setTimeout, или активное ожидание.
>>419202 Не совсем понял, что с циклом. Если тебе нужно выполнять несколько команд друг за другом и ты не знаешь, сколько их будет, то есть такая вещь как https://github.com/caolan/async . Метод series, помоему, то что нужно (может что-то другое из этой библиотеки, не помню точно).
>Это плохо? Нет, но детектирует человека, который перекатился из другого языка и пытается применять его правила и конструкции к JS, а это уже приводит к уродливым и неработающим вещам. Вот хороший гайд: https://github.com/airbnb/javascript#arrays
>>417595 > Ленивые пидарасы из JoyNet Joyent > На замену node.js пришел io.js Нет. > Does Node Forward compete with Joyent or Node.js? > No. > We hope to merge with the original Node.js project at some point in the future. http://blog.izs.me/post/104685388058/io-js Лишь бы попиздеть.
>>419207 >Вот хороший гайд: Такие гайды напоминают мне тех старых пидорасов из института русского языка, которые говорят мне, как правильно ставить ударение в слове "обеспечение". Но те хоть пытаются как-то обосновать свои решения, придумывают всякий околонаучный пиздёж. А тут мы видим просто свод ничем не подкреплённых правил, которые точно так же могли бы быть диаметрально противоположными и остались бы столь же верными.
Почему надо использовать одинарную кавычку для строки? Это будет нехорошой привычкой, если ты параллельно пописываешь на C++. Почему именно два пробела вместо таба? Почему надо использовать двойную скобку вместо создания объекта?
Этот гайд локальный для конкретной компании и контрибьюторов их репозиториев. Нет никаких причин брать его за высшую истину и тыкать в него ньюфагов.
>>419215 Да, гайд для конкретной компании, но другие гайды отличаются от него в мелочах. Никто не говорит, что это высшая истина и его нужно неукоснительно соблюдать и ни в коем случае не ставить открывающую скобку на новую строчку. Но он облегчает жизнь новичкам в языке. Когда ты приходишь в новый язык и нихуя не знаешь, я считаю, что style guide - неплохой и полезный старт и то, что ты его прочитаешь даёт хоть какую-то гарантию, что ты хотя бы попытался воспринять данный язык как самостоятельный и не тащишь свои привычки с другого языка. Я основываюсь на том, что меня много раз дергали C#-кодеры, которые писали C# код в JS и удивлялись, почему он не работает. В том числе были и примеры с созданием массива: Array() даёт пустой массив Array('a') даёт массив с элементом 'a' Array(2) даёт массив с двумя undefined элементами
Что бы не охуевать от такого поведения и не путаться, можно просто создавать массив с помощью скобок и всегда знать, что у тебя будет в итоге.
В общем, я стайл гайд предлагал из хороших побуждений, а не с целью "тыкать ньюфагов"
>>419207 >Нет, но детектирует человека, который перекатился из другого языка Перекатиться-то я перекатился, но из питона. А "учил" я js только по примерам, так как нужен был (пока что) лишь для одной конкретной задачи, и new Array() видел на том же stackoverflow. То есть, лучше просто arr = [] писать? Чем конкретно-то new Array() плох? "неджаваскриптовый" код получается? Впрочем, хотя бы для consistency полезно, ведь ассоциативный я просто {} делаю.
>>419155 >>419154 Спасибо. Промизы сейчас попробую, так-то я о них что-то читал перед этим, но, боюсь, могут не подойти — команда-то "выполняется" в любом случае, ей абсолютно плевать, будет ли какой-то результат или нет, фидбека никакого в сам рантайм не идёт. Ну, не буду гадать.
>>419244 > Чем конкретно-то new Array() плох? Тем, что new — это костыль, добавленный в JavaScript для того, чтобы люди, знакомые только с классическим ООП с классами (читай: джависты) не путались. Array — функция, а не класс, её можно вызывать напрямую, без new. Более конкретно — скобочки позволяют дальше расширять массив: [], [1], [1,2], [1,2,3]. Конструктор Array — нет, из-за ебанутого поведения (см. >>419228). > Впрочем, хотя бы для consistency полезно, ведь ассоциативный я просто {} делаю. Вот тут как раз для словарей лучше вместо {} использовать Object.create(null). http://jsbin.com/jojiyosika/1/edit?js,console
>>419244 Ты сам определяешь внутри команды, выполнилась она или нет. Либо делаешь action1().always(function () { setTimeout(function () { action2() }, N) })
>>419260 >Ты сам определяешь внутри команды, выполнилась она или нет. Так это, я с клиентской стороны всё делаю, команды не я придумывал. Те команды, что я пытаюсь делать, не возвращают ничего, там undefined, и .done, .always ругаются на >action1().always(function(){action2()}) >TypeError: action1(...) is undefined и action2() не выполняется (даже с timeout'ом)
Нет, я могу, конечно, вручную проверить результат, но, как я уже говорил, результат виден лишь через некоторое время, так как сервер обрабатывает это всё, и там придётся те же самые setTimeout'ы использовать.
На примере того же чата. Предположим, есть 2 команды: sendmessage() — отправляет сообщение getchats() — позволяет вручную получить в консоль массив со всеми сообщениями чата.
Если я сделаю >sendmessage('test'); getchats() То в консольке появится [ ] Если же >sendmessage('test'); setTimeout(getchats,500) То в консольке будет ['test']
Соответственно, если после getchats() захочется deletechats(), то в первом случае сначала выполнится команда удаления, которая очистит и так пустой чат, а потом уже дойдёт сообщение. Не понимаю, почему так, ведь на сервер они последовательно должны приходить. Пакетики-то, конечно, разными путями могут доходить, но оно никогда не работает (getchats() всегда пустой, если без делея вызывать).
sendmessage(), насколько я понимаю, "готова" тут же, браузер ничего в ответ не получает и не делает, из стека команда сразу убирается и обработка кода продолжается.
В общем, есть возможность в подобном коде http://ideone.com/B3412g получить в консоль цифры по порядку, а не 1-4-2-5-3-6? Единственный способ, который мне приходит в голову с моим понимаем js и наложенными на меня ограничениями — http://ideone.com/Ma1lmC В принципе, пойдёт и так, вероятно, времена выполнения функций известны, их не так уж и много.
Ну и ещё вопрос. Если функции func1 и func2 имеют аргументы, то .push(func1(args)) я написать, естественно, не могу (сразу выполнится, как и в setTimeout, где нужно отдельно аргументы писать). Есть какой-либо иной способ, или только с как бы "функцией-обёрткой": >func1wrap = function(){func1(args)} >queue.push(func1wrap) >queue.shift()() ?
Я понимаю, что, очень вероятно, хочу с джавой сделать совсем не то, для чего она предназначена, но всё же. Спасибо за помощь, в любом случае. Попробую ещё этот caolan async, хрен его знает, может заработает.
>>419334 >Не понимаю, почему так Впрочем, понял. getchats() обращается не к серверу, а к тому, что в браузере уже записано. А так как пауза между двумя командами почти 0, сообщение от меня к серверу и обратно к мне (в чат) пройти за это время не успевает, я и получаю пустой массив.
>>419334 > А в чём разница? {} наследуется от Object.prototype, поэтому в нём будут доступны все свойства последнего. Об этом нужно не забывать и в нужных местах делать проверки hasOwnProperty. Object.create(null) — это просто объект, без какого-либо прототипа (ну т.е. null), в нём будет только и ровно то, что ты сам туда положил.
>>419334 > Если функции func1 и func2 имеют аргументы, то .push(func1(args)) я написать, естественно, не могу (сразу выполнится, как и в setTimeout, где нужно отдельно аргументы писать). Есть какой-либо иной способ, или только с как бы "функцией-обёрткой" func1(1,2,3) эквивалентно func1.bind(null, 1, 2, 3)(), поэтому тут надо так:
queue.push(func1.bind(null, arg1, arg2, ...))
Если хочется массивом аргументы передавать, то, соответственно:
>>419464 > Какое-то применение у этого удивительного факта есть? Эм… ну да. Если объект использовать как словарь, то даже проверка "'toString' in {}" даёт true, единственный способ узнать, принадлежит ли ключ самому объекту или унаследован — это использовать hasOwnProperty, причём нельзя просто так взять и применить как метод {}.hasOwnProperty (потому что такой ключ тоже может быть) — нужно вызывать его как Object.prototype.hasOwnProperty.call. О чём очень хочется забыть, так как это приходится делать при каждом обращении. И многие забывают, поверьте мне.
В то время как с Object.create(null) всё просто: ключ либо есть, либо его нет. Можно использовать как оператор in, так и просто сравнивать с null/undefined.
В общем, такие «голые» объекты специально и предназначены для использования в качестве словарей. С обычными объектами, в которых набор ключей более или менее фиксирован, такие проблемы почти не встречаются.
>>419520 >Читай ветку. Ну так, кто-нибудь объяснит, что вы пытаетесь сделать? Пока только одни вскукареки и попытки высрать связку событий на клиенте и сервере.
>>419215 Поддвачну тебя. Ссу на головы долбоебам, не умеющим в рефакторинг.А ведь уже 21-й век на дворе
>>419526 > два пробела вместо таба Потому что таб отображается по-разному в зависимости от настроек IDE. Алсо, в проекте обязательно находится пидорас, который ставит себе политику отступов «mixed».
>>419215 >Почему надо использовать одинарную кавычку для строки Потому, что в html-css - используются двойные. А двойные кавычки экранируются одинарными. >параллельно пописываешь на C++ А если на паскале? >Почему именно два пробела вместо таба? Пробелы потому, что табы пидорасит. Два для того, чтобы удобнее открывать на экране два буфера и дерево. Да и просто аккуратнее. >Почему надо использовать двойную скобку вместо создания объекта? Это короче и понятней. Для массивов, например, поведение конструктора зависит от типа аргумента, что не улучшает читаемость. Как-то так.
>>419555 >Потому, что в html-css - используются двойные. А двойные кавычки экранируются одинарными. Это ты намекаешь на говнокодеров, которые делают .innerHTML = ? >Пробелы потому, что табы пидорасит. Табы пидорасит, если их мешать с пробелами.
>>419556 >.innerHTML Иногда приходится. Например в каком-нибудь гриде заюзать простенький темплейт, а переделывать на файлы из-за одной строки западло. Или еще какой-нибудь случай (но это не общая практика). А еще одна клавиша вместо двух. (' or shift - ') >Табы пидорасит, если их мешать с пробелами. Иногда они мешаются, если ты любитель художественного форматирования и комментариев. Плюс можно два раза шлёпнуть по пробелу, если тянуться до таба влом (мозоль на мизинце, например).
>>419563 > jQuery, DOM Нихуя не понял. Ко всяким импутам можно через value подлезать. Еще .text где-то ползает. А как еще можно засадить в, например, див какую-нибудь ерунду? Чем вообще плох .innerHTML?
>>419584 >А как еще можно засадить в, например, див какую-нибудь ерунду? Какую? Если текст, то textContent, если элемент, то appendChild. Хотя текст тоже можно через appendChild добавлять, если создавать его, как createTextNode.
>>419587 >>419588 Спасибо за разъяснения. Тааки добавлять элементы через innerHTML и правда как-то не очень, но всякие счетчики и прочую подобную хренотень я частенько делал на его основе. Да и вообще. с текстом работал преимущественно через него. Теперь буду размышлять.
>>419584 > Чем вообще плох .innerHTML? Тем, что он смешивает синтаксис JS с синтаксисом HTML (а если там style= есть, то и CSS). Вынесите вы эти шаблоны в html разметку, сложно, что ли?
>>417595 какой же скучный бородатый парень на картинке, никакой индивидуальности и намека на креативность. Снова эта борода, снова эта прическа, снова эта "сирьёзность" на лице, снова эти татуировки. Какая скука..
Интересно, во многих жс-фреймворках есть проблема с датами? Например в фаерфоксе нельзя выбрать 1 января 2014 года в extjs. Да, блядь, даже в последней версии 5.1.
Я совсем ньюфаг, не ссыте на меня пожалуйста. Первый день изучаю js. И у меня вопрос. Нельзя задать несколько if одновременно? Допустим открывается окно и пользователь вводит туда текст. Если текст один - один результат. Второй текст - второй результат. А если вводит что то, что не соответствует этим двум вариантам - срабатывает else. Но я так понял, if может быть только один?
>>419563 Студентов, ранее изучавших jQuery, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C)
>>419806 >Студентов, ранее изучавших javascript, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C) пофиксил долбоеба
>>419822 >Студентов, ранее сидевших на дваче, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. (C) Вот теперь правильно.
>>419827 >>419822 >Двачерпидоров невозможно обучить программированию. Как потенциальные подопытные они подверглись необратимой умственной деградации и утратили возможность в обучение. (C) Пофиксил даунов.
Ребята, наверное, не совсем по JS вопрос, но всё же, у меня есть форма, к которой я перед отправкой с помощью JS добавляю скрытые поля с доп. данными, так: <input type="hidden" name="field_array[]" value="name">. Есть список, я прохожу по нему лупом и на каждой итерации добавляю вот это скрытое поле.
Но теперь у меня появилась необходимость для каждого такого элемента списка добавлять не одно значение, а 3, они у меня закреплены у элемента списка аттрибутом data-value. То есть, нужно уже не одно скрытое поле добавлять, а три, и так, чтобы они были связаны друг с другом, как это сделать?
Но ведь тогда массив пополнится 3-мя разными атрибутами data-value, которые никак не будут связаны между собой, а нужно, чтобы они были связаны. Ну например, вот добавляешь ты на каждой итерации цикла инпут с названием кино, а теперь ты хочешь название, режиссёра и год выпуска, они ведь связаны должны быть все, а не в общей куче?
>>419934 Если хочешь, чтобы они были "связаны", придумай атрибут, по которому будут связываться, например, cinemaName.setAttribute("cinema", "ARMAGEDON"), directorName.setAttribute("cinema", "ARMAGEDON"), productionDate.setAttribute("cinema", "ARMAGEDON"). Ну и сделай объектную модель, и напиши функцию, чтобы это вручную кадый раз не писать, а циклом по элементам проходить.
>>419730 Двачую. Есть только одна засада. Если в одном из выражений && у тебя undefined, то будет ошибка, поэтому нужно ккаждый раз еще и на undefined проверять в таких выраениях.
>>419954 С хуя ли? В npm очень много нормальных модульных пакетов, выполняющих ровно одну чёткую задачу. Часто в каждом всего несколько функций. Такие пакеты можно не бояться подключать в любых количествах и собирать в один бандл с помощью browserify, оверхеда не будет практически никакого.
>>420243 Я пишу код на CS не по своей воле, сталкиваюсь с проблемой и смотрю, во что он компилируется. А компилируется он в такую вот конструкцию, как на пике. Про метки понял, спасибо. Только не понял, нахуя CS в switch ставит false и инвертирует условие, когда можно было бы сравнивать с true и не ебать мозги человеку, читающему код ?
>>420273 elementary os макось для бедных и sublime 3 по совету анона. Очень не хватает Git Extensions с винды, а на с помощью mono завести её не удалось.
>>420326 >плохая документация Поддвачну. Когда-то искал референс, на сайте наткнулся на мануал, после прочтения пары артиклов понял, что мне вообще нужен был их "тутор", который больше походил на какой-то обоссано-смешанный апи с рефернсом. Чуть не сблеванул с "удобочитаемости" тутора. С тех пор подумываю переКОТываться на реакт. Кто что хорошего скажет, стоит ли?
>elementary os макось для бедных Быстро хочу у тебя спросить, учитывая, что она построена на основе Убунту, это означает, что всё для Убунту идёт, как и должно, на Элементари?
Я вообще, не разбираюсь, на всякий случай спросил, потому что только что заходил посмотреть, если ли Тимвьюер на Линукс, а там для крупных дистрибутивов свои версии, поэтому решил спросить, на всякий случай.
>>420353 >Тем, что на месте "value !== 12" может стоять любое выражение любого типа. То есть? Что со скриншотом не так и где и почему оно сломается? Не вижу разницы, с true кейс сравнивать или с false обратный кейс. Я мимоанон.
>>420377 Я тоже серьезно. В манямирке можно придумывать "идеи" для такой простой задачи. В реальном мире пацаны натягивают красивый шаблон на вордпресс и начинают зарабатывать бабло с минимальными вложениями.
>>420326 А на хабре что, за спиженные статьи не гонят ссаными тряпками ? Читал статью на английском (не могу её найти сейчас) пару недель назад, там аргументы те же и в том же порядке и даже примеры совпадают.
>>420357 Ну, !huy будет false всегда (кроме 0 или false). Получается, case !huy, фактически, просто проверяет, имеет ли huy вообще хоть какое-то значение. Конечно, так как !0 даёт true, эту хрень можно использовать в местах, где huy инкрементируется и узнать, когда он больше нуля, но почему бы не написать huy>0 и не сравнить, опять же, с true? Просто выглядит это всё каким-то целенаправленным усложнением ради хрен пойми чего.
>>417595 Суп, скриптоны. Есть специфическая задача распарсить array со strings в JSON объект. Как её решить? Может уже придумали убер-парсеры, жующие любые strings в JSON? Выручайте, с меня нихуя.
Анон, поясни за отличия между RxJs и Bacon.js. Судя по описаниям и кускам кода, они практически идентичны. В FAQ бекона написано, что они более попенцоцные, а также называют вещи другими именами. Майки вообще молчат на эту тему. Есть среди вас попробовавшие и то, и другое?
Bacon.js is inspired by RxJs and has similar concepts. The main difference in the design is the existence of two flavors of Observables: EventStream and Property, each of which have clearly defined semantics. The RxJs Observable does not tie the semantics as tightly. For instance, in RxJs there are "hot" and "cold" observables that behave differently even though the expose the same Observable interface.
Also, Bacon.js is fully open-source and has (arguably) better documentation.
>>419925 Ты наркоман, не могущий в нормальное описание задачи. Выдели смысловую часть задачи в виде жс-кода и оставь здесь jsfiddle или codepen ссылку.
Прохожу курсы на кодакадемии. Нихера не понятно. Вот поясните, что делает этот кусок кода? http://jsfiddle.net/cx5mmvrr/ Во-первых, friends - это же объект. А bill и steve, получается - свойства объекта? Но что же тогда firstName и lastName? Свойства свойств? И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for. Может кто доступно объяснить?
>>420534 friends - это объект конечно, но почти все есть объект, так что, то что заключено в такие скобки {} считать dictionary или hash. Это такой именованный массив(нагуглишь сам.) >А bill и steve, получается - свойства объекта? Можно сказать и так, а вообще лучше прочитай про ООП, хоть жс это и функциональщина, но в твоем примере надо знать ООП. > И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for. Может кто доступно объяснить? Ты совсем нюфак чтоли? Алсоу у тебя цикл неправильно написан. Вот как надо, чтобы вывести имя каждого друга. var list = function(){ for (friend in friends){ console.log(friend.firstName); } };
>>420534 > Во-первых, friends - это же объект. А bill и steve, получается - свойства объекта? Но что же тогда firstName и lastName? Свойства свойств? Объект в JS — это набор пар ключ—значение. Ключ — строка, значение — что угодно. В твоём примере "bill" и "steve" — ключи в объекте friends. Значения по этим ключам — тоже объекты, с ключами firstName, lastName и т.д. > И что делает функция list? Я не понимат. Я вообще не понимат, что делает in в for. for (key in object) в JS — это цикл по ключам объекта. Если ты понял первую часть поста, этого должно быть достаточно.
Где i — автоувеличивающийся индекс цикла. То есть, вместо list_name[], как обычно принято делать при комбинировании информации одного типа, в начале вставляется индекс, а потом вот эта фича PHP с добавлением квадратных скобок в конце. Я понятия не имел, что так можно делать.
>>420540 >Ты совсем нюфак чтоли? Ага, только неделю учу. >>420540 >>420587 Спасибо, теперь понятнее стало. Последний вопрос. Вот допустим функция for(key in object). Что делает key? С object понятно, указывает на объект, который обрабатывается. А что за key? На что он указывает?
Ты серьёзно? Это принципиальный вопрос? "o" как-то непривычно бы в коде выглядела, она же ноль похожа. А "obj" возникает желание развернуть до "object", но сократить-то хочется. Поэтому "ob".
>>420681 > Это принципиальный вопрос? Да. Я чувствую некоторую неловкость от ob. Выглядит как полумера. object писать не надо, это в некоторых языках - зарезервированное слово, будет смущать любого программиста на другом языке (ну в джаве точно резерв). Может причина в том, что ob выглядит как аббревиатура, незнаю. Если бы у меня в команде был чувак, написавший ob, я бы ему вломил пиздюлей, например.
>почему в циклах i все время ставят. А что вы используете, когда i ЗАКАНЧИВАЕТСЯ? Я k и j по какой–то неведомой причине, дальше этих не доходило вроде.
Мне тоже показалось это название каким-то неполноценным, в реальном коде я бы такого не допустил. Да и называние переменной "object" - несёт столько же смысла, что и "ofm3434de". Но раз уж код демонстрационный, мне показалось допустимым внести некоторую вольность - те же циклы в одну строку.
>object писать не надо, это в некоторых языках - зарезервированное слово
По этой причине мне и хотелось его сократить. Хотя в Джаваскрипте оно свободно.
Подскажите топ-3 нормально развивающихся фреймворка для node.js. Посматриваю на метеор, конечно, но в моем проекте будет минимум надобности в мгновенно обновляющихся данных. Максимум, что будет - это комменты и оповещения (ну может еще записи). Стоит ли ради этого заводить метеор ?
Если больше трех циклов, значит кодир делает что-то неправильно исключая случай, когда это хитро выебанный алгоритм. Но начнем с того, что даже один цикл for () - это аутофелляция в наши дни. Дали вам map, дали forEach, fold в либах, не хотим, хотим жрать циклы for ().
>>420708 Метеор как розовая дилда, все красивенько но имеет тенденцию хранить кучу хуйни в глобале, не сделаешь нормальную модульность (по типу DI в ангуляре или require()). Если тебе нужно только немного пуш-уведомлений, используй socket.io с нодой
>>420711 Назвать два-три фреймворка на ноде, которые достаточно активно развиваются и применимы в реальной жизни, а также поделиться впечатлениями от них. Проект не важно какой, пускай будет соц. сеть с фотошерингом и геотегами или имиджборда я сам еще не до конца придумал tl;dr: просто хочу почитать, чем сейчас в основном пользуются. Вот еще наткнулся на SailsJS и TotalJS. Что выбрать то ?
>>420716 Очевидный саилс. Тотал 1) назван как говно, это блядь важно в серьезном софте 2) куцый гитхаб, в 4 раза меньше коммитов, в 8 раз меньше лойсов. хотя зойчем тебе это всё, рельсы въеби и делов Это в бакенде, на фронтенд что угодно воткни - хочешь КАРЬЕРЫ, ангуляр, хочешь ПЕРСПЕКТИВ - react
>>420718 На счет фронтенда я более менее ориентируюсь, вопрос в бекенде. Спасибо за советы, буду читать про sails. в рельсы не умею и не уверен, что хочу
>>417595 ЭТИ ЕБАННЫЕ АСИНХРОННЫЕ КАЛЛБЕКИ ДОЕБАЛИ УЖЕ СУКА, НУ БЛЯДЬ КАК, НУ КАК БЛЯДЬ ИЗВЛЕЧЬ DATA ИЗ STREAM, КОГДА СУКА ЕБАННЫЕ КАЛЛБЕК РЕАЛИЗОВАН НАТИВНО И КЛАЛ ХУЙ НА ПЕРЕМЕННЫЕ JS БЛЯДЬ НУ ЧТО ЗА ПИЗДОС ХОЧЕТСЯ ВЗЯТЬ И УЕБАТЬ РАЗРАБАМ НОДЫ ЗА РЕАЛИЗАЦИЮ СЕРВЕРА ЧЕРЕЗ АНУС ИХ МАМАШ
Вечер в хату js-бояре. Есть вопросец. <form class="contactform" method="post" action="/?spasibo" id="contactform2"> Чё эт такое? Хочу прикрутить к страничке ajax-отправку данных на сервер без пиризагрузке, что за action такой интересный?
>>420894 Я имел ввиду что происходит дальше? Например если бы было так action="send_mail.php" было бы понятно что и куда отправляется, а тут что происходит?
>>420540 >Алсоу у тебя цикл неправильно написан. Вот как надо, чтобы вывести имя каждого друга. >var list = function(){ >for (friend in friends){ >console.log(friend.firstName); >} >}; Теперь пишет undefined undefined
Анон, ньюфаг ИТТ все в машину. Доставь каких-нибудь заданий связанных с JS, а не «сделай сап, обмазавшись говном» на твой вкус, чтобы я немного попрактиковался в языке. Допустима необходимость прибегнуть к CSS при решении задания. Пост уровня школоты, понимаю, но всё же.
>>417595 Как вы относитесь к попыткам превратить функциональный язык в объектно ориентированный.
Точнее из комбинированного в объектный. Как известно почти всё в JS является объектом, включая функции. Точнее так, почти все объекты в JS могут быть представлены функцией.
Так если функции это всего лишь обёртка над объектом, зачем возводить ненужные сущности?
Короч, поставил себе цель стать Front-end разработчиком, стильным хипстером как на втором пике. Признаюсь, мне понравился образ челкаря с Mac'ом. Стартап, буткемп, хакатон вот это всё звучит охуенно.
Установил Sublime Text, изучил HTML5/CSS3, ознакомился с БЭМ, LESS. Учу английский и разбираюсь с Git.
Но я не улавливаю саму суть. Что вообще такое front-end? Где можно посмотреть какой-нибудь доклад-введение в эту тему? Хочу чтобы мне, гуманитарию, научно-популярным языком всё объяснили.
И как подступиться к JS? Сразу читать книги по нему из ньюфаг-треда или усвоить основы программирования в целом?
>>421000 >Установил Sublime Text Снеси эту хуйню без задач и поставь Brackets. Все настоящие фронт-энд специалисты пишут на Brackets. Саблайм - это для школьников, которые только вчера прочли на хабре статью о вёрстке и решили стать успешными. Ограниченность саблайма будет постоянно мешать тебе при создании страниц сложнее заголовок-текст-футер.
>>420970 Или еще пример - иногда требуют увеличить с производительностью фронт енда. Найди всякое говно, которое написано на фреймворках или петушинном жквери и перепиши на чистом жс. Сразу тебе будет и понимание жс, жквери и цсс. Если даже простой петушинный слайдер с плавной прокруткой сделать.
var a = document.querySelectorAll(".post-wrapper"); for (var i = 0; i < a.length; i++) { if (a.querySelector(".ABU-refmap").style.display == "none") { a.parentNode.removeChild(a); } }
>>421004 Дико угорел с Brackets, пока не пересел на ноут, на котором едва различимые (но всё же) тормоза на настольном ПК превратились в ощутимую задержку. Перешел на Sublime, всё летает. Теперь обмазываюсь плагинами потихоньку. Посоветуйте какой-нибудь маст хэв (но не самое очевидное)
>>421052 Ну хватит же, жир течёт. В отличие от сайблайма, брекетс внезапно браузер и единственная его киллерфича в удобстве верстания статики. Другого применения я ему не нашёл. А IDE так вообще нинужны в вебе.
>>420895 Макака блядь. В любом случае отправляется запрос на сервер. Как ты на сервере обработаешь, так и будет. Мне блядь стыдно с такими индустрию делить.
>>421059 Но обычно же внизу есть ссылка на оригинал, иконка Z->Я и т.д. >>421063 Почитай про http://htmlbook.ru/html/form . На адрес, который ты указываешь в форме будут отправлены данные из формы. А дальше ты их обрабатываешь в своем пхп как хочешь. Ни JS, ни JQuery тебе в этой задаче не нужны.
>>420528 Бампую свой старый вопрос. Почему Eloquent Javascript говно? По мне так одна из лучших книг по программированию евар, щитаю, что на каждый язык нужно написать ее копию или аналог.
>>421115 Как по мне, так она чересчур проста. Читается тяжело. Материалы learn.javascript.ru для меня оказались более пригодными к изучению, ну так там не только JavaScript.
>>421139 >'form' Что, прямо так и работает? Я бы id поставил. eventData вроде должна быть объектом. >>421193 >простой же код Говно твой код. Перепиши без continue и ++. Последняя строчка что вообще делает?
Давайте всё-таки сойдёмся на мнении, что между Webstorm и Sublime просто пропасть. Я сам раньше пользовался Sublime для мелкого редактирования, потому что он открывается просто молниеносно, обладает приятным интерфейсом, но для работы с крупными проектами - не лучшее решение. Кстати, в качестве простенького редактора очень хорошо ещё подойдёт адобовский редактор Brackets. Очень советую поковыряться. Написан на javascript + node.js Отлично работает, понятный интерфейс и куча-куча клёвых плагинов, особенно связанных с системами контроля версий. Удачи :)
>>421204 На пиццу. На студенческий акк закачал весь жетбрейнз, но в основном пользуюсь идеа с кучей плагинов. Если не хочется воровать, то можно на EAP'ах посидеть. Еще куплен pixelmator, не совсем по теме, но всё же используется как рабочий инструмент.
Хранение данных в файле папки страницыАноним01/01/15 Чтв 15:21:07#350№421219
Не могу нагуглить – как это делается? Нужно хранить объекты со свойствами (типа таблицы) и обращаться к значениям, изменять в том числе. Может в html как-то ..
>Саблайм это простенький и быстрый редактор для новичков, а вебшторм - полноценная IDE. Смотри по своему уровню развития. Не нужно подразумевать, что только новички пользуются Саблаймом, а хорошие специалисты — Вёбстормом.
>>421266 А вебшторм не тормозной часом ? Анон выше писал, что плагинами можно Саблайм довести до уровня IDE или даже выше, а по скорости он останется такой же. >>421269 Да, что-то я забыл, что и бесплатная не сильно донимает своими запросами на сохранение.
>>421285 Ты это никак кроме как через API на сервере не сделаешь. Как ты себе это представляешь ? Заходит рандомный хуй на твой сайт и правит файл лежащий на сервере ? Только API, которое ты сам опишешь и сам определишь границы дозволенного.
>>421296 Ты можешь хранить данные в HTML, можешь в отдельном файлике json (и запрашивать его, например, через JQuery). Изменять его ты через браузер не сможешь.
>>421302 открываю страницу html, ввожу в спец. поля данные "1 вася 2 петя ", жму кнопку – они обрабатываются и сохраняются в невидимом виде – либо как таблица, либо как объекты 1 и 2 со свойствами name. далее в других полях ввожу только цифры, жму энтер чтоб они обработались и вставились имена. теперь поля имеют id с соответствующими цифрами, жму кнопки – поля располагаются в нужном порядке.
>>421327 Миллион разных способов, гуглятся очень легко. Я бы тебе помог, но тебе в любом случае придется очень много гуглить и искать ответы самому, так что самое время начать. >>421333 Тебе тот же совет. Ссылка, что тебе дали выше, неправильная. Тебе нужен либо <input type="hidden" value="твое значение"/> либо писать данные в любой элемент с помощью аттрибута data-. Например, <span data-id="12" data-name="Anon"></span> В любом случае, пока не понятно, что и нахуя ты хочешь сделать. Если ты опишешь задачу (а не твое представление о решении), то всем станет только легче.
>>421333 >>421341 дай мне, дну, плиз ссылку на учебник где рассказывается что такое атрибут. задача в том чтоб по определённым алгоритмам перемещать васю, петю и др. по разным полям, захочу в круг – запущу round.js который знает как расположить всех круг. ну а предварительно надо все имена внести в страницу.
Посоны, посоветуйте книгу, доклад или статью о том, что такое backend и frontend. Как устроена разработка сайта вообще. Дело в том, что я — ньюфаг, начинаю смотреть доклад, который называется Сборка проекта…, и, вроде бы, всё понятно, но где эта сборка происходит и нахуя — нет.
>>421549 Обратись лучше в вёрстка тред в /wrk/ или в php тред здесь, а то тут не совсем это обсуждают. А селектор - это указание элемента применения в CSS, типа
Функция должна принимать массив с числами, и удалять те, что не вписываются в значение min и max. Функция прекрасно обрубает числа выше и ниже, но почему то не удаляет отрицательные. Никто не знает, с чем это связано?
Я, наверное, уже заебал своими IDE-проблемами, но прошу все же не проходить мимо и помочь: посоветуйте тему (и где их найти вообще) для Webstorm. Стандартные - какое-то говно (зачем этот италик ?), не говоря уж о кастомных. Выделение цвета фона - это, блять, вообще пушка. Чому всё так плохо ? Во всех остальных редакторах от тем оформления кончить можно, а тут что-то пока все печально.
>>421830 Да, во-первых он не к месту (это же не комментарий какой-нибудь), во-вторых он еще перерисовывается после открытия файла (т.е. сначала текст набран не италиком, потом перерисовывается на италик). В третьих, там еще автовыделение одинаковых слов какое-то странное. Ну и в-четвертых, люблю периодически менять темы. Пересел обратно на саблайм.
Посоны, выручайте. Поставил sails, генерирую проект с помощью _sails new project_. В самом проекте три пустые директории, файлов app.js и других необходимых нет. На гитхабе с такой же проблемой посоветовали почистить кеш npm и переставить sails, но это нихуя не помогло. Заодно, порекомендуйте туториал по sails, а то на официальном сайте установка ноды подробнее расписана, чем starting with sails
Анончики, а кто вообще какой редактор использует для написания кода. Я вот Jetbrain Webstorm пользую. Какие фичи вашего редактора вы используете при разработке?
Он должен принимать массив, с помощью функции проверять его элементы и при соответствии числовому диапазону добавлять их в новый архив. Почему этого не происходит?
>>421885 Ну я не совсем то имел ввиду. Откуда Piece берётся? Судя по действию, оно попадает через buffer(). Но как? buffer равен makeBuffer. Внутри var text = ''. Пока всё понятно. А потом следующая функция и в ней Piece. И похоже, что данные, введённые в buffer() попадают в Piece. Но как?
>>421920 Алерт срабатывает только при условии, что "а" не равно двум. У тебя "а" равен двум. Измени "а" на любое другое значение и алерт сработает. != обозначает неравенство.
>>421856 Emacs 24. Использую для всего. Полезные фичи: богатый набор клавиатурных комбинаций, множественные курсоры, несколько окон рядом, макросы и программируемые действия, буфер обмена с историей, возможность править по SSH, синтаксический анализ. Минусы: для меня он удобен только как редактор, но есть режимы для шелла, емейл и т.д. Это всё у меня отдельно.
>>421860 >просто интересно можно ли писать перенос строки в скобках. Да, можно. Но вообще нужно быть аккуратным: может автоматически вставиться «;». Это касается прежде всего таких ключевых слов, как return, break, throw, continue. Для более полной информации смотри стандарт, главу “Automatic Semicolon Insertion”, написано там довольно понятным языком, разобраться можно при желании.
>>421874 Тем, что команды через запятую составляют одно выражение. Ты не можешь перечислить через запятую ни var, ни return. Это навскидку, проблем должно быть больше.
Аноны вбросьте скрипт модального очкакна работающий, что бы минимум стилей и еботни. Я заёбся блять джва дня ебусь, уже ноги на ногах не держат, я ниразу не программист, и денег заказывать услуги вашего брата я не могу. Вся хуета предлагаемая гуглом не работает.
>>422416 Которые вместо JS сразу учат CS. В одном из прошлых тредов рассказывал, что работал с парнями, которые по их словам "плохо знают js", пишут исключительно на CS и Ruby, и хвалят меня за то, что умею писать на ваниле. Анон мне сказал, что такого не бывает
Бля, обосрался - не заметил. Это сюда было >>422403. Это максимальное значение, меньшее бесконечности, но точность у чисел с плавающей запятой составляет 54 бита. Максимальное целое, которое может быть представлено без округления, Number.MIN_SAFE_INTEGER.
>>422432 window.name = 'окошко'; var test = function () {alert(this.name);} test(); //->окошко, т.к. функция объявлена в контексте window
var obj = { name: 'объектик', fx: function() { test();//->окошко, т.к. функция объявлена в контексте window test.apply(this);//->объектик, т.к. мы вызвали функцию в нужном нам контексте } }
>>422446 >>422442 >MAX_SAFE_INTEGER но если я хочу пользоваться побитовыми функциями – получается не safe юзать числа длиннее 31 бита. 31 однёрка это сколько?
Кто-нибудь использовал handsontable в своих проектах? Никак не могу понять, как сделать так, чтобы при выборе нужной строки в автокомплите после нажатия Enter не выделялась нижняя ячейка. А еще, чтобы в ячейку автоматом подставлялись значения из автокомплита при выборе значений из списка. Гугл по этим вопросам молчит. Вот я и думаю, может свой велосипед сделать? Какой тогда инструментарий для этого выбрать? Я уже в отчаянии, помогите мне мудрым советом, аноны.
>Дело в том, что у объектов в JavaScript ключи всегда строковые. Если в качестве ключа передано что-то ещё, то оно приводится к строке. Значения обрабатываются в порядке поступления, поэтому 0: 2 перекроет "0": 1.
>В итоге получится объект с единственным ключом: {"0" : 2}.
>При доступе к ключу — obj["0"] и obj[0] эквивалентны, опять же, поскольку ключ приводится к строке.
Если все значения строковые, то почему 0: 2 перекроет "0": 1? Или ключи поступают с конца?
>>422542 >КОМАНДА - тоже иностранное слово. пруф есть? зачем нам официальность (что такое официальность знаешь?), не для понятности ли придуманы языки верх.уровня?
>>422544 >Кома́нда (слово заимствовано в конце XVII века из исп. и португ. comando «командование, управление», исп. commando «командование» и «диверсионный отряд», через голландский, шведский и немецкий; в словарях упоминается с 1847 года) Википедия.
>>422547 >в конце XVII этим всё сказано. в том числе то, что недоказуемо в принципе, "учёные" любые теории о прошлом могут строить – их никто не подтвердит.
Вебаны, помогите мне, я уже не могу смотреть на этот скрипт: $(document).ready(function(){ var count = $(".post-image > a").length; if (count > 2) { $('.post-image').css('border', '1px solid red'); } }); Скрипт считает кол-во картинок а блоке класса [/i]post-image, и если их больше 2-х, то на див лепится бордер. Но этот скрипт не работает, и бордер добавляется ко всем элементам, независимо от количества картинок. Что я делаю не так?
Кто-то работал с heroku? Интересует node.js и конкретно node-steam, хочу захостить там скрипт, чтобы не держать ПК включенным 24/7.
Суть в том, что там ограничение - если за час никто не заходит, приложение отключается, нашел вот такой скрипт-автопингер https://github.com/Efreak/node-steam-chat-bot/blob/master/example-heroku.js, но я не программист и не понимаю, как оно работает. Пытался скинуть прямо так - посыпались какие-то ошибки, что мне нужно сделать?
>>426654 По angular больше инфы и он как бы в тренде, но он проигрывает по производительности, когда дело доходит до реальных приложений, поэтому Ember
Предыдущий: - https://2ch.hk/pr/res/410856.html
Шапка тренда переезжает в репозиторий - https://github.com/ID25/js-thread (Делать пулл реквесты с корректировками и ссылками на материалы приветствуется), todo: сделать нормальный, структурированный гайд, посему реквестирую умельцев писарей, а то мне лень.
И так, главные новости последних дней. Ленивые пидарасы из JoyNet движутся со скоростью черепахи, в разработке node.js. От этого не слабо подгорело у стремящихся ребят из этой же компании, и поэтому они ушли. Очень сильная часть разрабов просто выкатилась из джойнета, оставив ноду на произвол судьбы, но свалили они не просто так, а сделали форк, ибо продвигать такое дело необходимо. На замену node.js пришел io.js, который будет активно разрабатываться частью людей, которым это реально нужно. После этого конечно и джойнет начали суетиться, и что то там обещают выпустить новую версию к новому году, но кому оно надо будет?
Вот новость по этой теме: http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html
К слову сказать, технология слишком свежа, чтобы в ней была какая то стабильность и ясность, поэтому сто раз подумайте, прежде чем вкатываться в это хипстерство. Лично я для себя решил вернуться к ноде через годик другой, когда тут уже все будет более менее ясно.
Эта зима принесла не мало бугуртов нам, сначала свежачок от Ангуляр, без привычных нам вещей, теперь раскол ноды (новость кстати тут еще есть : http://habrahabr.ru/post/245013/)
Короче, шикарный стек не слабо так пошатнулся, хорошо уселись разве что бекбонопидоры, которых давным давно уже ничего не ебет.
Ну ладно, хватит о бугурте. Пока ты листаешь нулевую, Барак Обама играется с canvasom - http://geektimes.ru/post/242701/
Даже ниггер пишет на JS!
Ну и небольшая заметочка для наших хипстерков. Вот задумал ты сделать себе бложик, или портфолио, или еще что, и стал ты думать над выбором домена. А я тебе скажу - тут и думать нечего. Есть только один домен, и это - io.
Это выбор передовой элиты, стартапов, и просто белых людей. Ну сам по суди, salem.ru или salem.com просто убоги на фоне salem.io
Так что одной проблемой меньше, и запомни, все что не io = NOT SO HIPSTER!
Ну а мы тем временем начинаем очередной JS ТРЕНДЖ, пилим скриптопарашу, бугуртим от КАЛбеков, выводим в консоль хелло ворлды, как обычно.
Официальный JavaScript тред #6 объявляю открытым!