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

cyber 03.03.2015 16:05

Цитата:

Сообщение от Erolast
Еще, кстати, на заметку - gulp-watch, для более продвинутого наблюдения.

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

Safort 03.03.2015 16:52

cyber,
сам страдаю от этого ада и удивляюсь, как они не предусмотрели подобную фичу.:-E

cyber 03.03.2015 16:57

Safort, Я думаю что можно придумать, нужно будет занятся)

Erolast 03.03.2015 17:13

Цитата:

Мне нужно что бы из за ошибки код не падал, а продожал дальше собиратся.
Цитата:

сам страдаю от этого ада и удивляюсь, как они не предусмотрели подобную фичу.
Я ж написал решение.
Цитата:

Сообщение от Erolast


cyber 03.03.2015 17:19

Erolast, спасибо. Не сразу понял как его юзать

gulp.task ( "babel", function ( ) {

    return gulp.src("src/*.js")
            .pipe( plumber() )
            .pipe(babel())
            .pipe ( plumber.stop() )
            .pipe(gulp.dest("dist"))
} );

cyber 03.03.2015 17:21

Еще один вопрос как получить размер элемента который задается через файл стилей если не загружен body.
Я пробывал создать div добавить в него элементы, разместить его в head и получить размер элементов. Но offsetHeight/Width всеравно == 0. Есть какой то хак для этой задачи?

Safort 03.03.2015 22:38

Кротоны, как установить монго 3.0 под убунту 14? Выполняю всё как на офф. сайте показано, но на этом(4-м) шаге всё заканчивается:
sudo apt-get install mongodb-org


Терминал выдаёт:
Цитата:

~$ sudo apt-get install mongodb-org
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет mongodb-org

Gozar 04.03.2015 01:51

Safort,
Нет репы, оно не может найти откуда ставить. Добавь репозиторий. Какой я не знаю, я не пользуюсь монгой, но говорит она тебе именно это.

cyber 04.03.2015 04:36

Если элемент удалился то и все его обработчики тоже улетают в муссор?)

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

Safort 04.03.2015 09:17

Gozar,
хм, странно, я всё в роде бы репы ставил и данные о пакетах обновлял.
В итоге заработало
Цитата:

sudo apt-get install mongodb
Только оно 2.6 поставило ;(

Zend 04.03.2015 10:55

Цитата:

Сообщение от Safort
sudo apt-get install mongodb-org

Можно просто скачать без установки


Цитата:

wget http://downloads.mongodb.org/linux/m...6_64-2.6.1.tgz
tar -zxvf mongodb-linux-i686-2.6.7.tgz?_ga=1.219147417.1482595648.1424332266
mkdir -p mongodb
cp -R -n mongodb-linux-i686-2.6.7/ mongodb
cd /home/developer/mongodb/mongodb-linux-i686-2.6.7/bin/
mkdir -p /data/db


export PATH=$PATH:/home/developer/mongodb/mongodb-linux-i686-2.6.7/bin/
mongod --dbpath /home/developer/mongodb/mongodb-linux-i686-2.6.7/bin/data -v
тока архитектуру учесть нужно....

Gozar 04.03.2015 12:11

Цитата:

Сообщение от Safort
Только оно 2.6 поставило ;(

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

Zend 04.03.2015 17:07

Цитата:

Сообщение от Zend
sudo apt-get install

Немного не понимаю почему все sudo юзают. Совсем не обязательно ставить софт от рута. Я так больше не делаю. В своё время не удачно разбил диск и место в rootfs быстро закончилось. Чтобы расчистить периодически приходится клепать ссылки. Возиться с разделами западло.


Кст, знаете ли вы что:

1) aptitude разработчиками дебиана позиционируется как основной инструмент для работы с пакетами уже много лет

2) su или sudo? (habrahabr)

Gozar 04.03.2015 17:48

Цитата:

Сообщение от Zend
не понимаю почему все sudo юзают

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

Gozar 04.03.2015 17:49

Цитата:

Сообщение от Zend
В своё время не удачно разбил диск и место в rootfs быстро закончилось

Кто-то мешает тебе неудачно выделить место под /home?

Что-то говорит мне, что это решение костыля костылем.

melky 04.03.2015 18:39

Цитата:

Сообщение от Safort (Сообщение 359457)
Кротоны, как установить монго 3.0 под убунту 14? Выполняю всё как на офф. сайте показано, но на этом(4-м) шаге всё заканчивается:
sudo apt-get install mongodb-org


Терминал выдаёт:

зачем засирать систему? тем более, что у тебя линукс...
Образ: mongo
<iframe width="560" height="315" src="https://www.youtube.com/embed/eXv9aAvLA5I?rel=0" frameborder="0" allowfullscreen></iframe>

Safort 04.03.2015 19:47

[нюфагоМод on]

Zend,
Цитата:

Можно просто скачать без установки
Как-то я об этом забыл.. :|

Цитата:

тока архитектуру учесть нужно....
Можно чуток по продробнее?

Gozar,
Цитата:

Это потому, что репы обновляются обычно в стабильные версии, поэтому с запозданием.
Так и подумал)

Цитата:

Если хочешь новую, то собирай из исходников, как глаголит Zend.
Я ещё со всеми этими командами не разобрался, но мне подумалось, что Zend ничего не собирал, а просто скачал, разложил по папочкам и прописал пути. Не?

Zend,
Цитата:

В своё время не удачно разбил диск и место в rootfs быстро закончилось.
То чувство, когда неудачно разбил диск. Два раза.

melky,
Цитата:

зачем засирать систему?
Это ведь риторический вопрос, так?)
Я подозревал, что мне придётся посматривать в сторону Докера, но не подозревал, что так скоро.

Gozar 04.03.2015 19:54

Цитата:

Сообщение от Safort
Это ведь риторический вопрос, так?

Это очень риторический вопрос. Я за 10 лет использования линукс ни разу так и не умудрился засрать систему, даже SSD.

Кто-нибудь в курсе как в современной nodejs проверить существует ли директория. Они почему-то обкурившись явно чего-то галюциногенного решили, что нужно fs.exists сделать depricated. Причина мне для меня абсурдна, но могут выпилить, а хотелось бы стабильности. Что не выпилят? Чем проверять?

Сейчас использую такой код:
fs.stat(path, function(err, stats) {

                if (err) {
                    fs.mkdir(path, 0777);
                }
            });

Это какой-то дикий костыль. Есть способ, чтобы было понятно , что в коде написано?

bes 04.03.2015 20:10

возможно глупый вопрос, но я не нашёл на него ответа: а реально ли отследить загрузку файла в ответ на стандартную отправку формы?

то есть я отправляю форму стандартным образом (без ajax), сервер мне шлёт в ответ
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=example.txt

в итоге, данные которые пришли с сервера, сохраняются в файл example.txt

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

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

хочется понять, решаема задача или нет

Gozar 04.03.2015 20:23

Цитата:

Сообщение от Gozar
Сейчас использую такой код:

Это же бред, отлавливать ошибку, чтобы узнать есть ли папка.

Safort 04.03.2015 20:32

Gozar,
Цитата:

Это же бред, отлавливать ошибку, чтобы узнать есть ли папка.
на сколько я понял, нет правильных способов кроме костыльных
http://stackoverflow.com/a/4482701/3125271

Safort 04.03.2015 20:33

Gozar,
Цитата:

Это очень риторический вопрос. Я за 10 лет использования линукс ни разу так и не умудрился засрать систему, даже SSD.
Ты слишком умный.

Gozar 04.03.2015 21:52

Цитата:

Сообщение от Safort
Ты слишком умный

Поделюсь с тобой мудростью. Если под системный диск взять 60Гб, то засирать его можно спокойно пару лет и засрешь ну максимум 18Гб, чуешь? 42Гб будет ещё свободно.

Нужно целенаправленно засирать раздел рут гигантскими файлами, чтобы засрать, либо SSD должен быть малюсенький! А значит идем в магазин и покупаем диск адекватный современным меркам, значит минимум 128Гб. Делим пополам и засираем сколько влезет. ;)

Gozar 04.03.2015 21:56

Цитата:

Сообщение от Safort
нет правильных способов кроме костыльных
http://stackoverflow.com/a/4482701/3125271

Дык, отсюда и костыль ... И почему некоторые люди думают, что знают лучше что нужно другим?! Нездоровая тенденция. В разговоре понятно, ЭГО, но вот ломать обратную совместимость по 3.14дараски.

melky 04.03.2015 23:07

Цитата:

Сообщение от Gozar
Это очень риторический вопрос. Я за 10 лет использования линукс ни разу так и не умудрился засрать систему, даже SSD.

docker был упомянут для изоляции

Цитата:

Сообщение от Gozar
И почему некоторые люди думают, что знают лучше что нужно другим?!

ты живёшь в государстве...

Gozar 04.03.2015 23:58

Цитата:

Сообщение от melky
ты живёшь в государстве...

Думаешь именно из-за этого разрабы ноды решили сломать обратную совместимость. Он им что мешал? Кушать просил? Не понимаешь за чем, давай сломаем? Гопническая идеология. Я из пыхи ушел потому что там такая идеология повсюду. Суровая реальность. Модули(middleware) текут на каждом шагу, а совместимость ломается по прихоти.

Вот по этой причине я не пользуюсь огрызками. Они лучше знают, что мне нужно. :(

Erolast 05.03.2015 10:37

Цитата:

fs.exists() is an anachronism and exists only for historical reasons. There should almost never be a reason to use it in your own code.

In particular, checking if a file exists before opening it is an anti-pattern that leaves you vulnerable to race conditions: another process may remove the file between the calls to fs.exists() and fs.open(). Just open the file and handle the error when it's not there.
//0777 и так дефолтный
fs.mkdir(path, (err) => {
    if (err) {
        console.log(`${path} already exists.`)
    }
})

kobezzza 05.03.2015 11:02

Цитата:

Сообщение от Erolast (Сообщение 359674)
//0777 и так дефолтный
fs.mkdir(path, (err) => {
    if (err) {
        console.log(`${path} already exists.`)
    }
})

Это костыль, вангую что скоро создадут (если уже не создали) либу, которая вернет метод обратно :)

Вообще нода еще очень сырой продукт, и поэтому многие люди уходят с нее на другие технологии, такие как Python, Java, Go и т.д.

Erolast 05.03.2015 11:23

Дык
Цитата:

another process may remove the file between the calls to fs.exists() and fs.open().
+ в возмещение fs.access появился

kobezzza 05.03.2015 11:27

Цитата:

Сообщение от Erolast (Сообщение 359685)
Дык

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

Метод exists как Sync методы нужен для написания консольных приложений, инициализаторов, десктопа и т.д. Почему? Потому что это удобно.

Gozar 05.03.2015 12:40

Цитата:

Сообщение от Erolast
//0777 и так дефолтный

Зато это напоминание, что здесь можно проставить права и они ставятся в таком виде. В php есть функция nl2br, после неё понятие дефолтный для меня отсутствует.

bes 05.03.2015 20:55

Цитата:

Сообщение от bes
хочется понять, решаема задача или нет

по отсутствию хоть какого-то ответа похоже что нет
продублировал сообщение в новой теме
http://javascript.ru/forum/misc/5415...s-servera.html

Safort 05.03.2015 21:17

bes,
да чот какой-то трудный вопрос..

bes 05.03.2015 21:25

Цитата:

Сообщение от Safort
bes,
да чот какой-то трудный вопрос..

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

melky 06.03.2015 11:28

А вы знали, что в гитхабе можно подписаться на RSS обновления тегов репозитория?

THX SO

пример для ORM: https://github.com/sequelize/sequelize/tags.atom

ништяк. теперь можно отслеживать релизы, не просматривая мусор из github watch - всякие issue, pull requests, комменты...

Zend 07.03.2015 12:13

Цитата:

Сообщение от Safort
Можно чуток по продробнее?

Ну если у тебя 64 то не качай 32 - не заведётся

Zend 07.03.2015 12:16

Цитата:

Сообщение от Safort
Я ещё со всеми этими командами не разобрался, но мне подумалось, что Zend ничего не собирал, а просто скачал, разложил по папочкам и прописал пути. Не?

Так и есть. Просто скачал. Ни каких make в моём листинге нет

Erolast 07.03.2015 12:22

Цитата:

Ну если у тебя 64 то не качай 32 - не заведётся
Это как?

Zend 07.03.2015 14:04

Цитата:

Сообщение от Erolast
Это как?

Ты можешь скачать либо 32-х либо 64-х разрядную версию. 32-х разрядная не заводится на 64-разрядной ОС. Проверено

Erolast 07.03.2015 21:54

ясно


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