суббота, декабря 05, 2015
Effective Modern C++ на русском
Самая лучшая книга по C++11 и C++14 вышла на русском языке: Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14.
Ссылка по теме:
Хорошие книги по C++11
вторник, октября 20, 2015
We're hiring: Bing Ads, modern C++
Update 30.10.2015: Я закончила принимать резюме. Всем спасибо!
В моей команде открылось несколько позиций: Software Engineer, Software Engineer II, Senior Software Engineer.
вторник, сентября 01, 2015
Практический английский. Цифры и буквы.
После приезда в США я обнаружила неожиданные пробелы в своем английском. И это оказался отнюдь не герундий. Если вы собираетесь ехать в США или работать с американцами, проверьте себя.
Вы не знаете цифры
Не верите мне, да?
Возмущены? И прямо сейчас готовы это опровергнуть. "Алена, ты чего, смотри: one, two ..."
А теперь быстро и без запинки попробуйте произнести на английском свой номер телефона. На память, не подглядывая. Попросите друга быстро произнести 10 случайных цифр и запишите их на бумагу. Вам придется это делать часто.
Некоторое время спустя я осознала, что цифры в английском тексте я читала по-русски. И никогда об этом не задумывалась.
Здесь многие вопросы решаются по телефону. Вам придется много и часто проговаривать свой номер телефона (а он будет новый). Номер своей кредитной карты. Иногда на той стороне будет робот.
Напоминаю, что тут очень любят считать сотнями 1200 - twelve hundred.
Вы не знаете буквы
Тоже возмущаетесь, но уже осторожнее?
Проверьте, что вы можете проговорить по буквам свое имя, опять же, никуда не подглядывая. Поповы могут это упражнение пропустить. Мой пламенный привет Щёголевым и Щербаковым.
В местных школах этому специально учат, кстати.
понедельник, июня 29, 2015
Фрагментация памяти в C++ приложениях
Поскольку памятью в С++ приложении программист управляет самостоятельно, то и за фрагментацией памяти приходится следить самим. Память фрагментируется, если приложение работает достаточно долго и при этом активно работает с памятью. Не такая редкая проблема. Я это видела в играх, игрок бегает, юнитов убивает, локации меняет, надо под это память выделять и потом освобождать. И в высоконагруженных системах, запросы приходят, надо под них память выделять, потом освобождать.
Чем это плохо? Во-первых, память может внезапно закончиться. Во-вторых может просесть производительность. Вот тут можно почитать историю как это выглядит на практике: Out of memory
Вот тут с картинками написано как оно происходит: Holier Than Thou
Но не написано - а что с этим делать-то? Итак, с чем я работала.
Region-based memory management. Выделяем память большим куском, например, под уровень в игре. Популярный термин для такого куска - "арена". Потом уже внутри этого куска создаем нужные нам объекты. Когда все это стало не нужно - весь кусок памяти освобождаем. Заодно с утечками памяти проблем меньше.
Арену можно использовать вместе с STL, см. "STL custom allocators".
Boost.Pool. Там есть несколько разных интерфейсов, я использовала object_pool, который помогает эффективнее создавать и удалять большое количество сравнительно маленьких объектов.
Также я видела разное креативное использование placement new, как правило его можно заменить Boost.Pool'ом.
Категории: cpp, gamedev, programming
среда, мая 13, 2015
"Марсианин" на русском языке
В оригинале - "The Martian".
суббота, мая 09, 2015
Хорошие книги по С++11
Я сейчас в работе активно использую фичи C++11 и C++14, чего и вам рекомендую. Вот вам отличные книги по новыму стандарту.
С фокусом на многопоточность, которой раньше в стандарте не было. Если душит жаба эту книгу покупать, то написана она на основе вот этих статьей Уильямса: Multithreading in C++0x Series
Джоссатис обновил свою книгу про STL. Много букв. Очень много букв. Выискивать там куски, относящиеся именно к C++11, смысла не имеет. Многопоточность, правда, вынесена в отдельную главу, но по многопоточности лучше Уильямса почитать.
Поэтому рекомендую эту книгу тем, кто решил начинать изучать STL. Обратите внимание на издание, вам нужно второе издание, там на обложке крупно написано С++11.
Вообще это относится ко всем книгам по С++. То, что издано до 2012 года можно считать устаревшим.
Про качество переводов ничего сказать не могу.
Ссылки по теме:
Хорошие книги по С++
суббота, января 24, 2015
Юбилей подкрался незаметно
Десять лет назад я написала первый пост в этот блог. Не ожидала, что он продержится так долго.
После рождения дочки я стала писать сюда несколько реже. Ну вы, наверное, заметили. Моя активность сместилась в Твиттер. https://twitter.com/alenacpp
Другие социальные сети где я есть
http://instagram.com/alenacpp/ - я ни разу не фотограф, но поддалась всеобщей моде
http://facebook.com/alenacpp - использую для чтения Facebook'а, также туда идет трансляция из твиттера. В друзья добавляю тех, кого читаю.