Re: [ANN] Nursery Framework 1.0.1 (build with Xcode 9) released
Re: [ANN] Nursery Framework 1.0.1 (build with Xcode 9) released
- Subject: Re: [ANN] Nursery Framework 1.0.1 (build with Xcode 9) released
- From: Akifumi Takata <email@hidden>
- Date: Thu, 26 Oct 2017 10:37:14 +0900
Dear Alex Zavatone,
I would like to explain a bit more about this.
As a premise, in Nursery the word "object" has two major meanings.
One is an object that is represented by the Objective-C runtime and exists in
memory.
The other is an object that is represented by Nursery and exists in a
serialized form in the database file.
The lifetime of these two kinds of objects is not the same.
The above-mentioned word GC deals with objects of the second meaning.
Therefore, it can not cope with ARC or the traditional method of retain /
release.
This process is implemented by NUKidnapper.
Then, the area in the database file freed by GC is compactioned by NUParader.
I am anxious about the class name now.
I often mistakenly understand the nuance of English, understand it in the worst
case as the opposite sense.
So, if there is an inappropriate name in the framework, it would be greatly
appreciated if you could tell me.
Regards,
Akifumi Takata
> 2017/10/24 23:32、Alex Zavatone <email@hidden>のメール:
>
>>
>> On Oct 24, 2017, at 5:49 AM, Akifumi Takata <email@hidden> wrote:
>>
>> Dear Alex Zavatone,
>>
>>> I’d work on that part to make sure that people know how to use your library.
>>
>> I'm sorry, even if I use a translation tool I could not understand the
>> meaning well.
>
> Please work on writing documentation, that helps people learn how to use your
> product.
>
> You need a ReadMe file that explains how to use it.
>
>>
>> Thank you for your question.
>>
>> Those that are declared in Nursery.h is what was supposed to be used from
>> the user of the framework.
>>
>> I think NUNurseryTest.m and NUBranchNurseryTests.m will be a reference for
>> basic usage.
>> In particular, the testLoadRootFromNUNursery method of NUNurseryTest.m is a
>> very simple example.
>>
>
> That isn’t good enough. Look at other products that people have created that
> are like yours. You need documentation that can explain to people how and why
> people would use your product.
>
> Right now, it makes sense to you, but you have to think that others don’t
> understand your product. Part of your job is to write document to show them
> how to.
>
> Write up a “how to” that shows how to build a project using your framework.
>
> I say this because you put a lot of work into the product. You understand it
> because you wrote it. If you want others to use it, you need to help others
> understand your framework, because they do not know what you know.
>
> Does that help?
>
>> I have implemented the GC in order to release the objects that are no longer
>> traced from the root object that is persisted to the database file of the
>> Nursery.
>
> But with ARC, is this needed at all? Wouldn’t ARC handle this without you
> having to write it? ARC = Automatic Reference Counting.
>
> This question is not super important. It just seems odd to me that you
> implemented GC while we have ARC now.
>
> Cheers
>
>>
>> Regards,
>> p,t,a
>>
>>> 2017/10/24 11:34、Alex Zavatone <email@hidden>のメール:
>>>
>>> After looking at it, the lack of comments and documentation is a big issue.
>>>
>>> What are the public APIs?
>>>
>>> Where should someone start?
>>>
>>> How is this meant to be used?
>>>
>>> I’d work on that part to make sure that people know how to use your library.
>>>
>>>
>>>
>>>
>>> Objects no longer referenced by Nursery's root object are automatically
>>> released by the GC.
>>> The released area is compacted.
>>>
>>> We have ARC now. Is there a reason why we need a GC?
>>>
>>> Cheers.
>>>
>>>
>>>> On Oct 23, 2017, at 7:51 PM, 高田 明史 <email@hidden> wrote:
>>>>
>>>> Dear Alex Zavatone,
>>>>
>>>> Sorry for the late reply.
>>>> I live in Japan, so I have a time difference.
>>>> Therefore, in many cases, it takes at least one day to reply.
>>>>
>>>> I'd like to target iOS, but unfortunately, I have no experience of iOS
>>>> development.
>>>> However, since it depends solely on the Foundation framework within the
>>>> Cocoa framework, I think that it can be used on iOS.
>>>>
>>>> Supplementally, in the Nursery framework, an instance of a subclass of
>>>> NUNursery corresponds to one database file.
>>>>
>>>> And when saving the object, the scalar value inside the object is recorded
>>>> in big endian. When loading an object, it is converted to the endian of
>>>> the running host.
>>>> So, I think that the same database file can be used with macOS and iOS.
>>>>
>>>> The following is Japanese version.
>>>>
>>>> Regards,
>>>> p,t,a
>>>>
>>>> 返事が遅くなり申し訳ありません。
>>>> 私は日本に住んでいるので、時差があります。
>>>> そのため、多くの場合で、返信するまでに少なくとも1日はかかってしまいます。
>>>>
>>>> 私はiOSもターゲットにしたいと考えていますが、残念ながら、私はiOSの開発経験がありません。
>>>> しかしながら、Cocoa フレームワーク内のFoundation
>>>> フレームワークにのみ依存しているので、iOSで使用することも可能ではないかと考えます。
>>>>
>>>> 補足すると、Nursery frameworkではNUNurseryのサブクラスのインスタンスが一つのデータベースファイルに対応しています。
>>>>
>>>> そして、オブジェクトの保存時には、オブジェクト内部のスカラー値はビッグエンディアンで記録されています。そして、オブジェクトの読み込み時には、実行しているホストのエンディアンに変換されます。
>>>> ですので、同一のデータベースファイルをmacOSとiOSで使用できると考えます。
>>>>
>>>>
>>>>> 2017/10/23 22:07、Alex Zavatone <email@hidden>のメール:
>>>>>
>>>>> A MUCH better choice.
>>>>>
>>>>> I’m glad that you were able to make these changes and move past the prior
>>>>> ill-advised naming choice.
>>>>>
>>>>> Are you targeting this framework only for MacOS or also iOS?
>>>>>
>>>>>
>>>>>
>>>>>> On Oct 23, 2017, at 1:17 AM, 高田 明史 <email@hidden> wrote:
>>>>>>
>>>>>> Dear all,
>>>>>>
>>>>>> I changed the problematic domain name to nursery-framework.org.
>>>>>> Along with that, I also changed the program's Bundle Identifier etc.
>>>>>>
>>>>>> If you do not mind, please visit http://nursery-framework.org and see.
>>>>>>
>>>>>> If there is something wrong, it would be greatly appreciated if you tell
>>>>>> me.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> p,t,a
>>>>>>
>>>>>>> 2017/10/23 0:38、高田 明史 <email@hidden>のメール:
>>>>>>>
>>>>>>> Dear all,
>>>>>>>
>>>>>>> Nursery is a persistent object framework (object database) for Cocoa.
>>>>>>> It is written in Objective-C.
>>>>>>> It is implemented ONLY with the Cocoa Framework.
>>>>>>>
>>>>>>> Instances of the following classes can be persisted.
>>>>>>>
>>>>>>> • NSObject
>>>>>>> • NSString
>>>>>>> • NSMutableString
>>>>>>> • NSArray
>>>>>>> • NSMutableArray
>>>>>>> • NSDictionary
>>>>>>> • NSMutableDictionary
>>>>>>> • NSSet
>>>>>>> • NSMutableSet
>>>>>>> • NSNumber
>>>>>>> • NSDate
>>>>>>> • NSURL
>>>>>>> • NSData
>>>>>>> • NSMutableData
>>>>>>> • NSIndexSet
>>>>>>> • NSMutableIndexSet
>>>>>>> • NULibrary
>>>>>>> A class that implements B+ tree.
>>>>>>> • A class that implements the NUCoding protocol.
>>>>>>> • A class that implements persistence processing by subclass of
>>>>>>> NUCoder
>>>>>>>
>>>>>>> Objects no longer referenced by Nursery's root object are automatically
>>>>>>> released by the GC.
>>>>>>> The released area is compacted.
>>>>>>>
>>>>>>> Operating environment: OS X version 10.8 or higher
>>>>>>>
>>>>>>> Nursery Framework Download URL:
>>>>>>> https://www.icloud.com/iclouddrive/0TNrpGqVlGzm9GyFDv_OlQcwg#NurseryWebSIte.zip
>>>>>>>
>>>>>>> Regards,
>>>>>>> p,t,a
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>>
>>>>>>> Cocoa-dev mailing list (email@hidden)
>>>>>>>
>>>>>>> Please do not post admin requests or moderator comments to the list.
>>>>>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>>>>>>
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>> _______________________________________________
>>>>>>
>>>>>> Cocoa-dev mailing list (email@hidden)
>>>>>>
>>>>>> Please do not post admin requests or moderator comments to the list.
>>>>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>>>>>
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>
>>>>>> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden