Пережеванные выкладки программиста

или же трудные будни ленивца-скурпулезы

Ускоряем работу Lenovo U530 HDD + SSD Cache
mylogo, xydan, xydan83_logo
xydan

Недавно я столкнулся с проблемой ускорения работы дисковой подсистемы, которая предусмотрена в ультра буке Lenovo U530 (и других подобных моделей). А началось все с того, что выбор пал на этот ноутбук для замены более старого.


Данная серия имеет несколько конфигураций, которые можно посмотреть по этой ссылке: http://shop.lenovo.com/ru/ru/laptops/lenovo/u-series/u530-touch/index.html#tab-"5E=8G5A:85_E0@0:B5@8AB8:8

Я взял вариант с процессором Intel Core-I7 4500U, 1Тб HDD + 16 Гб SSD кэша.

Примечание: в данном ультрабуке и аналогичных используется SSD в формате M2: http://en.wikipedia.org/wiki/M.2


В дальнейшем при работе с ним как то присутствие кэша не наблюдалось, начал разбираться как же все это работает?

Read more...Collapse )

Быстрая реализация SOAP-клиента в Ebmbarcadero C++ Builder XE3
mylogo, xydan, xydan83_logo
xydan
Недавно появилась задачка реализовать общение одной клиентской программки по SOAP протоколу с сервером для запуска удаленных функций. В Builder есть несколько компонентов, с помощью которых можно реализовать протокол как со стороны сервера, так и клиента. Задача усложнилась тем, что сервер написан на Visual C++ где есть свои компоненты реализации Soap, а поскольку это Microsoft, то был поставлен вопрос совместимости вариантов данного протокола с реализации протокола в Builder компонентах (насколько я знаю, у них могут отличаться заголовки протокола, что уже может вызвать несовместимость реализации протокола на стандартных компонентах).
Забегая вперед скажу, что тут все обошлось, и клиент и сервер  нормально заработали друг с другом))
Read more...Collapse )

Многопоточное программирование в C++0x
mylogo, xydan, xydan83_logo
xydan
В связи с появлением нового стандарта C++11, в котором появилось множество "новых" инструментов, которые раньше решались на уровне сторонних библиотеки и API ОС, все еще мало документации по использованию таких встроенных средств самого языка. Недавно набрел на  одну интересную статью, в которой описывается организация многопоточности с использованием нового стандарта, появившегося еще с C++0x (до окончательного выхода C++11). Понравилось то, что в статье полностью охватывается данная тема с примерами и достаточно хорошо организованна, в связи с чем и выкладываю в помощь программистам.

Многопоточное программирование в C++0x
Read more...Collapse )

Решение проблем совместимости SSD S596 Turbo
mylogo, xydan, xydan83_logo
xydan
Купил недавно SSD S596 Turbo на 65 гига, так сказать, попробовать, что это такое...Поставил, значит Vista, сделал все необходимые твики, включил ACHI все вроде бы ничего, но вот незадача...переодический, когда на компе долго ничего не делаешь, появляются всеми любимые BSD экраны...Много чего я перепробовал...но в итоге помогла одна вещь...отключение ACHI контролера и перевод SATA в IDE режим. Конечно, это не фантан, но по скорости особых различий не заметил. Думаю какой то глюк в прошивке или же просто не совместимость. Читал на форумах, что с этими накопителями так же на WIN7 аналогичные проблемы. В общем, те кто ловид БСД экраны, включайте IDE обратно. Единственное, что пока не попробовал - обновить прошивку SSD. Надеюсь это поможет....отпишусь.

Работа с памятью в Objective-C. Аналогия с C/C++. Часть 2.
mylogo, xydan, xydan83_logo
xydan

Garbage Collector (GB)

Это особенный режим управления памятью, основанный на переодическом запуске сборщика муссора. Мы так же как и в предыдущем варианте выделяем память, но не освобождаем ее. За нас пямять освобождает сборщик мусора. Но к сожалению он имеет несколько огромных недостатков:

  1. Его должны поддерживать все без исключения используемые библиотеки. Скажем, если ARC позволяет использовать не-ARC подход, то с GB такое не пройдет, либо программа и все ее библиотеки полностью поддерживают этот метод управления памятью, либо программа просто не будет скомпилированна;

  2. Данный недостаток думаю относиться ко всем сборщикам мусора. Сборка мусора - это достаточно ресурсоемкая задача, она требует как дополнительной памяти, так и достаточно много процессорного времени. И каждый раз, когда программа будет вызывать сборщик мусора, выполнение программы в это время будет сопровождаться достаточно заметным поддотмаживанием. Конечно степень тормознутости будет зависеть от конфигурации MAC.

Если подвести итог вышесказанному, то я бы не советовал использоват в своих программах GB. Наилучшая альтернатива - это всетаки ARC.


Read more...Collapse )


Работа с памятью в Objective-C. Аналогия с C/C++. Часть 1.
mylogo, xydan, xydan83_logo
xydan

Цель
Цель данной статьи - помочь пройти не такой уж легкий этап в восприятии особенностей языка Objective-C по управлению памятью. При написании статьи я прежде всего ориентировался на людей, знающих C/C++ и желающих овладеть знаниями Objective-C. В данной статье не будет рассматриваться синтаксис языка, способы передачи сообщений, вызов методов и тд. Только по теме.

На самом деле, для многих программистов под Си/++ достаточно трудным этапом является восприятие по работе и организации объектов в памяти на языке от Apple. Хотя есть множество различных статей в интернете по поводу управления памятью в программах на Obj-C, при написании этой статьи я решил сделать упор на примеры, где объяснялись бы такие важные отличия методов работы с памятью, таких как: alloc, copy, assign, init, retain, release, autorelease от таких привычных нам функций выделения и уничтожения объектов/памяти как malloc(), free() и их производные в Си и new/delete в C++.



Read more...Collapse )


Вирусы на движке OsCommerce
mylogo, xydan, xydan83_logo
xydan
 Недавно столкнулся с такой ситуацией, что в настроенном движке интернет-магазина OsCommerce 2.2 Rc2 начали появляться вирусы - черви, которые ломились на разные сайты. Начал исследовать проблему, оказывается существует ряд дырок в этом движке, в версии 2.3 вроде как пишут это устранено, но тем, кто не хочет апдейтиться и заново все настраивать, прикручивать шаблон и тд, есть ряд решений, с помощью которых можно предотвратить заражение. Причем обычная чистка/восстановление бэкапов, смена пароля фтп и админки ни к чему не приводят - вирусы появляются опять. 
Решение укажу в виде ссылок, где я нашел  ответы и патчи, как избавиться от вирусов.
порекомендую лишь все равно в конце сменить все имеющиеся пароли и сделать бэкап.

Links solutions:

Библиотека
mylogo, xydan, xydan83_logo
xydan
Некоторый справочник, откуда можно скачать книги. Не знаю, пригодится ли, но решил запостить. Книги конечно больше для аналитиков, чем прогеров, хотя попробовал скачать одну книжку по тестированию и интерфейсам пользователя, пока еще не читал правда. Собственно, скачать можно тут.

Стандарты
mylogo, xydan, xydan83_logo
xydan
Недавно нужно было найти инфу по ГОСТам, нашел кучу сайтов, но что интересно, на многих это просто тупо картинки оформленные в галлереи, так же много в варианте pdf, что тоже не ахти, почему то мало кто распространяет в формате .doc или в любом текстовом формате. Но нашел сайт, где все госты хранятся в виде текста, скопировать правда не получается, но если написать письмо, то без проблем вышлют нужный гост)
Собственно ссылка тут

Полезные ссылки
mylogo, xydan, xydan83_logo
xydan
Недавно побороздив интернет, нашел небольшой, но как оказалось, необходимый список интересных ссылок. Собственно привожу ссылку.

?

Log in

No account? Create an account