Публикации от Семен Хмелев

Список из рекордов на коленке

Честно подсмотрено.THeader = record x,y,z: TMyRecordField; NextLabel: packed record end;end; На сколько прекрасно, на столько и отвратительно. Но восхищает однозначно хотя бы тем, что это вообще Читать на сайте автора.

Читать на сайте автора.

Парное_программирование VS ревью_кода

 Данная заметка — реакция на статью http://alexnesterov.com/code-review/, где практика code review рассматривается как антипаттерн, а парное программирование как способ решить задачи ревью кода правильно. Конечно же, у парного программирования Читать на сайте автора.

Читать на сайте автора.

Почему тип анонимных функций не всегда полезен или о проблема присвоения reference to типу неанонимных функций

Сегодня снова об особенностях анонимных функций.Два предыдущих поста: Просто баг в коде или особенность счетчика ссылок в замыканиях Немного про замыкание ( Одно замыкание на несколько анонимных функций в одном контексте)   У типа анонимный функций есть замечательная возможность. В качестве обработчика можно присваивать не только анонимные функции, но и обычные методы и статические функции. […]

Читать на сайте автора.

Просто баг в коде или особенность счетчика ссылок в замыканиях

MyObject.OnEvent := procedure() begin MyObject.OnEvent := nil; MyField.MyProp := ‘Value’; end; Оказывается на MyObject.OnEvent := nil; счетчик ссылок у класса замыкания скрутится в 0 и замыкание отойдет в мир иной, а на следующей строчке привет AV. Читать на сайте автора.

Читать на сайте автора.

Что дал переход с SVN на Git или Git как ключ для синергии хороших практик

    Год назад мы в проекте выполнили переход с SVN на Git. Нас привлекали возможности бранчевания и работы с репозиторием без сети. «Сарафанное радио» регулярно доставляло сообщения о преимуществах модели распределенных систем контроля ревизий. В итоге, переход себя полностью оправдал, и Git раскрыл множество прекрасных возможностей, о которых во время перехода даже не подозревали. […]

Читать на сайте автора.

Об альтернативе Application.ProcessMessages для TWebBrowser и разрыве стека выполнения

  При использовании TWebBrowser существуют две неприятности, во-первых, это сам TWebBrowser =), а во-вторых, это Application.ProcessMessages, который необходимо выполнять чуть ли не на каждое действие (загрузить документ, сменить режим редактирования и т.п).  Использование Application.ProcessMessages может вызывать неожиданные проблемы. Особенно это актуально, когда используются оконные windows сообщения для разрыва стека выполнения. Но нашелся способ, которое позволяет […]

Читать на сайте автора.

Жизнь и восстановление после StackOverflow

Распространено мнение, что StackOverlow — это приговор. Все, что остается приложению — это красиво схлопнуться, не оставив возможности пользователю продолжить работу, сохранить важные данные, и даже информацию об ошибке. Дальше я расскажу, зачем и как можно обрабатывать ошибку переполнения стека, а так же какую «свинью» подложила EurekaLog — инструмент, который должен был обеспечивать нас информацией […]

Читать на сайте автора.