In every user-defined namespace there is this word acme like
org.acme.shipping.perishable
what does this keyword mean?
It's not a keyword. See
https://en.wikipedia.org/wiki/Acme_Corporation
you could replace 'acme' with 'mycompany' for example
acme Freight is an imaginary logistic company.IBM's micro-services architecture uses it frequently to demonstrate it's capabilities.It's not a keyword and in place of org.acme you can replace your own organisation.
Use Visual studio code and composer extension to recognize key words(key words in composer are usually rendered yellow in vscode IDE;can be customized though)
It's not a keyword. It's a convention to define your package name. Hyperledger has defined examples with a company named as acme.
We do follow similar convention in Java. For an instance, suppose you are developing some solution for StackOverflow having a domain name as stackoverflow.com, the package name would be com.stackoverflow.*.
Hope this helps.
Related
I want to implement the bilinear pairing Attribute based Encryption using Jpbc library. However, I could not find any pseudocode or code. Could you help me to find the pseudocode or code of ABE. Thank you.
I'm not very sure about what you exactly want. JPBC is a pairing library for Java. ABE is an encryption cipher. One is a mathematical tool to build an encryption cipher; the other is a cipher found in already-built libraries. So I will try to address everything you say in your question:
I want to implement the bilinear pairing Attribute based Encryption using Jpbc library
If you need a pairing library in Java, jPBC is your best option although it is not very good. As the authors mention, MIRACL is a good non-java alternative. Charm can also be a good option, either to build your own ABE implementation (something I do not recommend unless you are a cryptographer with implementation experience) or use some of theirs.
Could you help me to find the pseudocode or code of ABE
If what you want is a Java Implementation of ABE schemes, there are the following libraries available on GitHub:
CP-ABE
DET-ABE
JCPABE
You should consider that these libraries have no maintenance or an active community.
Finally, in case you find it useful, and if you are willing to use other languages, some other ABE implementations are:
Charm (Python)
Rabe (Rust)
OpenABE (C++)
I have a question to ask regarding checkstyle.
It seems that the checkstyle api accepts both module name,
ConstantName and ConstantNameCheck (ConstantName with Check concatenated) for the configuration file, checkstyle.xml.
I would like to ask why is there a double standard here even though documentations on http://checkstyle.sourceforge.net/ only promotes ConstantName module and what is the difference between using either of them? Will either one of them gets deprecated in future?
Thanks!
Behind the scenes, the ConstantName check is implemented by a Java class called
com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck.
You could actually refer to the module in checkstyle.xml by this so-called "fully qualified" name. The other notations are shorthand offered by Checkstyle for convenience. ConstantNameCheck is the simple name of the implementing Java class, and ConstantName is still shorter. Checkstyle will try all three variants when looking for the module in your checkstyle.xml. So, there is no difference between these notations.
The recommended way is to use the most concise form, ConstantName, but as far as I know, none of the other forms is going to get deprecated any time soon.
I'm trying to find out whether it is possible to sign binaries written for SAP systems in ABAP. Contextually does it make sense? I've only found some reference to an add-on assembly kit which seems to be some sort of packaging standard. Can this be used to authenticate the source and integrity of ABAP modules?
Greatly appreciate your feedback~!
I seem to have found an answer to my question somewhat...one forum discussion states that ABAP is only interpreted and that there are no binaries to sign in the first place. I'm a bit confused though as to what the Add-on Assembly Kit is. I suppose it's a way of packaging the ABAP code into a certifiable package, which I suppose is the closest we'll get to what I'm looking for-although I'm not sure how this works if you're not interested in sharing the package with SAP for certification...If you have any insights please enlighten me.
Thanks!
not positive of your end requirement but I'll answer the best I can. ABAP is interpreted so there really is no need to sign a binary as there is none to sign. Because third party's needed ways to deliver solutions or code to their customers in a packaged manner SAP developed the add-on assembly toolkit, (emphasis on assembly) this allows the third party a tool to package all the solution pieces,( classes, tables, includes, screens etc.) into an add-on that can be installed, versioned etc. in your customers SAP system. So it's main purpose is to allow you to assemble the myriad pieces that make up your solution.
Of course if your talking about a single app, report etc. this obviously would be overkill.
If what you are seeking is a way to know that an app comes from your specific company, then you can request a custom namespace, when you get one assigned they issue you a key which only your company uses to install the namespace and that sort of works like signing, your programs will all exist in your namespace and be identified as such.
I'm sure there are more details others can provide but that should get you started.
Later.....
I've just moved my project that was created on Kohana3.3 from Windows to Ubuntu (local server), and it stopped working. I believe the problem is upper-/lowercase issues (it says for Table.__ or Model_ they don't exist).
I need some explanation about uppercase/lowercase file names and class names.
What I've found is SO question: Kohana 3.3 Not working from Subdirectory:
Kohana 3.3 adds partial support for the PHP Framework Interop Group's PSR-0 standard. PHP framework developers are encouraged to follow this standard to simplify interaction between frameworks. One of the requirements of PSR-0 is that the class names and file names match.
Also, I see the Controller folder in Kohana3.3 starts with a capital letter C (not as in 3.2). Also, Welcome.php file starts with W (not as in 3.2).
So, my simple questions for Kohana3.3 are:
Should the Model folder start with a capital letter?
Should all controller files start with a capital letter?
Should all model files in the Model folder start with a capital letter?
Should I write ORM::factory('Capital'), but not ORM::factory('capital')?
What about view folder: is it View or view?
I've read some examples for Kohana, but from what I've found I doubt it is for 3.3.
Also, my question: why did it work under Windows?
You can figure most of this out by simply reading the documentation and/or just experimenting and seeing what works and what does not work.
In short, in PSR-0 filenames must be exactly the same as the class name. So, if you call a class named Penguins_CanNot_Fly then the filename should be exactly Penguins/CanNot/Fly.php.
On Linux filenames are case sensitive. So, File.txt and file.txt are two different files. On Windows, however, the two files are considered to be the same file (this is because windows is case insensitive). This means that PSR-0 does not work properly on Windows, unless you modify the autoloader to check the exact file path.
As for the ORM, yes you need to keep in mind that models should be case sensitive. ORM::factory('Blog') and ORM::factory('blog') will load different models, but the same table will be used.
Why are libraries located behind com/ or net/ directory structures?
This is agnostic to Flash, Flex or any language. It's been used for a long time in general software development. I believe it stemmed from the Java package structure, but I'm not sure. It's used because it's now a standard on how to do things and helps split up projects in a fairly unique way.
It normally goes like <domain extension>/<domain>/<project name>/<sub component>/<whatever>.
This format/structure is called the reverse domain name structure. This structure is used for the package namespace for your classes.
Here is a good article on The Classpath Demystified by Jody Hall
If you're talking about class packages the point is every package should be unique. Imagine you wrote a class named MyGreatClass. Without any package or within some simple package test.MyGreatClass (this is called fully qualified class name). In this project you've decided to use some library where somebody wrote another test.MyGreatClass class (he/she didn't realize you have another one). So you'll have a conflict of two classes.
To avoid that situation there is a convention to start classes with author's site name in reverse order. Taking in mind every domain name is unique. Following this convention you can be sure you class won't conflict with others.
As far as com and net are most common domains you can see com.example (for http://example.com/) and net.example (for http://example.net/) very often.
Advantages of OOP
Inheritance
maintainability
Re-usability
A class is considered an object.
Having a package structure allows for all the advantages of OOP
Having a standard folder "com" where all your custom classes are allows you to reuse those classes with ease.
All libraries that I did not create, I make sure goes into my com folder. So when I make a new project I just have to point the project settings to that folder, then I can access those libraries with just having to do an import statement.
For example The AS3crypto library I have in the com folder.