All streams
Search
Write a publication
Pull to refresh
17
0
Send message
Про блоки — уже пробовал . Пока глухо.
Про weak — нагуглился WeakRef, но завести с пол-оборота не вышло.
6. Есть ли в Ruby аналог ключевого слова "__weak". Если нет, то как избегать циклических ссылок при работе с делегатами?
5. Можно ли вызывать ObjectiveC блоки из Ruby кода?

В сети решений не нашел и придумал свой уродливый костыль:
github.com/dodikk/RubyMotionTestApp/blob/master/vendor/BlockBuilder/BlockBuilder/NSObject%2BBlockForRuby.m

Нормального решения не подскажете, часом?
С твоего позволения, farcaller/ios-tdd

P.S.
С бинарником из твоего репозитория перестало работать когда обновился до Xcode 4.4. Если не дожидаться Xcode 4.5 release, то как лечить? Тащить исходники в проект?

xcodebuild -version
Xcode 4.4
Build version 4F250
>>> Советуют добавлять build step и там запускать скрипт с lcov
Это как раз понятно.

>>> Судя по всему, плагина нет
То есть, после этого полученную пачку html заархивировать в виде artefact, качать и смотреть глазами.

Просто при использовании gcovr мне jenkins может нарисовать вот такие веселые картинки.
К тому же, это чудо пытается обсчитывать coverage по классам и conditionals (комбинаторный перебор всех возможных веток if/case путей выполнения). Правда, я пока не совсем понимаю как этим пользоваться, поскольку не видно информации, какие из вариантов остались за бортом.

lcov и coverstory предоставляют лишь покрытие по строкам кода, что также весьма неплохо.
А еще можно собирать статистику с помощью gcovr
И просматривать через Jenkins Cobertura plug-in

Раз уж зашла речь об автоматизации — осмелюсь поинтересоваться: «А для lcov есть какой-либо plug-in для jenkins?»
>>> Что касается программной работы со структурой проекта — это прикольно и интересно, я только сходу не могу придумать задач, зачем бы это могло быть нужно.

Например, Cocoa Pods.
Вы все правильно сказали.
0. Прибить имеющиеся индексы
1. Заворачиваешь порции Insert-ов по несколько тысяч в транзакции
2. Разделяешь создание запросов и их исполнение по разным thread, ибо первое — CPU, а второе IO bound.
3. Ждешь окончания транзакций и перестраиваешь индексы.

Пример кода ( под iPhone + немного страшен из-за некоторых попыток оптимизации )
github.com/dodikk/CsvToSqlite

Дерзай.
classes = malloc(sizeof(Class) * numClasses);

Здесь утечка (нет вызова free) — лучше так:

Class classes[sizeof(Class) * numClasses];
Спасибо. Я наконец-то понял вашу идею.
При необходимости учту при дальнейших оптимизациях.

Кроме того, колонку дат можно проиндексировать. Это также должно несколько ускорить выборки.

P.S. опять-таки, лучше не работать напрямую с ticks, а с датами
strftime( '%Y-%W', Date, '-@FirstDayaOfWeek day' ) AS Week


Больше вероятность того что авторы SQLite/Foundation.framework учли хитрости week based calendar за вас (см. следующий комментарий)
Номер недели никак не зависит от этого


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

Подробнее можно прочитать на excel.blox.ua либо www.cpearson.com
Работа с интервалами дат напрямую — очень трудная задача. Самостоятельно этим заниматься не стоит если имеется такая возможность.

Если у вас есть знакомые «специалисты в разработке под iphone» — посмотрите с ними
WWDC 2011 — 117performing_calendar_calculations.
Там очень хорошо описаны нюансы работы с датами и локализациями.
Насколько я понял, ваша идея сводится к
SELECT Date, Value, Visits,
FROM Usage
WHERE Date BETWEEN @startDate AND @endDate;


* This source code was highlighted with Source Code Highlighter.


С последующей ручной обработкой дат и агрегацией в ObjectiveC коде. Я считаю данный подход в корне неверным. «Как раз для этих целей» — это SQL.

Свои аргументы я привел уже дважды — в самой статье и предыдущем комментарии. У меня складывается впечатление, что вы не потрудились с ними ознакомиться.
1. Имелось в виду что способ хранения дат не критичен для данной задачи. Стандартные функции SQLite все равно не смогут обработать их с учетом заданной локали.
Если вам известен способ задавать локаль SQLite — пожалуйста, опишите его.

2. Вопросы оптимизации остались за пределами данной статьи. К ним относятся построение индексов, выбор способа хранения дат, детали реализации ObjcFormatAnsiDateUsingLocale.

3. Извольте показать правильный с вашей точки зрения запрос «CREATE TABLE»
Не легче.

На самом деле, нет разницы как хранить даты. Проблема заключалась в том, что SQLite не учитывает локаль при работе с Week Based Calendar

В самой статье я кратко описывал выгоды используемого подхода. Остановлюсь на них более подробно.
Выгоды такого решения очевидны:
  • мы остаемся в рамках SQL --> более краткий и понятный код в декларативном стиле
  • не нужно писать лишние циклы на Objective-C --> меньше кода — меньше багов
  • мы получим потенциально более быстрое исполнение запросов --> форматирование дат в коде означает еще один проход по полученному DataSet
  • И самое главное — это решение рассчитано на повторное использование --> не нужно вставлять подобные циклы после каждого запроса, требующего Calendar Computations

Думаю о многих библиотеках из вышеперечисленных можно сказать подобное. Потому часто пишу свои велосипеды или не мало времени трачу на допиливание чужих. Из этого всего добра юзал токо: «FMDB», «GHUnit», «cocos2d-iphone» за уже 2.5 года опыта iOS разработки.
Уволся с компании где был Open Space — правда невыносимо.
А как же benchmark для Fortran?
Этот самый Formula Translator создавался для математических вычислений и, насколько я слышал, делает это еще быстрее, чем C/C++.
>>> CONFIGURATION_BUILD_DIR="$buildDir"
виноват. недосмотрел.
Однако в сторону $BUILT_PRODUCTS_DIR все-же гляньте.

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity