Как работает навигация по письмам в Gmail?

В web-интерфейсе Gmail навигация по письмам сделана следующим образом:

Изначально мы на странице «Входящие»
https://mail.google.com/mail/?hl=ru&shva=1#inbox


Нажимаем на письмо и попадаем на
https://mail.google.com/mail/?hl=ru&shva=1#inbox/12c4911509040a02

При этом открывается само письмо.

Как видно, мы работаем через «решетку» #, поэтому перезагрузки страницы не происходт, вместо этого происходит переход «по якорю». Тем не менее, URL меняется, и браузер делает переход без отправки запроса на сервер, в результате чего мгновенно открывается текст письма (который уже где-то хранился в DOM и посредством JS выводится пользователю), и становится доступной кнопка «Назад» в браузере, что очевидно. Если ее нажать, мы возвращаемся к списку писем, текст письма при этом скрывается, конечно же без перезагрузки страницы, и это очень быстро работает.

Вопрос: Как это работает? Конкретно, после нажатия «Назад». Ведь мы работаем на одной странице, нужно как-то закрыть открытое письмо. Как работает этот механизм? Какое события обрабатывается? Надеюсь, суть вопроса ясна.

JavaScript   Gmail   HTML    

337   4   19:16, 2nd August, 2020


Фильтрация "комментаторов"

Хотелось бы прикрутить фильтр к Google Chrome и отсеивать посты некоторых комментаторов на Хабре. Просто не хочу тратить время на пропуск в ленте комментариев. Нет человека — нет изжоги.

Какие средства можете посоветовать для замены постов заглушкой? Опционально можно было бы прятать ветку с коментариями целиком.

Хабр   Google   Chrome   Контент    

296   2   19:02, 2nd August, 2020


Как бы вы оценили программиста?

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

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

Мой вопрос заключается в следующем:

  1. Как программист, какие вопросы оценки вы хотели бы видеть?
  2. Как менеджер, какие вопросы оценки вы хотели бы видеть?
  3. Как оценщик, как вы можете предотвратить предвзятость в своей оценке?
  4. Я хотел бы удалить оценочный тест. Есть ли какие-либо преимущества в проведении оценочного теста? Какой-нибудь недостаток?

evaluation    

351   4   18:45, 2nd August, 2020


Насколько велика будет такая база данных?

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

database   oracle    

509   5   18:40, 2nd August, 2020


Удаление значка из заголовков Windows без нажатия кнопки закрытия или системного меню?

Я разрабатываю приложение MFC, и недавно я искал хороший способ удалить значок из строки заголовка Windows,но сохранить кнопку закрытия. Два очевидных решения-кандидата отключают стиль системного меню или используют стиль окна инструментов, но я бы предпочел не отключать системное меню или использовать сокращенную строку заголовка окна инструментов. Многие приложения MFC имеют эту функциональность, поэтому я задаюсь вопросом: мне не хватает какого-то стандартного способа сделать это?

c++   windows   user-interface   mfc    

496   6   18:12, 2nd August, 2020


Удалите все файлы X в bash, кроме самых последних

Есть ли простой способ, в довольно стандартной среде UNIX с bash, запустить команду для удаления всех файлов X из каталога, кроме самых последних?

Чтобы привести более конкретный пример, представьте себе, что некое задание cron каждый час записывает файл (скажем, файл журнала или резервную копию tar-ed) в каталог. Мне бы хотелось, чтобы было запущено еще одно задание cron, которое удаляло бы самые старые файлы в этом каталоге, пока их не станет меньше, скажем, 5.

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

bash   unix   scripting    

771   17   18:11, 2nd August, 2020


Выполнять ярлыки, как программы

Пример: у вас есть ярлык от s до SomeProgram в текущем каталоге.

В поле cmd.exe вы можете ввести s , и он запустит программу.

В PowerShell, набрав s дает:

The term 's' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.

Если вы наберете s.lnk или SomeProgram, программа будет работать просто отлично.

Как я могу настроить PowerShell для выполнения ярлыков точно так же, как программы?

powershell    

413   6   18:08, 2nd August, 2020


Обратимость энергия в веществро

Обратим ли процесс преобразования вещества в энергию? Приведу пример, нам известно, что термоядерная реакция происходит с потерей масссы вещества, при этом выделяется энергия. А есть ли другой подобный процесс, при котором, скажем так, энергия конденсируется. Т.е. за счёт некоторой энергии в пространстве возникает вещество.

Физика    

283   8   18:01, 2nd August, 2020


Инструмент анализа исключений для C++

Я искал инструмент для извлечения информации об исключениях из программы C++. Самая разыскиваемая функция, которую я ищу: я хочу знать все исключения, которые могут быть брошены из функции (которая будет включать в себя всю функцию, которая вызывается из этой функции рекурсивно).

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

Инструмент для windows и Visual Studio был бы предпочтительным, но не необходимым,я всегда мог бы обойти это.

c++   exception   code-analysis    

425   5   17:55, 2nd August, 2020


Kohana 3 и модули?

Добрый день!


Начинаю изучать kohan-у на примере, написанном другим программистом. Часть сайта, написанная им, работает нормально и в ней все понятно, могу вносить свои изменения/улучшения. Однако, при попытке добавить свой функционал столкнулся со следующей проблемой.


Пробую совместить новый функционал с существующим на сайте «движком» авторизации. Создан контроллер «class Controller_Auth extends Controller» и соответствующая модель «class Model_Auth extends Kohana_Model». Если контроллер вызывается из основного приложения, для проверки прав посетителя, все работает нормально. Но при попытке использовать данный контроллер напрямую, собственно для авторизации, наступаю на грабли — не загружается модуль Database и соответственно все попытки обратится к базе вызывают ошибку.


Для основного приложения указан роутинг:
Route::set('forum', 'forum(/(/page))')-&gt;defaults(array('controller' =&gt; 'forum', 'id' =&gt; 1, 'page' =&gt; 1));<br/>
<br/>
<br/>
В соответствие с этим был добавлен новый роут:<br/>
<code>Route::set('auth', 'auth(/)')-&gt;defaults(array('controller' =&gt; 'auth', 'action' =&gt; 'login'));<br/>
<br/>
<br/>
Форма отправляется по URL: &quot;/auth/login&quot; и POST-ом отправляются данные. Контроллер и соответствующая модель работают, но возникает ошибка при обращении к БД. При этом в списке загруженных модулей, который kohana показывает на странице с ошибкой, видно, что модуль database не загружен.<br/>
<br/>
Посоветуйте, где найти эти чертовы грабли?</code>

Kohana    

330   1   17:39, 2nd August, 2020