Что интересно Verisign на указанном сайте дает при запросе доступ к списку second-level domain только на 2 tld: .com и .name, а для других tld официально список можно получить только у ICANN. В зоне .ru более 5 миллионов доменов, какие интересно есть способы получить этот список.
Жаль, что Haskell не был моим первым языком программирования. Очень интересно, какими разработчиками станут те школьники (студенты), которые начнут с Haskell и далее еще что-то функциональное, вроде Scala или F#.
Проблема освоения git, мне кажется, лежит именно в подобном подходе. На самом деле внутри, под капотом, git работает просто и элегантно. Но то, что снаружи — командная строка — устроено сложновато, это правда. Подобные статьи дают некоторую «графическую» интерпретацию этих внешних команд, но такой подход не отражает сути. Вот пара примеров хорошего объяснения именно на уровне логической сути тут и тут.
Я ждал, когда будет упомянут этот замечательный документальный фильм «Revolution OS» («Революционная ОС») про историю возникновения GNU/Linux, движения open source, Red Hat и т.п. Крайне рекомендуется к просмотру, можно найти на ютубе или торрент-трекерах.
Добавлю, что в случае rebase, конфликтов приходится устранять больше, так как это по сути последовательность cherry-pick-ов, где конфликт может быть на каждом шаге. Тогда как в случае merge — мы устраняем только реальные конфликты на единственном коммите. Несколько дней назад я опубликовал статью, где описал метод, как можно упростить конфликты при rebase.
Именно поэтому когда впервые возникла такая необходимость я подумал: значит, должен существовать прямой и элегантный способ копирования этого снимка. И теперь я поделился этим способом со всеми читателями хабра.
Да, так тоже можно сделать. Но это не очевидно, на самом деле. Не все точно представляют, как работают разные опции reset. А если человек знает, что состояние проекта в коммите — это всего лишь дерево, то такая задача становится тривиальной.
Да, ветка alpha теперь содержит дерево из ветки beta, но возник мердж коммит — ветка alpha теперь прямой потомок ветки beta. Если все-таки нужен мердж коммит, то я бы рекомендовал сделать так, чтобы ветка alpha была прямым потомком своих родных коммитов. Это легко делается как я описал тут:
git merge --ff $(git commit-tree beta^{tree} -m "Merge 'beta' into 'alpha', but take 'beta' tree" -p HEAD -p origin/beta)
reset переместит ветку alpha на тот же коммит, где находится ветка beta, при этом мы теряем все уникальные коммиты ветки alpha — в большинстве случаев это и требуется. Но в моем абстрактном примере ветки alpha и beta топологически остаются независимы.
Если говорить об изменениях, то можно сказать так: этот новый коммит ревертнул все уникальные изменения на ветке alpha и добавил все уникальные изменения из ветки beta (включая изменения коммита «Added Linux kernel»).
Да, это важный факт, что единичные фотоны также создают интерференционную картину. И это нельзя объяснить ни понятием «волна», ни понятием «частица». Общепринятое объяснение этого парадокса — через амплитуды вероятности квантовой механики. Но это объяснение до сих пор вызывает споры.
В visual studio для быстрой навигации я использую горячие клавиши для 'Edit.CharRight', 'Edit.WordNext', 'Edit.LineDown' и т.д. Если кому интересно вот мой набор hotkeys.
Да, ностальгия. 2002 год, 8 класс, первый ПК Celeron 300A, Visual Basic 6, какие-то простейшие игры и приложения. На память сохранил установочный диск. Только что вставил, как и 16 лет назад все так же предлагает установить эти легендарные IDE прошлого.
А мне, например, нравится идея о стабилизации каледаря, когда его структура не меняется от года к году. В таком календаре 364 (52 * 7) обычных дня. Такой календарь был поддержан СССР и некоторыми другими странами, однако его критикуют, в первую очередь, с религиозной точки зрения.
Синтаксис javascript был основан на java, поэтому каррирование в нем выглядит нелепо. А вот, например, в haskell наоборот: все функции принимают только 1 аргумент, поэтому там каррирование происходит всегда и естественным образом.
Хотя мы можем сказать, что во вселенной не более чем N атомов (секунд, кубических метров, ...), но вот бесконечности во вселенной не существует, это просто полезная абстракция.
Я имею в виду вот что. Пусть дано: self-hosted wcf web-service, и из того же приложения идут клиентские запросы на 2 внешних веб-сервиса и мы хотим залогировать все 3 endpoint. Тогда конфиг будет вылядить вот так:
Именно поэтому когда впервые возникла такая необходимость я подумал: значит, должен существовать прямой и элегантный способ копирования этого снимка. И теперь я поделился этим способом со всеми читателями хабра.
То получим так:
Да, ветка alpha теперь содержит дерево из ветки beta, но возник мердж коммит — ветка alpha теперь прямой потомок ветки beta. Если все-таки нужен мердж коммит, то я бы рекомендовал сделать так, чтобы ветка alpha была прямым потомком своих родных коммитов. Это легко делается как я описал тут:
Результат:
И для сравнения, как было сделано в самом примере
Либо при наличии алиаса
Результат:
Если говорить об изменениях, то можно сказать так: этот новый коммит ревертнул все уникальные изменения на ветке alpha и добавил все уникальные изменения из ветки beta (включая изменения коммита «Added Linux kernel»).