> после начала рассылки отчетов среднее время присутствия сотрудника на рабочем месте повысилось.
Немного непонятно, а это как? Сначала работали с 9 до 18, а стали с 9 до 19?
Я тоже как-то задумался, почему в жизни счет ведется с единицы, а в компьютерах с 0. И в чем различие. Получились такие мысли.
Сначала было бы неплохо определиться, что вообще означает «прибавить единицу», как это можно выразить математически? Началось все со счета на пальцах и палочках. Целочисленный счет на числовой прямой можно выразить набором единичных векторов, следующих один за другим — первый вектор, второй вектор…
И тут возникает такой вопрос — включать концы вектора или нет в отрезок, соответствующий числу 1? Есть 4 варианта — включать оба, включать правый, включать левый, не включать.
В первом точка между векторами принадлежит им обоим, в четвертом образуются промежутки. Эти варианты отбрасываем.
Третий вариант соответствует обычному счету предметов — чтобы с уверенность сказать, что овечка перепрыгнула через забор, надо чтобы она полностью была по эту сторону забора, а если хвост у нее еще по ту сторону, то так сказать нельзя. Перепрыгнула полностью — плюс один. Ноль в этом варианте не принадлежит ни одному вектору. Думаю, это одна из причин, почему он появился позже остальных цифр. Ну типа — мы всех овечек посчитали, каждой овечке соответсвует палочка, какой еще ноль?
Второй вариант соответствует адресации, которая используется в компьютерах. Допустим, у нас есть массив четырехбайтовых целых чисел. Элементы массива состоят из байтов, байты из битов. На любом уровне удобнее отсчитывать элементы в порядке возрастания. Для получения начального элемента массива надо взять байты со смещением [0, 1, 2, 3]. Аналог обычного счета был бы такой — прибавить к адресу массива размер элемента 4 байта, байты со смещением [-1, -2, -3, -4] это начальный элемент. Опять же big/little endian здесь можно вспомнить.
Я правильно понимаю, что у variable в этом случае вызывается что-то типа toString(), который мы сами должны реализовать? Я имел в виду не невозможность логирования в принципе и не определение типа переменной, а сложность получить все поля с их типами и значениями для некоторой сложной структуры.
Полагаю, что не в последнюю очередь это связано с тем, что в таких языках посмотреть, что представляет из себя переменная, можно только в отладчике. В динамических для этого есть всякие var_dump() и console.log(). С другой стороны, я часто использую отладчик в PHP, он хорошо помогает разобраться в работе плохо написанного кода или в дебрях абстракций и DI-контейнеров.
Если вам это интересно, мне меньше 30, лишнего веса не было, скорее наоборот. Но я говорил не об этом. Я указал на несостоятельность ваших доводов, а не на то, что сидячий образ жизни это хорошо. А вы почему-то подменяете понятия.
Сказка учит другому — сиди за компом и похудеешь чудесным образом
В сказке сказано довольно ясно: «и так увлекся, что все время забывал поесть, и очень сильно похудел пока писал». Если мало есть, то можно похудеть. Что здесь чудесного?
Сказка учит тому, что быть умным это круто, потому что умный во многих случаях найдет выход в сложной ситуации, а программисты умные, поэтому быть программистом тоже круто. Про инопланетян и параллельные миры, по-моему, любой дошкольник поймет, что это прикол и сказано для красного словца. Или вы предлагаете вообще сказки детям не читать, там же феи-волшебницы и говорящие круглые булки?
За компом чел. будет жрать и жрать
Если некто жрет и жрет за компом, это личные проблемы этого «некта». Он будет часто есть и без компа. Не нужно проецировать 1 или 2 известных вам случая на всех людей.
Это реальность, а не то что вам хотелось бы
У меня, например, бывает так. Утром чего-нибудь перекусить, потом начать работать, потом «блин, че оно не работает, надо разобраться», потом «тут немножко доделать осталось», потом «ой блин, уже 4 часа, а я еще не обедал». Это реальность. А приводить в качестве реальности слова профессора, про критику которого даже в Википедии написано, это несерьезно.
Как мне кажется, в целом выглядит получше, чем форматы, описанные в других аналогичных статьях на хабре. Возможно, кому-то и пригодится.
Навскидку вопросы такие:
Если надо сохранить в поле весь текст этой статьи с комментариями, какой разделитель выбрать? Получается, нужен какой-то редактор, который будет назначать разделители или хотя бы просто проверять валидность разметки.
Если надо в одном поле сохранить завершающий перевод строки, а в другом нет, какая у них должна быть разметка?
Раз поднялась такая тема, тоже расскажу свою историю. На диплом делал эмулятор процессора, по документации IA32. Цель была сделать простую виртуальную машину, но при этом оставить полный доступ к оборудованию с возможностью эмулировать отдельные устройства типа CD-ROM. В основном, для ситуаций вида «скинул образ ОС на флешку, подключил виртуальный CD-ROM, поставил ОС на комп». Сначала думал — подумаешь, несколько сотен мелких команд процессора эмулировать, за год управлюсь. Я явно переоценил свои возможности, оказалось, что придумали много всяких умных штук типа DMA и GDT. Поэтому для демонстрации пришлось также написать маленькую ОС в которой использовались только простые команды, но был графический режим, драйвер клавиатуры и браузер содержимого CD. Зато 16-разрядные команды и прерывания эмулировались полностью, и можно было сделать виртуальную дискету из образа.
Скрытый текст
Дело осложнялось тем, что при любой ошибке в защищенном режиме процессор уходит в перезагрузку. Поэтому сделал систему логов, работала она так — программа пишет строки в память начиная с некоторого константного адреса, при ошибке происходит перезагрузка, при горячей перезагрузке память не обнуляется, загружается DOS, из него можно запустить специальную программу, которая из реального режима открывает доступ к 4Г памяти, читает с этого адреса строки, выводит их на экран через досовское прерывание, а при запуске можно перенаправить этот вывод в файл. Может кому пригодится такой способ.
Речь не о бюрократии, а об организации процесса постановки задач. Можно полчаса обсуждать задачу с начальником/заказчиком в то время, когда удобно им, а можно за 2 минуты прочитать общую постановку задачи в таск-трекере, потратить 2 минуты на написание коммента с уточняющими вопросами, и через час потратить еще 2 минуты на чтение ответа. В остальное время можно заниматься другой работой или пинать балду своими делами (в зависимости от ситуации).
Мне кажется, вы просто переносите свой негативный опыт в конкретной ситуации на все методологии организации процесса разработки.
На этапе «уже давно вышла вторая версия», которая использует классHtml.
Класс для генерации html подходит для внутреннего использования (например, в другом классе для работы с формами), но для верстки страниц лучше использовать обычные теги с кодом на php или шаблонизатором.
(не ради разжигания холивара, просто личные наблюдения)
Заметил, что даже в проектах, где принят стиль с египетскими скобками, иногда для улучшения читабельности все равно ставят после if или for пустую строку. yii2, jquery, doctrine, less.js
Имхо, египетские скобки выглядят удобнее поначалу, когда тело оператора небольшое, на 1-2 строки. Но когда логика становится сложнее, читабельность такой конструкции понижается.
Я воспринимаю скобки "{}" не только как начало/конец блока, но и как сигнал увеличение/уменьшение отступа, поэтому мне удобнее, когда открывающая скобка находится на отдельной строке. Однако другие стили особого раздражения не вызывают, без проблем пишу так, как принято в проекте.
Спасибо, конечно, за повторение ссылки из фразы «написал специалист по информационной безопасности Асаф Орпани в своем блоге», но если бы я хотел почитать в оригинале, то я бы так и поискал по словам «Joomla SQL Injection Vulnerability» (если что, это на данный момент первый результат в поиске Google). Мне непонятна цель самой статьи на Хабре. Это ведь даже не перевод статьи по указанной ссылке.
Так можно и одним типом string обойтись. И передавать через JSON не только невалидный JSON, но и код в любом другом формате или на языке программирования. Надо будет просто функцию восстановления написать.
Немного непонятно, а это как? Сначала работали с 9 до 18, а стали с 9 до 19?
Сначала было бы неплохо определиться, что вообще означает «прибавить единицу», как это можно выразить математически? Началось все со счета на пальцах и палочках. Целочисленный счет на числовой прямой можно выразить набором единичных векторов, следующих один за другим — первый вектор, второй вектор…
И тут возникает такой вопрос — включать концы вектора или нет в отрезок, соответствующий числу 1? Есть 4 варианта — включать оба, включать правый, включать левый, не включать.
В первом точка между векторами принадлежит им обоим, в четвертом образуются промежутки. Эти варианты отбрасываем.
Третий вариант соответствует обычному счету предметов — чтобы с уверенность сказать, что овечка перепрыгнула через забор, надо чтобы она полностью была по эту сторону забора, а если хвост у нее еще по ту сторону, то так сказать нельзя. Перепрыгнула полностью — плюс один. Ноль в этом варианте не принадлежит ни одному вектору. Думаю, это одна из причин, почему он появился позже остальных цифр. Ну типа — мы всех овечек посчитали, каждой овечке соответсвует палочка, какой еще ноль?
Второй вариант соответствует адресации, которая используется в компьютерах. Допустим, у нас есть массив четырехбайтовых целых чисел. Элементы массива состоят из байтов, байты из битов. На любом уровне удобнее отсчитывать элементы в порядке возрастания. Для получения начального элемента массива надо взять байты со смещением [0, 1, 2, 3]. Аналог обычного счета был бы такой — прибавить к адресу массива размер элемента 4 байта, байты со смещением [-1, -2, -3, -4] это начальный элемент. Опять же big/little endian здесь можно вспомнить.
Сказка учит тому, что быть умным это круто, потому что умный во многих случаях найдет выход в сложной ситуации, а программисты умные, поэтому быть программистом тоже круто. Про инопланетян и параллельные миры, по-моему, любой дошкольник поймет, что это прикол и сказано для красного словца. Или вы предлагаете вообще сказки детям не читать, там же феи-волшебницы и говорящие круглые булки?
Если некто жрет и жрет за компом, это личные проблемы этого «некта». Он будет часто есть и без компа. Не нужно проецировать 1 или 2 известных вам случая на всех людей.
У меня, например, бывает так. Утром чего-нибудь перекусить, потом начать работать, потом «блин, че оно не работает, надо разобраться», потом «тут немножко доделать осталось», потом «ой блин, уже 4 часа, а я еще не обедал». Это реальность. А приводить в качестве реальности слова профессора, про критику которого даже в Википедии написано, это несерьезно.
Навскидку вопросы такие:
Если надо сохранить в поле весь текст этой статьи с комментариями, какой разделитель выбрать? Получается, нужен какой-то редактор, который будет назначать разделители или хотя бы просто проверять валидность разметки.
Если надо в одном поле сохранить завершающий перевод строки, а в другом нет, какая у них должна быть разметка?
На приложение уровня «Hello world»? Вы правда считаете, что стоит всем об этом рассказывать?
пинать балдусвоими делами (в зависимости от ситуации).Мне кажется, вы просто переносите свой негативный опыт в конкретной ситуации на все методологии организации процесса разработки.
Класс для генерации html подходит для внутреннего использования (например, в другом классе для работы с формами), но для верстки страниц лучше использовать обычные теги с кодом на php или шаблонизатором.
— разная подсветка для html и php кода
— подсветка открывающего и закрывающего тега
— возможность свернуть содержимое тега
Заметил, что даже в проектах, где принят стиль с египетскими скобками, иногда для улучшения читабельности все равно ставят после if или for пустую строку.
yii2, jquery, doctrine, less.js
Имхо, египетские скобки выглядят удобнее поначалу, когда тело оператора небольшое, на 1-2 строки. Но когда логика становится сложнее, читабельность такой конструкции понижается.
Здесь все красиво и компактно
laravel
А здесь первые три строчки тела визуально сливаются с foreach
phpspec
Я воспринимаю скобки "{}" не только как начало/конец блока, но и как сигнал увеличение/уменьшение отступа, поэтому мне удобнее, когда открывающая скобка находится на отдельной строке. Однако другие стили особого раздражения не вызывают, без проблем пишу так, как принято в проекте.