Мы даже к свиному организму и то очень близко не приближаемся, а уж к собачьему — это вообще разные вселенные. Вряд-ли генетика собак сможет сильно помочь ускорить разработки и внедрения реальных технологий для людей.
На счет MS SQL — вы правы, просто у меня в настройках стоит коррекция формата SQL, и этот запрос выполняется в моем MS SQL как надо, и возвращает дробь (по дефолту со стандартом мелкомягких — там такой же трабл). Что еще раз говорит о том, что нужно использовать правильный софт и инструменты (или до-настраивать бажные, чтобы не получать такое вот чудо арифметики).
На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).
При этом, в том же VB6, который тоже писали ребята из мелкомягких, целочисленное деление, если оно вдруг понадобилось программисту, было реализовано как положено во всех нормальных языках — обратным слэшем \, чтобы явно отличаться от общей операции деления по всем арифметическим правилам. Вот и пойми их там в долине, кто в каком культе состоял и продолжает состоять по сей день.
На счет MS SQL — вы правы, просто у меня в настройках стоит коррекция формата SQL, и этот запрос выполняется в моем MS SQL как надо, и возвращает дробь (по дефолту со стандартом мелкомягких — там такой же трабл). Что еще раз говорит о том, что нужно использовать правильный софт и инструменты (или до-настраивать бажные, чтобы не получать такое вот чудо арифметики).
На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).
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) без всяких указаний интервалов и прочей чепушины.
Да, вообще вся ваша статья какие-то надуманные грабли и костыли, которых нет в нормальных языках. Просто лень уже стало писать опровержения на каждый ваш пункт — просто пшите на правильных языках и инструментах, и тогда не придется выдумывать себе проблемы на свою… голову.
Это на вряд-ли. Гуманизм в целом, как и заявила косвенно Пэрриш в своем интервью, сильно притормаживает процесс таких изучений, а уж внедрений — вообще не реально добиться пока. Если не разрешат всем желающим добровольно идти на риск (читать — смерть) чтобы испытывать новые технологии на себе, то вся эта карусель вокруг генетики, так и будет крутиться как хомяк в колесе — на одном месте.
Спасибо автор, йо-хо! Я даже не заметил этого нововведения, наконец-то пхп дорос до visual basic 6.0! (в шестом басике именно так реализованы битовые и натуральные константы для передачи в функции).
С одной стороны, в старом басике, который писали просто супер спецы, много чего было реализовано гораздо продуманнее, чем во многих, даже современных, языках. Но, с другой стороны, его писали многие лета назад, и все-таки, он во многом устарел для современных реалий (использования на современных устройствах).
Но вот передача побитовыми операциями в функции, как по мне, была написано очень даже правильно (и работает очень быстро) — поэтому и для пхп сгодится нынешнего.
Уже многие лета поражаюсь таким «писакам», как автор и прочим, пытающимся давать какие-то советы: что использовать и что не использовать при написании кода.
Автор, если «писаки» какого-то софта, не имеют в руках инструмента (навыка, способности) определить дубли объявления, или изменения переменных — это только их (писак) проблемы.
Нормальные разработчики, считают нужным использовать глобальную область видимости для переменных — используют, перед выходом в продакт проверяют на дубли объявлений и корректность перезаписи значений. Если считают, что в этом коде нужно обойтись без глобальных переменных — обходятся. Никакие паттерны/антипаттерны им не нужны, есть задача, есть группа, имеющая общие соглашения о правилах именования и распределения переменных (как правило вводный файл для любого нового разработчика, присоединяющегося к работе над конкретным кодом) — всё, остальное лирика «писак».
Каскады вида .block--modifier .block__element можно применять, только осторожно. Дело в том, что если у вас в элементе окажется такой же блок (например, вы делаете древовидный компонент), то модификатор родителя будет влиять на элемент дочернего блока.
Если верстальщик/девелопер интерфейса не может представить, или даже просто записать структуру своего интерфейса, который делает — то чего он делает вообще в этом бизнесе?
Каким нужно быть… чтобы нагородить вложенные блоки прототипов, влияющих друг на друга.
Тут еще выше люди отписывались про ад при работе в команде, если без БЭМ, это просто жесть. Если команда сама себе придумывает проблемы на ровном месте, не имея каких либо общих договоренностей об именованиях при разработке, то это не команда — это бесполезное сборище.
Я уже просто десятилетие, не побоюсь этого слова, во всех проектах, с разными командами использую простейшее правило именования — цифровые индексы с буквенными приставками для разных типов селекторов. И ни разу еще после оглашения этого правила, никто не смог запутаться в коде. Именуем все классы, идентификаторы, прочие необходимые селекторы в пределах одной логической единицы интерфейса, строго цифровыми индексами от 1 и далее (к выданным буквенным префиксам этого интерфейса). В начале самого кода, каждый разработчик, работающий с этим кодом, указывает последний используемый индекс в этом интерфейсе — всё! Что там еще городить? Какие циклы? Какие вложенные структуры и блоки? Любой разработчик, открывая файл проекта с кодом, видит номер последнего примененного имени, просто продолжает дальше имена со следующими цифрами.
Понадобилось вам после нескольких лет работы приложения/интерфейса внести изменения (дополнить ли, или изменить код и внешний вид), продолжаете вносить модифкаторы для нужных блоков именуя их дальше по порядку цифровыми индексами, это гарантия, что вы никогда не столкнетесь с конфликтом имен в кодах проекта.
Если же ваш проект-менеджер сделал так, что у вас один ленд, или страницу интерфейса верстает сразу несколько человек — гоните такого менеджера в шею, в любой момент времени, отдельную логическую единицу верстает всегда, ВСЕГДА! один девелопер. Да млина, это не войну и мир писать группой — это одна видимая страница интерфейса, как могут там оказаться 2 верстальщика? Какими нужно быть упоротыми, чтобы до такого додуматься?
Не поможет. Даже, имея 20-ти летний опыт разработки… Если этот опыт основывался на шаблонах, придуманных кем то не очень вменяемым — то все 20 лет псу под хвост.
Есть спецификация, есть описание обработки кода в барузерах — всё, этих текстов должно быть достаточно.
Автор статьи правильно негодует по поводу БЭМ-а, этот маразм вообще не должен был появиться, но сам даже близко не подошел к использованию спецификации «как надо».
В первом же примере, он для наглядонсти, сокращает код:
Зачем тащить в html код кучу бесполезного, нагружающего парсер самого браузера (и особенно парсеры ПС) бредотекста с классами, лишними тегами и прочей чепухой?
Повторюсь — есть спецификация, она работает, зачем выдумывать какие то НАД-спецификации и кучу мусорного текста. Если кто-то будет спорить, что классы нужны для наглядности кода в больших проектах — то, как раз, автор тут вам всё и показал, что, наоборот, куча бредотекста не добавляет читабельности коду, а лишь ухудшает её.
В отдельном помещении — вопрос бы даже не стоял, но у меня нет отдельного помещения, а это деньги. У меня вариант на чердаке, но боюсь через потолок слышно будет (хочу как то проверить).
На счет электромеханического — может новые какие появились, вы точно своими глазами видели и слышали такой? Просто я такой проверял уже — сам подвижный контакт понятно едет шурша, но переключение, там такая же релюха стоит, которая так же щелкает перед тем как начинает ехать контакт. Именно эта релюха и щелкает как пулемет (я же говорю никто даже в мыслях не понимает что за напруга и думают что мне жужжание мешает :) ).
ЛЮБОЙ выпрямитель, или ИБП в моей сети, ПЕРЕКЛЮЧАЕТ СЕБЯ от 3-х до 11-ти раз В СЕКУНДУ РЕЛЮХОЙ!
Ни о каких последующих действиях речи не идет, едет ли там контакт, или каскад пониажет/повышает — сама релюха бьет как по наковальне 11 раз в секунду!
Как вариант, на улице — то понятное дело, что уже не будет слышно, а я предполагал на чердаке ящик установить железный — но вот боюсь, что будет слышно через потолок.
Еще раз повторю — возьмите вилку и постучите по холодильнику, а потом идите сюда писать о том, — нормально-ли будет вам спать под это?
Вы даже в страшном сне не представляете, что такое 11-36 скачков напруги в СЕКУНДУ. (ИБП понятное дело в секунду щелкает меньше от 3 до 11 раз)
Ага, понял, спасибо за разъяснение. Вот жеж беда, хоть отписывайся китайцам, чтобы создали индивидуально для меня плату :)
А кстати, на сколько сложно на существующей плате того же например APC 750VA, изменить эти показатели у него (он сейчас вытягивает с 175В-> и 255В <-). Можно ли несложными переделками увеличить эти показатели до нужных мне характеристик?
Дело не в стабилизаторе — вы не уловили суть. Это всё из-за того, что никто даже представить не может себе такую напругу. Вы представляете себе пулемет железных щелчков реле? И так круглые сутки почти, вы спать как собираетесь?
Возьмите вилку стальную и быстро постучите ей по холодильнику, тогда немого будет понятно как работают ЛЮБЫЕ стабилизаторы, в которых механические релюхи.
А чисто электронные стабы стоят, как я и написал, от 1500 долларов и дальше, и брать за такие деньги их у меня нет никакого желания.
Не 200 а $550-$700 и его придется ставить на чердак, чтобы пулемет железных щелчков не слышать, и то не факт. Хочу как то проверить сначала, вдруг потом спать невозможно будет из-за щелканья, там релюхи то посерьезнее чем в ИБП-шках и щелкают как по наковальне (или вообще в отдельную будку выносить на улицу куда-то). Сейчас у меня именно этот вариант на рассмотрении, других, более дешевых уже не осталось.
Так а по деньгам то что? Вытягивать такие показатели — нужны дорогие детали для схемы, или просто никто не делает, так, как редки такие случаи напряжения?
Автор, а какие детали отвечают именно за выравнивание напряжение, без включения инвертора?
Интересуюсь не праздно, хочу узнать, реально дорого вытягивать из низкого напряжения 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В, он плохо морозит, не хватает энергии (да и пылесос не сосет, микроволновка не греет, в общем счетчик крутит, а приборы не работают как надо).
Как по мне, это можно делать только ради само-рекламы, другого смысла в этом нет.
На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).
При этом, в том же VB6, который тоже писали ребята из мелкомягких, целочисленное деление, если оно вдруг понадобилось программисту, было реализовано как положено во всех нормальных языках — обратным слэшем \, чтобы явно отличаться от общей операции деления по всем арифметическим правилам. Вот и пойми их там в долине, кто в каком культе состоял и продолжает состоять по сей день.
На счет даты — в MSSQL инкрементом дневной даты обладает GETDATE(), так, что её можно использовать без суффиксов (но она плохо оптимизируется, вроде, как).
Вообще, мелокмягкие со своими стандартами SQL, меня достали еще в детстве, в своем косом MSAccess. Я тогда уже их люто невзлюбил за реализацию SQL запросов. И они десятилетяими так и продолжают топтать грабли своих косых разработчиков (впрочем, как и с их IE это у них, наверное какой-то культ там).
В MySQL и SQL Server нет такой х**ни как целый числа в операциях, поэтому SELECT 3/2 выдает как положено 1.5. Если в Postgre это не так — в голову гвоздь забить разрабу, который это придумал.
2.3 NOW() на сколько я знаю, во ВСЕХ языках возвращает не дату, а дату и время. Дату всегда возвращает функция с текстом DATE в названии (в MySQL это CURDATE()). У любой функции в любом языке есть значение инкремента по умолчанию — для CURDATE это 1 день. Поэтому, запрос следующего дня всегда будет SELECT CAST(CURDATE() + 1 AS DATE) без всяких указаний интервалов и прочей чепушины.
Да, вообще вся ваша статья какие-то надуманные грабли и костыли, которых нет в нормальных языках. Просто лень уже стало писать опровержения на каждый ваш пункт — просто пшите на правильных языках и инструментах, и тогда не придется выдумывать себе проблемы на свою… голову.
С одной стороны, в старом басике, который писали просто супер спецы, много чего было реализовано гораздо продуманнее, чем во многих, даже современных, языках. Но, с другой стороны, его писали многие лета назад, и все-таки, он во многом устарел для современных реалий (использования на современных устройствах).
Но вот передача побитовыми операциями в функции, как по мне, была написано очень даже правильно (и работает очень быстро) — поэтому и для пхп сгодится нынешнего.
Автор, если «писаки» какого-то софта, не имеют в руках инструмента (навыка, способности) определить дубли объявления, или изменения переменных — это только их (писак) проблемы.
Нормальные разработчики, считают нужным использовать глобальную область видимости для переменных — используют, перед выходом в продакт проверяют на дубли объявлений и корректность перезаписи значений. Если считают, что в этом коде нужно обойтись без глобальных переменных — обходятся. Никакие паттерны/антипаттерны им не нужны, есть задача, есть группа, имеющая общие соглашения о правилах именования и распределения переменных (как правило вводный файл для любого нового разработчика, присоединяющегося к работе над конкретным кодом) — всё, остальное лирика «писак».
Если верстальщик/девелопер интерфейса не может представить, или даже просто записать структуру своего интерфейса, который делает — то чего он делает вообще в этом бизнесе?
Каким нужно быть… чтобы нагородить вложенные блоки прототипов, влияющих друг на друга.
Тут еще выше люди отписывались про ад при работе в команде, если без БЭМ, это просто жесть. Если команда сама себе придумывает проблемы на ровном месте, не имея каких либо общих договоренностей об именованиях при разработке, то это не команда — это бесполезное сборище.
Я уже просто десятилетие, не побоюсь этого слова, во всех проектах, с разными командами использую простейшее правило именования — цифровые индексы с буквенными приставками для разных типов селекторов. И ни разу еще после оглашения этого правила, никто не смог запутаться в коде. Именуем все классы, идентификаторы, прочие необходимые селекторы в пределах одной логической единицы интерфейса, строго цифровыми индексами от 1 и далее (к выданным буквенным префиксам этого интерфейса). В начале самого кода, каждый разработчик, работающий с этим кодом, указывает последний используемый индекс в этом интерфейсе — всё! Что там еще городить? Какие циклы? Какие вложенные структуры и блоки? Любой разработчик, открывая файл проекта с кодом, видит номер последнего примененного имени, просто продолжает дальше имена со следующими цифрами.
Понадобилось вам после нескольких лет работы приложения/интерфейса внести изменения (дополнить ли, или изменить код и внешний вид), продолжаете вносить модифкаторы для нужных блоков именуя их дальше по порядку цифровыми индексами, это гарантия, что вы никогда не столкнетесь с конфликтом имен в кодах проекта.
Если же ваш проект-менеджер сделал так, что у вас один ленд, или страницу интерфейса верстает сразу несколько человек — гоните такого менеджера в шею, в любой момент времени, отдельную логическую единицу верстает всегда, ВСЕГДА! один девелопер. Да млина, это не войну и мир писать группой — это одна видимая страница интерфейса, как могут там оказаться 2 верстальщика? Какими нужно быть упоротыми, чтобы до такого додуматься?
Есть спецификация, есть описание обработки кода в барузерах — всё, этих текстов должно быть достаточно.
Автор статьи правильно негодует по поводу БЭМ-а, этот маразм вообще не должен был появиться, но сам даже близко не подошел к использованию спецификации «как надо».
В первом же примере, он для наглядонсти, сокращает код:
Но, что ему мешает сделать так: (ведь перед ul уже есть какой то старший тег, допустим div id=«i_1_», этот ul не в воздухе первым на странице повис)
Зачем тащить в html код кучу бесполезного, нагружающего парсер самого браузера (и особенно парсеры ПС) бредотекста с классами, лишними тегами и прочей чепухой?
Повторюсь — есть спецификация, она работает, зачем выдумывать какие то НАД-спецификации и кучу мусорного текста. Если кто-то будет спорить, что классы нужны для наглядности кода в больших проектах — то, как раз, автор тут вам всё и показал, что, наоборот, куча бредотекста не добавляет читабельности коду, а лишь ухудшает её.
На счет электромеханического — может новые какие появились, вы точно своими глазами видели и слышали такой? Просто я такой проверял уже — сам подвижный контакт понятно едет шурша, но переключение, там такая же релюха стоит, которая так же щелкает перед тем как начинает ехать контакт. Именно эта релюха и щелкает как пулемет (я же говорю никто даже в мыслях не понимает что за напруга и думают что мне жужжание мешает :) ).
ЛЮБОЙ выпрямитель, или ИБП в моей сети, ПЕРЕКЛЮЧАЕТ СЕБЯ от 3-х до 11-ти раз В СЕКУНДУ РЕЛЮХОЙ!
Ни о каких последующих действиях речи не идет, едет ли там контакт, или каскад пониажет/повышает — сама релюха бьет как по наковальне 11 раз в секунду!
Вы даже в страшном сне не представляете, что такое 11-36 скачков напруги в СЕКУНДУ. (ИБП понятное дело в секунду щелкает меньше от 3 до 11 раз)
А кстати, на сколько сложно на существующей плате того же например APC 750VA, изменить эти показатели у него (он сейчас вытягивает с 175В-> и 255В <-). Можно ли несложными переделками увеличить эти показатели до нужных мне характеристик?
Возьмите вилку стальную и быстро постучите ей по холодильнику, тогда немого будет понятно как работают ЛЮБЫЕ стабилизаторы, в которых механические релюхи.
А чисто электронные стабы стоят, как я и написал, от 1500 долларов и дальше, и брать за такие деньги их у меня нет никакого желания.
Интересуюсь не праздно, хочу узнать, реально дорого вытягивать из низкого напряжения 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В, он плохо морозит, не хватает энергии (да и пылесос не сосет, микроволновка не греет, в общем счетчик крутит, а приборы не работают как надо).