Update: Sanjay in Stirt…
DaShan: Prior Domain experience may not translate into higher code quality or productivity on the next job, due to restrictions and important differences between systems.
salary depends on many factors like
– budget and company size
– relationship with the site owner
– domain experience
When I first met DaShan, I felt he has some invisible upper hand as a developer with that domain experience. I felt that way because of the ignorance or “lack of domain knowledge”. Now I know that other people also see me with that Halo.
How about the high math of MSFM?
Consider choosing package names for your objects that reflect how your application is layered. For example, the domain objects in the sample application can be located in the
com.meagle.bo package. More specialized domain objects would be located in subpackages under the
com.meagle.bo package. The business logic begins in the
com.meagle.service package and DAO objects are located in the
com.meagle.service.dao.hibernate package. The presentation classes for forms and actions reside in
com.meagle.forms, respectively. Accurate package naming provides a clear separation for the functionality that your classes provide, allows for easier maintenance when troubleshooting, and provides consistency when adding new classes or packages to the application.
Look at Socket.java constructor signatures. As a client side internet socket (not UD-socket), the most basic address:port pair needed is the REMOTE address:port.
Q: so how about the local address:port?
A: Usually, only after a socket is created with the remote address:port, does the socket need to bind() to a local address:port.
Q: Can a Socket object can be on server side or client side.
A: I think both. See ServerSocket.accept() javadoc. accept() manufactures a socket object in the server jvm.
Q: Can a java Socket object be associated to 2 connections? The output data would broadcast into both channels?
By age 30, many peers have decided to focus on Cisco, on Oracle, on Microsoft dotnet, on IBM, on SAP, on Powerbuilder. Other choose to focus on a domain like online gaming, financials …
(By “focus”, i mean 50%-100% of their tech experience is related to the chosen field.)
I always feel what if one day you discover you don’t like your role in that particular ecosystem, or the vendor starts making questionable moves, or you don’t like the vendor’s tech support, or u notice their discrimination policy .. you would feel locked in, cos you have invested too much into it, putting all your eggs in a single basket.
In my case, i have several years experience in each of
– solaris, linux, hpux, freebsd
– Oracle, mysql
– java, C, perl, php
– weblogic, tomcat, sunone
Background: We see many method names that confuse some readers as to what objects would invoke them.
Q: which object will call “my” public methods?
A: Client objects. Public methods in myClass.java constitute the expected services presented to “consumers/customers”. Quintessential examples are accessors and constructors. Another instance of myClass often call them too, in some designs.
Q: who will call “my” private methods?
A: only the /hosting/ class or a nested class. This case is simpler than the “public” case.
I don’t agree that a package, a module and a class mean roughly the same. Yes 1-to-1 mapping among the trio. In perl, the package construct is all about namespaces, while modules are more complex.
Some say a package represents a namespace; others say a package is primarily a symbol table. In simplistic terms, a package is a common prefix (or tag) you attach to a bunch of identifiers like variables, subroutines… A module is vastly different. A module is often a library of subroutines. A module can also become a class if you add some features.
@myPackage::myArray_withoutAt is a typical usage of a package.
A Namespace consists of variables, subroutines …
In Python, i’d say such a “namespace” is a idic i.e. internal-dict
disk-block = disk-page
data-block = data-page
Data-blocks/pages are less physical and less low-level than disk-blocks/pages.
Standard disk-block/page sizes are 2, 4, 8, 16Kb. Larger blocks are used less often.
Reading a Disk Page should be one I/O.
A data-block can contian muliple disk-blocks. (http://gauss.ffii.org/PatentView/EP542483)
q: yield() vs sleep()
%%A: “sleep() won’t yield to other threads but will hog(??) the cpu.” I now think that was wrong. Any thread is subject to scheduling and queuing in the Eligible Club.
A: (forum) Both are Thread.java static members. Sleep will stop the current thread even if there are no others ready to run. Without guarantee (“heuristic”), JVM may stop the yeilding thread if there is another one that’s ready.
q: explain why recursive quicksort need log n additional space
q: pros and cons of vector vs arraylist, hashtable ^ hashmap
q: path to root
q: what objects will never be garbabe collected
q: baseclass of Exception?
q: name 2 subclasses of Throwable
A: Error and Exception. ( A prominent subclass of Exception is RuntimeException.)
q: can u add member variables to an interface
A: Yes. “member” can be static.
q: can you add constructors to an abstract class?
%% A *WRONG* : yes but they won’t run
A: yes they run upon subclass instantiation
q: when would u use a Runable?
1) the first “catch-phrase” to memorize is the most common
– – – > prepare/execute/fetch
All 3 methods are specified in DBI but implemented (vendor-specific) in DBD modules ie DBD drivers.
2) For non-select, prepare/execute will do.
3) The simplest: do() alone can replace prepare/execute.
5) stored procedure with 3 result sets ie 3 selects: prepare/execute /fetch/more_results/fetch/more_results/fetch
Beware that most of these methods belong to $statement_handle like
– – – – > $statement_handle -> method1
whereas a few belong to $db_handle.
 excluding select-into. I think a select-into always returns one(???) row and saves it into variables and does not produce a result set.