• В Японии началось телевещание в формате 8K
    0
    Windows пока еще и на 4К не научилась с шрифтами справляться при масштабировании, а с 8К вообще не известно когда разрулят. Меня уже достало на моем 4К мониторе смотреть в их кривые шрифты, а если не масштабировать, то во многих приложениях при 4К совсем текст не прочитать при моем 28" мониторе.
  • Сотрудники Google открыто выступили против разработки поисковика с цензурой для Китая
    0
    Так не нужно было кричать на каждом углу, что они такие поборники морали, сейчас не пришлось бы сикать в лужу. Заявили бы тогда, что текущая политика Китая не отвечает нашей ТЕКУЩЕЙ точке зрения на ситуацию. И всё, никто бы сейчас и рта не разинул против них. Но нет же, они пяткой себя колотили в грудь и выкрикивали НИКОГДА! Никогда в их понимании пара-тройка лет? В вашем тоже?
  • Сотрудники Google открыто выступили против разработки поисковика с цензурой для Китая
    –1
    Сдулись принципиальные добродетели :)
    А так громко кричали о правах человека, а коснулось дело бабла — опаньки, и права уже не нужны никому в гуглах.
  • Как это работать со Студией Лебедева: опыт Туту.ру
    –1
    При чем тут размер вашего экрана в реальных единицах к размеру вьюпорта в пикселях? Вот туту видимо похожих разраболов и наняла, которые им также втирали и такую х… ь сделали на сайте.

    Как соотносится размер вашего экрана смарта с fullhd и выдаваемым вам контентом, который влезает по ширине в fullhd с тем, что десктоп с шириной 400px получает версию fullhd по ширине, которая не адаптируется и не влезает в эти 400px?

    Хотя разраболы, которые сделали им это уг, создали им моб. версию и эта моб. версия спокойно влезла бы в этот десктоп на 400px — но нет, они ведь разраболы, и ширина вьюпорта не решает для них.

    А клиенты — зачем они туту, главное показать какие мы крутые разраболы, а то что каждый кто получит на свернутом браузере на десктопе такой сайт, сразу его закроет и перейдет к следующему в поиске — это дело десятое.
  • Как это работать со Студией Лебедева: опыт Туту.ру
    –1
    Смешно, ога.
    Я захожу с вьюпортом с шириной 400px, а мне выдать страницу значит с минимальной шириной элемента формы 1200px — нет, не показатель, конечно, жесть, вот откуда вы такие беретесь то.
  • Как это работать со Студией Лебедева: опыт Туту.ру
    0
    Он как был говно, так и остался им — дизайн лого не сделал сайт лучше и отзывчивее (да еще без адаптива, о чем писал выше тут).

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

    P.S>
    А сам дизайн лого нового, конечно, глупо оспаривать, Лебедев хоть и м… редкий, но его ребята работу знают на пять с плюсом. Лого хорошее, не важно на сколько оно завышено по цене, но оно в разы лучше всего, что было до этого у туту, но повторюсь — ЛОГО в данный момент не решает на туту, решает смена интерфейса в адаптив и продуманный шаблон поведения клиента на каждой из важных страниц (от форм вплоть до рекламных банеров в нужном месте и нужных видов).
  • Как это работать со Студией Лебедева: опыт Туту.ру
    0
    Адаптив (по моему мнению) это первое, что нужно делать на сайте. Вместо того, чтобы обращаться к всяким Лебедевым, нужно сначала сделать возможность клиентам работать на сайте комфортно, а уже затем наводить понты.
    А мобильная версия тут при чем? Если вы по ширине вьюпорта не можете понять, что нужно отдать моб. версию — смысл с этой моб. версии тогда?
  • Как это работать со Студией Лебедева: опыт Туту.ру
    0
    Да там вообще верстки нет по ходу — у меня браузер всегда в полосу свернут (чуть шире мобильной полосы) так туту никакой реакции — ничего из сайта не вмещается в браузере, все уходит за экран. Пользоваться сайтом нельзя в принципе (и думаю никто не станет такой ерундой пользоваться из вменяемых пользователей).
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –2
    Да тут дело даже не в иллюстрациях, а в понимании самого процесса замыкания в JS. Многие просто не понимают, что из себя представляет само замыкание в JS. В остальных языках — там всё это совсем по другому, и ясно и понятно. А в JS это баг изначально, и его не стали исправлять, а так и оставили, типа фишка языка. И вот теперь, кто-то додумывается использовать этот баг.

    Суть ошибки замыкания в JS, что в нем нет типизированного вызова и обращения к свойствам объекта и к просто переменным. Сам интерпретатор решает к чему именно вы обращаетесь.
    Вот вы указали базовый пример из справочника, и тут именно наглядно видно это. В момент, когда вы создали глобальный объект var myFunc = makeFunc… отработала внутренняя функция displayName создав замыкание и глобальный объект myFunc получил свойство name (в обычном языке myFunc->name).
    Всё, функции makeFunc и displayName отработали, и все их внутренние переменные должны быть очищены, это везде так (и в JS это тоже так).
    Но, в js, (так, как все функции являются объектами — гвоздь им в голову сразу и по шляпку) когда вы снова, после окончания работы функций пытаетесь обратиться к переменной name, интерпретатор, не имея типизации обращения, видит, что такое свойство есть у ныне существующего глобального объекта myFunc, а значит, вы, скорее-всего, к нему обращаетесь — он вам и возвращает это свойство этого объекта, и складывается впечатление, что якобы существует сама переменная name в памяти, после окончания работы функций.

    Вот именно это и является проблемой — можно так дозамыкаться, что ПК пользователя просто перестанет отвечать на запросы. А также черт его знает в каком месте у вас нахлестнутся имена свойств объектов после замыкания и имена глобальных переменных, что приведет просто к разрыву башки при отладке такого кода. Вот поэтому, я жестко караю любого, за любую попытку этого х… кода в js, кто сознательно пытается использовать этот баг в js.

    И именно поэтому, каждый раз когда новая команда разработчиков (и не важно, номральная-ли команда, или команда чудо-разрабО) приходят к клиенту, чтобы расширить (или исправить) код, который был написан до этого такими вот чудо-разрабами, нет никакого шанса разобрать этот дивный код. Поэтому, всегда все начинают писать всё с нуля. Клиент, которому попадаются такие чудо-разрабы, постоянно попадает на деньги и на время, и из-за этого у него складывается негативное впечатление о работе отрасли программирования в целом. И всё это из-за таких вот чудо-программеров, как b00taNik, которые считают себя программистами.

    Вот мой код и код таких как я, сможет прийти и продолжить, или изменить, любая новая команда у клиента (и не важно нормальная ли команда, или команда чудо-разрабов). Им потребуется минимальное время, чтобы понять структуру кода и начать его исправлять, или дополнять. Никаких неявных петель и ловушек вроде таких вот чудо-замыканий, они не получат в моем коде, я даже никогда не делаю дубли в именовании явно-объявляемых переменных внутри функций, не говоря уже о том, чтобы произошел нахлест в глобальной области видимости.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –1
    Ну че, поздравляю вашего работадателя с наймом программиста, учившигося в википедии (мое сочувствие ему) :)

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

    И да, не по викепилдии, а по документации языка и разработчиков (мозила):
    Замыкание — это комбинация функции и лексического окружения, в котором эта функция была определена.

    А теперь вопрос супер-пупер программисту википедийному, eH001 — определена где? Внутри функции какой то? ИЛи на глобальном уровне вне окружения функций?

    Жесть, и вот такое чудо-разрабо, программистом работает, жесть просто — где работаете? Надо вашему нанимателю линк скинуть на ваши комменты здесь, чтобы он понял кто у него работает.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –4
    На счет таймеров — еще раз повторю, учите матчасть, или на курсы идите (я вас бесплатно образовываю, написав вам что делает ваш fetch в в вашем коде).

    На счет не работает — откуда мне знать, что вы там вызываете своими объектами.
    Запишите обработчик для проверки так, чтобы узнать в консоли работает или нет:
    function eH001(){
    if (this.status == 200){console.log('OK!')}else{console.log('NO!');}
    }


    >@b00taNik Кроме того, что он не работает так еще и замыкания использует,

    Вы тоже не пишите больше, а идите учиться на курсы начальные — также ниже джуниора левел, который в принципе не знает что такое замыкания. (вам тоже бесплатный урок — назначение события, либо передача имени функции аргументом [без скобок], это не замыкание. Явное объявление функции, либо вызов в анонимном варианте [со скобками] внутри другой функции — вот что является замыканием в JS и что позволяет сохранять состояния переменных. В моем же коде, нет никаких замыканий, и в обработчике, this будет всем, на что в любой из функций повесят этот обработчик, и, как вы не извращайтесь, но он никогда не сохранит состояние предыдущего вызова если его вызвали повторно. Учите матчасть, поднимитесь до джуниора хотя бы. И не смешите народ и не позорьтесь — не пишите чушь больше здесь.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –4
    Да что ты будешь делать. Вот что вы читаете? Какой цикл вы где видите? Вы спецификацию xmlhttprequest читали вообще?

    Весь fetch этого чудо-автора ниже джуниора, это регистрация промиса, резервирование состояний, объявление функций response и reject, запуск таймера опроса промиса для получения состояния исполнения, и, только затем, исполнение ТОГО ЖЕ КОДА ОТ xmlhttprequest:

    function eH001(){
    	if (this.status == 200)(x => x.json());
    	(x => console.log(x.hello));
    }
    var XH001 = new XMLHttpRequest();
    XH001.onload = eH001;
    XH001.open('GET', 'https://www.mocky.io/v2/5185415ba171ea3a00704eed');
    XH001.send();
    


    То есть, такой вот чудо-разраб, который начитался таких же чудо-разрабов придумавших fetch, чтобы не писать код обработки XMLHTTPRequest, взял и на ровном месте в 3 раза увеличил нагрузку на ПК юзера, просто так, чтобы не писать пару лишних строк.

    Ну, я могу понять, любишь ты короткие записи, напиши просто функцию обертку тогда, чтобы её вызывать вместо кода самого XMLHTTPRequest, и обзови там её myfetch(respose, reject) и вызывай — даже это будет в разищи быстрее и лучше, чем вызывать этот промис тормознутый и проблеммный.

    Но нет, этот чудо-программер, будет бить себя пяткой в грудь, убивать машину юзеру, но не снизойдет до изучения чего-либо, а просто будет читать таких же супер-пупер профи.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –6
    Не выставляйте себя клоуном — и не пишите больше сюда. Вы просто новичок и ниже джуниора.
    fetch всего лишь обертка для XMLHTTPRequest, чтобы такие неумехи, как вы писали меньше букв, не понимая технологии запроса данных. Если вы не понимаете, как написать XMLHTTPRequest запрос с if else (и при необходимости, заюзать catch), как в вашем fetch-е — просто идите на курсы базовые по программированию что-ли.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –7
    В прошлом? В ПРОШЛОМ? ааа, жесть! Вы вообще хотя бы слегка представляете себе, как работает стек вызова всего вашего «будущего»? Какие системные функции затрагиваются при вызове ваших технологий? Какие проверки и со стороны каких процессов идут во фронтэнде? Всё это ваше «будущее», это устаревшая технология бэкэнда (80-ые по-моему годы, ну может девяностые – 5-я, или 6-я студия короче от майкрософта). Именно тогда бэкэнд языки были еще такими ущербными и там также приходилось применять обертки событий (EventLoop как тут кто-то в комментах писал, думая, что это круто — товарищ, это не круто, это смерть твоему проекту в продакте, если ты нагрузишь стек событиями и будешь ждать их окончания, не контролируя саму среду в которой выполняется твой код [браузер в данном случае]).

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

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

    Не пытайтесь писать на фронтэнде то, что нельзя на нем писать, притащив в него устаревшие технологии из бэкэнда! Хотите работу приложения как в бэкэнде, да млина, — пишите на бэкэнде, а фронтэнд подгружайте в виде интерфейса только, а не для работы и вычислений (не умеете так? слишком сложно для вас? — учитесь, или заказывайте у тех, кто может, но не пытайтесь городить шнягу убогую на том, на чем её не следует городить).

    Тоже самое тут про virtual dom кто-то писал в комментах, ну и у самого автора поста это как раз-таки вызвало бурю негатива — и да, я полностью его поддерживаю в этом. Бла-бла-бла Senior… — не знаешь вирутал? не, не сениор. А вот собеседующий сам в курсе, что даже не junior, а первый месяц изучающий любой язык джуниор, уже знает и всегда использует только виртуал дом? 10-20 лет назад, любой, кто начинал попытку использования в своем бэкэнде web интерфейса (подгрузив объект webbrowser, или создав из своей программы экземпляры штатного веббраузера системы) тут же, при первом опыте внедрения большого потока данных в реальный дом, сталкивается с тем, что без виртуал, его код не будет работать. Ибо, подвесив свой ПК таким обращением в реальный дом, он начинает анализировать, что же произошло и находит причину, что работа с прямым дом, контролируемым всеми и вся, так нагружает и тормозит пк — что работа с ним просто не реальна.

    И он тут же изобретает свой виртуал дом и обрабатывает его штатными регэкспами в памяти, выгружая в файлы готовые куски кода, если их слишком много для работы из памяти напрямую, а затем уже использует эти куски в своем веб интерфейсе. О чудо, спустя 20 лет, кто-то изобрел то же самое и назвал это virtual dom — и это да, это важно, это только для senior-ов технология, только они в курсе, как это и для чего :( аааа, жесть просто, не хватает уже эмоций на таких вот чудо-профи — куда катится мир программирования? Что, никто больше не хочет думать? Все читают каких-то ущербных чудо-разрабов, чтобы самим стать такими же ущербными и писать всякую чушь к месту и нет? Кто-то читает вообще спецификации самих языков? Спецификации ОС и аппаратной части ПК? Чтобы понимать, как работает тот, или иной метод в реальности?

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

    Все, кто тут отписался, считая себя суепр-профи знатоком, давайте эксперимент — скидывайте код, где вы считаете уместным замыкание, промис и т.д. Я переделываю его в свой код без всей этой чуши, и мы вставляем его в тело реальной страницы, нагруженной эффектами движения, графикой и прочим. Запускаем циклично тест этой (этих функций) и пишем видео с экрана работы этой страницы во время выполнения наших кодов, активно взаимодействуя с элементами страницы (скрлим, наводим мышь на элементы, выделяем текст, кликаем правой кнопкой мыши — в общем делаем все то, что делает пользователь на странице, просто не открывая новых вкладок).
    По окончании работы теста, сохраняем данные использования памяти, CPU, GPU, время работы кодов (ну и выкладываем видео на общее обозрение, как ведет себя страница в браузере пока работает ваш и мой код — оба типа у каждого на ПК, чтобы было видно, как работает разный код на одном и том же ПК).
    Вот тогда, мы и будем уже более детально обсуждать чудо-супер-пупер технологии на реальном примере, а не на сферическом коне в вакууме.
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –5
    Не ёрничайте, всем понятно что речь идет о замыканиях внутри старшей функции для попытки сделать приватными переменные, или сохранить значения переменных (хотя мне сложно понять для чего через ж… замыкания это пытаются делать).
  • Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать
    –32
    Если в любом моем проекте, кто-то, хотя бы подумает использовать замыкание — сразу пойдет искать новую работу.

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

    Но саму возможность использования промисов, в каких-то непонятных, внеземных проектах, я конечно не отрицаю. Как по мне, промисы в js придумал какой-то редкий м....., который ранее работал в глубоком бэкенде, на c++, с функциями асинхронного вызова и обработки данных без потоков, через медиаторы, в самих кодах классов.

    Сидел он значит, изучал фронтенд (новое для себя дело) и встал в ступор — а почему нельзя в js через те же медиаторы и обертки событий, как было в классах на c++, обойти синхронность языка? Давай-ка я напишу это, чтобы и здесь реализовать мнимо-неблокируемый интерфейс, и назову всё это дело промисом!

    А нужно-ли это во фронте?, или это создаст для работы кода еще больше проблем? — эт. дело десятое, главное мы из JS теперь сделаем крутой язык, приближающийся к бэку!
  • Полное руководство по правильному использованию анимации в UX
    0
    Это конечно. Но, именно из психологической практики реального мира и вытекает спорный момент, который я описал выше.

    А особенно, из анимации на самом примере в статье: сам хаотичный поиск пути объектами и движение их по свободным полям, может вызвать когнитивный диссонанс у пользователя, а не быстрая смена всех элементов, хоть они и пересеклись бы (ну желательно чтобы главный элемент проехал НАД всеми остальными, но все остальные — абсолютно без разницы, как там смещались бы, относительно друг-друга).
  • Полное руководство по правильному использованию анимации в UX
    0
    В принципе, всё верно и аксиомично, единственно, спорный постулат:
    >>Если пути движущихся объектов пересекаются друг с другом, они не могут проходить друг через друга.

    Это далеко не факт. Уточнение в следующем пункте — что объект должен подняться, а не пройти под другими, уже лучше, но сам пункт о не пересечении, как бы сомнителен и может, наоборот, оказаться менее удачным решением.
  • Forensic resistance 1 или Last-икActivityView. Данные об активности пользователя в Windows 10 и как их удалить
    +2
    Респектую. Пару мест указал, о которых я не знал.
  • Хранение большого количества файлов
    0
    Ну, второй пример, который вы нашли (и указали ссылку в начале своего текста) как бэ является де-факто решением для хранения всех файлов, с небольшим дополнением связей из конкретно вашей БД.

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

    Все имена файлов только цифрой, которая является ключом в БД. Если записи о файлах хранятся в разных таблицах — разные папки для каждой таблицы. Поиск пути, где сохранен файл, по цифре ключа из бд — самая быстрая операция, которую вы сможете придумать с файлом в таких количествах.

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

    Лень делать скрины, но приведу вам стату: по запросу в гугле site: мой домен — ответ примерно такой: нашлось примерно 243 миллиона страниц.
    В консоли гугла, средняя скорость загрузки страниц — 242 мc. Хостинг шаред (общий тысячи пользователей на одной машине) 300 рублей в месяц, плюс 50Гб места докупил, чтобы файлы влезали, нагрузки нет особой на хостинг от моего сайта этого.
  • Суд за 15 секунд принял решение по иску TgVPN к Роскомнадзору
    +8
    Ого! Кто-то еще пытается наехать по этим делам на РКН?
    Как по мне, это можно делать только ради само-рекламы, другого смысла в этом нет.
  • Интервью с Лиз Пэрриш, CEO компании BioViva
    +1
    Мы даже к свиному организму и то очень близко не приближаемся, а уж к собачьему — это вообще разные вселенные. Вряд-ли генетика собак сможет сильно помочь ускорить разработки и внедрения реальных технологий для людей.
  • Задачи и решения для бойца PostgreSQL
    –1
    На счет MS SQL — вы правы, просто у меня в настройках стоит коррекция формата SQL, и этот запрос выполняется в моем MS SQL как надо, и возвращает дробь (по дефолту со стандартом мелкомягких — там такой же трабл). Что еще раз говорит о том, что нужно использовать правильный софт и инструменты (или до-настраивать бажные, чтобы не получать такое вот чудо арифметики).

    На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
    Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).

    При этом, в том же VB6, который тоже писали ребята из мелкомягких, целочисленное деление, если оно вдруг понадобилось программисту, было реализовано как положено во всех нормальных языках — обратным слэшем \, чтобы явно отличаться от общей операции деления по всем арифметическим правилам. Вот и пойми их там в долине, кто в каком культе состоял и продолжает состоять по сей день.
  • Задачи и решения для бойца PostgreSQL
    –2
    На счет MS SQL — вы правы, просто у меня в настройках стоит коррекция формата SQL, и этот запрос выполняется в моем MS SQL как надо, и возвращает дробь (по дефолту со стандартом мелкомягких — там такой же трабл). Что еще раз говорит о том, что нужно использовать правильный софт и инструменты (или до-настраивать бажные, чтобы не получать такое вот чудо арифметики).

    На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
    Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).
  • Задачи и решения для бойца PostgreSQL
    –5
    1.1 Любой начинающий программист, думаю, когда первый раз столкнулся с явлением разной обработки чисел с плавающей точкой, в зависимости от микросхемы сопроцессора на его материнке, сломал себе моСк, пока не вычитал, или математически не увидел проблему чисел на разных ПК :) Я столкнулся в басике еще, когда начинал писать, дошел до решения сам, просто сравнив простой пример арифметический на двух разных ПК и увидел что числа разные — тогда и вычитал в фидо каком-то что по разному сопроцессоры работают. С тех пор, все условия равенства только нечеткие и обязательное округление, с указанием точных свойств поведения при округлении чисел с плавающей точкой.

    В MySQL и SQL Server нет такой х**ни как целый числа в операциях, поэтому SELECT 3/2 выдает как положено 1.5. Если в Postgre это не так — в голову гвоздь забить разрабу, который это придумал.

    2.3 NOW() на сколько я знаю, во ВСЕХ языках возвращает не дату, а дату и время. Дату всегда возвращает функция с текстом DATE в названии (в MySQL это CURDATE()). У любой функции в любом языке есть значение инкремента по умолчанию — для CURDATE это 1 день. Поэтому, запрос следующего дня всегда будет SELECT CAST(CURDATE() + 1 AS DATE) без всяких указаний интервалов и прочей чепушины.

    Да, вообще вся ваша статья какие-то надуманные грабли и костыли, которых нет в нормальных языках. Просто лень уже стало писать опровержения на каждый ваш пункт — просто пшите на правильных языках и инструментах, и тогда не придется выдумывать себе проблемы на свою… голову.
  • Интервью с Лиз Пэрриш, CEO компании BioViva
    –1
    Это на вряд-ли. Гуманизм в целом, как и заявила косвенно Пэрриш в своем интервью, сильно притормаживает процесс таких изучений, а уж внедрений — вообще не реально добиться пока. Если не разрешат всем желающим добровольно идти на риск (читать — смерть) чтобы испытывать новые технологии на себе, то вся эта карусель вокруг генетики, так и будет крутиться как хомяк в колесе — на одном месте.
  • Аргументы функций в виде битовых констант в PHP
    –13
    Спасибо автор, йо-хо! Я даже не заметил этого нововведения, наконец-то пхп дорос до visual basic 6.0! (в шестом басике именно так реализованы битовые и натуральные константы для передачи в функции).
    С одной стороны, в старом басике, который писали просто супер спецы, много чего было реализовано гораздо продуманнее, чем во многих, даже современных, языках. Но, с другой стороны, его писали многие лета назад, и все-таки, он во многом устарел для современных реалий (использования на современных устройствах).
    Но вот передача побитовыми операциями в функции, как по мне, была написано очень даже правильно (и работает очень быстро) — поэтому и для пхп сгодится нынешнего.
  • Глобальные объекты в PHP
    0
    Уже многие лета поражаюсь таким «писакам», как автор и прочим, пытающимся давать какие-то советы: что использовать и что не использовать при написании кода.

    Автор, если «писаки» какого-то софта, не имеют в руках инструмента (навыка, способности) определить дубли объявления, или изменения переменных — это только их (писак) проблемы.

    Нормальные разработчики, считают нужным использовать глобальную область видимости для переменных — используют, перед выходом в продакт проверяют на дубли объявлений и корректность перезаписи значений. Если считают, что в этом коде нужно обойтись без глобальных переменных — обходятся. Никакие паттерны/антипаттерны им не нужны, есть задача, есть группа, имеющая общие соглашения о правилах именования и распределения переменных (как правило вводный файл для любого нового разработчика, присоединяющегося к работе над конкретным кодом) — всё, остальное лирика «писак».
  • BEM'a не должно существовать
    –1
    Каскады вида .block--modifier .block__element можно применять, только осторожно. Дело в том, что если у вас в элементе окажется такой же блок (например, вы делаете древовидный компонент), то модификатор родителя будет влиять на элемент дочернего блока.


    Если верстальщик/девелопер интерфейса не может представить, или даже просто записать структуру своего интерфейса, который делает — то чего он делает вообще в этом бизнесе?
    Каким нужно быть… чтобы нагородить вложенные блоки прототипов, влияющих друг на друга.

    Тут еще выше люди отписывались про ад при работе в команде, если без БЭМ, это просто жесть. Если команда сама себе придумывает проблемы на ровном месте, не имея каких либо общих договоренностей об именованиях при разработке, то это не команда — это бесполезное сборище.

    Я уже просто десятилетие, не побоюсь этого слова, во всех проектах, с разными командами использую простейшее правило именования — цифровые индексы с буквенными приставками для разных типов селекторов. И ни разу еще после оглашения этого правила, никто не смог запутаться в коде. Именуем все классы, идентификаторы, прочие необходимые селекторы в пределах одной логической единицы интерфейса, строго цифровыми индексами от 1 и далее (к выданным буквенным префиксам этого интерфейса). В начале самого кода, каждый разработчик, работающий с этим кодом, указывает последний используемый индекс в этом интерфейсе — всё! Что там еще городить? Какие циклы? Какие вложенные структуры и блоки? Любой разработчик, открывая файл проекта с кодом, видит номер последнего примененного имени, просто продолжает дальше имена со следующими цифрами.

    Понадобилось вам после нескольких лет работы приложения/интерфейса внести изменения (дополнить ли, или изменить код и внешний вид), продолжаете вносить модифкаторы для нужных блоков именуя их дальше по порядку цифровыми индексами, это гарантия, что вы никогда не столкнетесь с конфликтом имен в кодах проекта.
    Если же ваш проект-менеджер сделал так, что у вас один ленд, или страницу интерфейса верстает сразу несколько человек — гоните такого менеджера в шею, в любой момент времени, отдельную логическую единицу верстает всегда, ВСЕГДА! один девелопер. Да млина, это не войну и мир писать группой — это одна видимая страница интерфейса, как могут там оказаться 2 верстальщика? Какими нужно быть упоротыми, чтобы до такого додуматься?
  • BEM'a не должно существовать
    –4
    Не поможет. Даже, имея 20-ти летний опыт разработки… Если этот опыт основывался на шаблонах, придуманных кем то не очень вменяемым — то все 20 лет псу под хвост.
    Есть спецификация, есть описание обработки кода в барузерах — всё, этих текстов должно быть достаточно.

    Автор статьи правильно негодует по поводу БЭМ-а, этот маразм вообще не должен был появиться, но сам даже близко не подошел к использованию спецификации «как надо».
    В первом же примере, он для наглядонсти, сокращает код:
    <ul class="article-rewind type-static lang-ru">
        <li class="next">
            <div class="text">Читать далее</div>
            <a class="link" href="">Основные понятия</a>
       </li>
    </ul>
    


    Но, что ему мешает сделать так: (ведь перед ul уже есть какой то старший тег, допустим div id=«i_1_», этот ul не в воздухе первым на странице повис)

    <ul>
        <li>
            <div>Читать далее</div>
            <a href="">Основные понятия</a>
       </li>
    </ul>
    /*в css */
    #i_1_ ul {}
    #i_1_ ul>li {}
    #i_1_ ul>li>div {}
    #i_1_ ul>li>a {}
    /*при необходимости*/ 
    #i_1_ ul>li:nth-child(n) {}
    #i_1_ ul>li:nth-child(n):first-line {}


    Зачем тащить в html код кучу бесполезного, нагружающего парсер самого браузера (и особенно парсеры ПС) бредотекста с классами, лишними тегами и прочей чепухой?

    Повторюсь — есть спецификация, она работает, зачем выдумывать какие то НАД-спецификации и кучу мусорного текста. Если кто-то будет спорить, что классы нужны для наглядности кода в больших проектах — то, как раз, автор тут вам всё и показал, что, наоборот, куча бредотекста не добавляет читабельности коду, а лишь ухудшает её.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    В отдельном помещении — вопрос бы даже не стоял, но у меня нет отдельного помещения, а это деньги. У меня вариант на чердаке, но боюсь через потолок слышно будет (хочу как то проверить).
    На счет электромеханического — может новые какие появились, вы точно своими глазами видели и слышали такой? Просто я такой проверял уже — сам подвижный контакт понятно едет шурша, но переключение, там такая же релюха стоит, которая так же щелкает перед тем как начинает ехать контакт. Именно эта релюха и щелкает как пулемет (я же говорю никто даже в мыслях не понимает что за напруга и думают что мне жужжание мешает :) ).
    ЛЮБОЙ выпрямитель, или ИБП в моей сети, ПЕРЕКЛЮЧАЕТ СЕБЯ от 3-х до 11-ти раз В СЕКУНДУ РЕЛЮХОЙ!
    Ни о каких последующих действиях речи не идет, едет ли там контакт, или каскад пониажет/повышает — сама релюха бьет как по наковальне 11 раз в секунду!
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Как вариант, на улице — то понятное дело, что уже не будет слышно, а я предполагал на чердаке ящик установить железный — но вот боюсь, что будет слышно через потолок.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Еще раз повторю — возьмите вилку и постучите по холодильнику, а потом идите сюда писать о том, — нормально-ли будет вам спать под это?
    Вы даже в страшном сне не представляете, что такое 11-36 скачков напруги в СЕКУНДУ. (ИБП понятное дело в секунду щелкает меньше от 3 до 11 раз)
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Ага, понял, спасибо за разъяснение. Вот жеж беда, хоть отписывайся китайцам, чтобы создали индивидуально для меня плату :)

    А кстати, на сколько сложно на существующей плате того же например APC 750VA, изменить эти показатели у него (он сейчас вытягивает с 175В-> и 255В <-). Можно ли несложными переделками увеличить эти показатели до нужных мне характеристик?
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    С атомными деньгами я бы взял электронный стабилизатор, как и написал выше (от $1500), там нет щелканий никаких.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Дело не в стабилизаторе — вы не уловили суть. Это всё из-за того, что никто даже представить не может себе такую напругу. Вы представляете себе пулемет железных щелчков реле? И так круглые сутки почти, вы спать как собираетесь?
    Возьмите вилку стальную и быстро постучите ей по холодильнику, тогда немого будет понятно как работают ЛЮБЫЕ стабилизаторы, в которых механические релюхи.

    А чисто электронные стабы стоят, как я и написал, от 1500 долларов и дальше, и брать за такие деньги их у меня нет никакого желания.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Не 200 а $550-$700 и его придется ставить на чердак, чтобы пулемет железных щелчков не слышать, и то не факт. Хочу как то проверить сначала, вдруг потом спать невозможно будет из-за щелканья, там релюхи то посерьезнее чем в ИБП-шках и щелкают как по наковальне (или вообще в отдельную будку выносить на улицу куда-то). Сейчас у меня именно этот вариант на рассмотрении, других, более дешевых уже не осталось.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    Так а по деньгам то что? Вытягивать такие показатели — нужны дорогие детали для схемы, или просто никто не делает, так, как редки такие случаи напряжения?
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    0
    А я не написал о них разве в комменте? Что они также виснут.
  • Как я делал линейно-интерактивный ИБП (Часть 1)
    +1
    Автор, а какие детали отвечают именно за выравнивание напряжение, без включения инвертора?
    Интересуюсь не праздно, хочу узнать, реально дорого вытягивать из низкого напряжения 170В в стандарт 210В-230В, и понижать высокое 275В на стандарт. Или это просто не учитывается разработчиками ИБП, как не существующее, а если нужно, то сделали бы и не слишком дороже получилось бы?

    Просто у меня в деревне, такое напряжение. В секунду — (в одну секунду времени) напряжение меняется от 11 до 36 раз, амплитудой от 170 до 275 вольт. Не в полную амплитуду конечно, а полчаса идет полоса от 170 до 190 вольт, потом может пойти полоса от 250 до 275 вольт и так постоянно. Всего пару часов в день, напруга находится скачками между 198 и 230 вольт.

    Если кто- то не понимает, чем прикольно такое напряжение, то расскажу: никакой выпрямитель, который находится в среднем ценовом диапазоне, до 150 долларов, (APC 650Ваттный например), или ИБП вроде APC 750VA, 1200VA, не в состоянии долго удерживать эти скачки. Мало того, что их реле постоянно щелкают металлическим звуком как пулемет (помним о смене 11-36 раз в секунду напруги, которая переключает ИБП на инвертор и обратно на трансформатор), так они еще и в определенный момент виснут с выдачей постоянного писка, и их нужно отключить от сети и снова включить, чтобы они начали работать.

    Если же поставить в настройках ИБП замедленную реакцию на переключение инвертора — то аккумулятор просто высаживается за полчаса и ИБП отключается. Выпрямитель понятное дело просто выключает нагрузку периодически, что тоже не есть гуд и также вылетает с писком периодически и требует выключения/включения.
    Брать аппарат за полторы тысячи долларов как-то не очень хочется, вот я и интересуюсь: какие детали, и на сколько дорого смогут выпрямить мой пулемет?

    P.S>
    Зная такое УГ своей напруги, я хотя бы холодильник купил от самсунга с супер блоком питания и защитой — он не отключается при 140В и по верху 400В ему не страшны, поэтому он напрямую работает от розетки у меня. Правда, когда идет полоса 160В, он плохо морозит, не хватает энергии (да и пылесос не сосет, микроволновка не греет, в общем счетчик крутит, а приборы не работают как надо).