michaelfox + database 84
MDB | xiphux
october 2011 by michaelfox
MDB (Media DataBase) is just a little php webapp I wrote to keep track of the copious amounts of anime I have stored on my fileserver. It’s designed for easy browsing – as opposed to having a big conglomeration of files and folders that people have to sort through, it’ll index all the files and categorize them and sort the titles alphabetically. There’s other features such as searching. In addition to indexing the filenames, it also indexes filesizes, so it can calculate the size of your entire collection on the fly as well as print the size of each file and title (as long as your database is updated).
media
database
php
october 2011 by michaelfox
Mobile Couchbase for iOS Beta | Couchbase Blog
may 2011 by michaelfox
Mobile Couchbase is Beta! Your iOS apps can sync using the power of Apache CouchDB: http://t.co/NSLIINT
couchdb
ios
database
sync
app
iphone
ipad
couchbase
from instapaper
may 2011 by michaelfox
Introduction to Database Events
december 2010 by michaelfox
Introduction to Database Events
by Benjamin S. Waldie
Data storage and access is an important part of AppleScripting, particularly in complex AppleScript-based projects. Some scripts may need to store user-entered data for later reference, perhaps during an entirely new session. Some may need a location to log activity or errors during processing. Others may need to access structured data, in order to do something fairly complex, such as building a catalog.
In this month's column, we will discuss the use of Database Events, a new and exciting feature in Mac OS X, for storage and access of data during script execution.
applescript
database
data
events
scripting
automation
sqlite
osx
by Benjamin S. Waldie
Data storage and access is an important part of AppleScripting, particularly in complex AppleScript-based projects. Some scripts may need to store user-entered data for later reference, perhaps during an entirely new session. Some may need a location to log activity or errors during processing. Others may need to access structured data, in order to do something fairly complex, such as building a catalog.
In this month's column, we will discuss the use of Database Events, a new and exciting feature in Mac OS X, for storage and access of data during script execution.
december 2010 by michaelfox
A Simple Guide to Five Normal Forms in Relational Database Theory
september 2010 by michaelfox
The normal forms defined in relational database theory represent guidelines for record design. The guidelines corresponding to first through fifth normal forms are presented here, in terms that do not require an understanding of relational theory. The design guidelines are meaningful even if one is not using a relational database system. We present the guidelines without referring to the concepts of the relational model in order to emphasize their generality, and also to make them easier to understand. Our presentation conveys an intuitive sense of the intended constraints on record design, although in its informality it may be imprecise in some technical details. A comprehensive treatment of the subject is provided by Date [4].
The normalization rules are designed to prevent update anomalies and data inconsistencies. With respect to performance tradeoffs, these guidelines are biased toward the assumption that all non-key fields will be updated frequently. They tend to penalize retrieval, since data which may have been retrievable from one record in an unnormalized design may have to be retrieved from several records in the normalized form. There is no obligation to fully normalize all records when actual performance requirements are taken into account.
database
design
normalization
theory
reference
mysql
The normalization rules are designed to prevent update anomalies and data inconsistencies. With respect to performance tradeoffs, these guidelines are biased toward the assumption that all non-key fields will be updated frequently. They tend to penalize retrieval, since data which may have been retrievable from one record in an unnormalized design may have to be retrieved from several records in the normalized form. There is no obligation to fully normalize all records when actual performance requirements are taken into account.
september 2010 by michaelfox
lirantal's codeigniter-menu at master - GitHub
september 2010 by michaelfox
Menu Navigation extension for CodeIgniter PHP framework
codeigniter
php
menu
mysql
database
hierarchy
september 2010 by michaelfox
ericbarnes's codeignitor-migrations at master - GitHub
september 2010 by michaelfox
An open source utility for Codeigniter inspired by Ruby on Rails. The one thing Ruby on Rails has that Codeigniter does not have built in is database migrations. That function to keep track of database chages (versions) and migrate your database to what ever version you need. Migrate up or migrate down. With this library you can now do this. This library is not complete, please read http://codeigniter.com/wiki/Migrations for future needs and issues. This "fork" of Mat'as orginal work just tweets something to work better in our work. Both Libraries are powerful and work in nearly the same way. Maybe someday we can create a joint project with Mat'as or even better get this into that core of Codeigniter.
codeigniter
database
migrations
versioncontrol
git
updates
mysql
september 2010 by michaelfox
Transients API « WordPress Codex
july 2010 by michaelfox
Codex
Codex tools: Log in
Transients API
Contents
[hide]
* 1 Function Reference
* 2 Using Transients
o 2.1 Saving Transients with set_transient()
o 2.2 Fetching Transients with get_transient()
o 2.3 Removing Saved Transients with delete_transient()
* 3 Complete Example
This page contains the technical documentation of the WordPress Transients API, which offers a simple and standardized way of storing cached data in the database temporarily by giving it a custom name and a timeframe after which it will expire and deleted.
The transients API is very similar to the Options API but with the added feature of an expiration time, which simplifies the process of using the wp_options database table to store cached information.
Also of note is that Transients are inherently sped up by caching plugins, where normal options are not. A memcached plugin, for example, would make WordPress store transient values in fast memory instead of in the database. For this reason, transients should be used to store any data that is expected to expire, or which can expire at any time. Transients should also never be assumed to be in the database, since they may not be stored there at all.
The intended audience for this article includes WordPress theme authors, plug-in authors and anyone who needs to cache specific data but wants it to be refreshed within a given timeframe. This document assumes a basic understanding of PHP scripting.
wordpress
cache
performance
transients
api
php
database
speed
Codex tools: Log in
Transients API
Contents
[hide]
* 1 Function Reference
* 2 Using Transients
o 2.1 Saving Transients with set_transient()
o 2.2 Fetching Transients with get_transient()
o 2.3 Removing Saved Transients with delete_transient()
* 3 Complete Example
This page contains the technical documentation of the WordPress Transients API, which offers a simple and standardized way of storing cached data in the database temporarily by giving it a custom name and a timeframe after which it will expire and deleted.
The transients API is very similar to the Options API but with the added feature of an expiration time, which simplifies the process of using the wp_options database table to store cached information.
Also of note is that Transients are inherently sped up by caching plugins, where normal options are not. A memcached plugin, for example, would make WordPress store transient values in fast memory instead of in the database. For this reason, transients should be used to store any data that is expected to expire, or which can expire at any time. Transients should also never be assumed to be in the database, since they may not be stored there at all.
The intended audience for this article includes WordPress theme authors, plug-in authors and anyone who needs to cache specific data but wants it to be refreshed within a given timeframe. This document assumes a basic understanding of PHP scripting.
july 2010 by michaelfox
jmathai's epicode at master - GitHub
may 2010 by michaelfox
An extremely lightweight PHP framework. It includes caching, session, database, form validation, twitter, oauth and asynchronous/non-blocking curl components.
php
framework
tools
toolkit
development
curl
oath
twitter
forms
validation
database
session
cache
caching
apc
memcache
may 2010 by michaelfox
Test (Sample) Data Generators
may 2010 by michaelfox
Sample / test data is an effective way to test web projects & applications. Other than meaningless data, real names, addresses, zip codes can make the whole testing stage easier.
WebResourcesDepot have collected some nice free test data generators which you may find useful:
data
database
design
development
generator
test
testing
sample
example
tools
webdev
WebResourcesDepot have collected some nice free test data generators which you may find useful:
may 2010 by michaelfox
Practical PHP Patterns: Active Record | Web Builder Zone
may 2010 by michaelfox
The Active Record pattern effectively prescribes to wrap a row of a database table in a domain object with a 1:1 relationship, managing its state and adding business logic in the wrapping class code.
An Active Record implementation is in fact a classical C structure aka Record aka associative array of data, with the addition of utility methods that encapsulate behavior that acts on these data. The most useful method is usually the save() one, which updates the database reflecting in the row the current state of the record. Thus, the Active Record transparently works with SQL queries and provides an higher-level Api.
Although Active Record is similar in implementation to the Row Data Gateway pattern, it is distinguished from it in the fact that it defines methods with domain-specific logic. The consequence of the presence of domain-specific logic is that generic implementations of Active Record provided by libraries must be customized to met the need of the object model. Typically this customization is done with a thin subclassing, which at least renames the library class with a domain name (like User or Post) and may specify metadata on the database table where the Active Records state is kept, if they are not inferred.
php
db
database
data
row
patterns
design
bestpractices
code
activerecord
An Active Record implementation is in fact a classical C structure aka Record aka associative array of data, with the addition of utility methods that encapsulate behavior that acts on these data. The most useful method is usually the save() one, which updates the database reflecting in the row the current state of the record. Thus, the Active Record transparently works with SQL queries and provides an higher-level Api.
Although Active Record is similar in implementation to the Row Data Gateway pattern, it is distinguished from it in the fact that it defines methods with domain-specific logic. The consequence of the presence of domain-specific logic is that generic implementations of Active Record provided by libraries must be customized to met the need of the object model. Typically this customization is done with a thin subclassing, which at least renames the library class with a domain name (like User or Post) and may specify metadata on the database table where the Active Records state is kept, if they are not inferred.
may 2010 by michaelfox
Practical PHP Patterns: Row Data Gateway | Web Builder Zone
may 2010 by michaelfox
The Row Data Gateway pattern's intent is encapsulating a single row of a database table, and abstract away the mechanism used to access it and modify its data. Performance enhancements (such as delayed queries) and abstraction of the underlying SQL language are responsibilities of this pattern's implementation.
db
database
php
patterns
design
code
bestpractices
row
data
may 2010 by michaelfox
Create a "Recent Posts" Module Outside of WordPress
may 2010 by michaelfox
The websites I create are never powered by WordPress. Sure I may add a blog to the website but I’ve never created a client website that was run by the powerful blogging software. In an effort to tie the website and blog together, I’ll usually do some quick PHP/MySQL programming to pull in recent blog post titles and links to the individual posts. Here’s the PHP and MySQL that accomplishes that task.
wordpress
php
external
recentposts
module
database
mysql
sql
query
posts
recent
may 2010 by michaelfox
Plurk Open Source - LightCloud - Distributed and persistent key value database
april 2010 by michaelfox
# Built on Tokyo Tyrant. One of the fastest key-value databases [benchmark]. Tokyo Tyrant has been in development for many years and is used in production by Plurk.com, mixi.jp and scribd.com (to name a few)...
# Great performance (comparable to memcached!)
# Can store millions of keys on very few servers - tested in production
# Scale out by just adding nodes
# Nodes are replicated via master-master replication. Automatic failover and load balancing is supported from the start
# Ability to script and extend using Lua. Included extensions are incr and a fixed list
# Hot backups and restore: Take backups and restore servers without shutting them down
# LightCloud manager can control nodes, take backups and give you a status on how your nodes are doing
# Very small foot print (lightcloud client is around ~500 lines and manager about ~400)
# Python only, but LightCloud should be easy to port to other languages.
# Ruby port under development!
database
keyvalue
nosql
document
memcache
# Great performance (comparable to memcached!)
# Can store millions of keys on very few servers - tested in production
# Scale out by just adding nodes
# Nodes are replicated via master-master replication. Automatic failover and load balancing is supported from the start
# Ability to script and extend using Lua. Included extensions are incr and a fixed list
# Hot backups and restore: Take backups and restore servers without shutting them down
# LightCloud manager can control nodes, take backups and give you a status on how your nodes are doing
# Very small foot print (lightcloud client is around ~500 lines and manager about ~400)
# Python only, but LightCloud should be easy to port to other languages.
# Ruby port under development!
april 2010 by michaelfox
Hivelogic - Installing MySQL on Mac OS X
july 2008 by michaelfox
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc \ CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors \ -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql \ --with-extra-charsets=complex --enable-thread-safe-client \ --enable-lo
mysql
server
admin
apache
osx
howto
config
setup
database
webdev
july 2008 by michaelfox
related tags
accelerators ⊕ activerecord ⊕ admin ⊕ apache ⊕ apc ⊕ api ⊕ app ⊕ apple ⊕ applescript ⊕ architecture ⊕ article ⊕ automatedtesting ⊕ automation ⊕ backup ⊕ beautifier ⊕ bestpractices ⊕ bigtable ⊕ blog ⊕ books ⊕ browser ⊕ browsers ⊕ build ⊕ buildsystems ⊕ cache ⊕ caching ⊕ cheatsheet ⊕ cli ⊕ cloud ⊕ cluster ⊕ clustering ⊕ cocoa ⊕ code ⊕ codeigniter ⊕ codesniffer ⊕ commandline ⊕ comparison ⊕ config ⊕ coredata ⊕ couchbase ⊕ couchdb ⊕ countries ⊕ cover ⊕ crawler ⊕ curl ⊕ data ⊕ database ⊖ databaseobject ⊕ datamapper ⊕ datamining ⊕ datasets ⊕ date ⊕ dates ⊕ datetime ⊕ db ⊕ debug ⊕ debugging ⊕ delta ⊕ denormalization ⊕ deployment ⊕ design ⊕ designpatterns ⊕ developertools ⊕ development ⊕ devops ⊕ dj ⊕ document ⊕ documentation ⊕ download ⊕ editor ⊕ engine ⊕ environment ⊕ events ⊕ example ⊕ external ⊕ ezsql ⊕ f-script ⊕ firefox ⊕ forms ⊕ framework ⊕ free ⊕ generator ⊕ git ⊕ graph ⊕ hack ⊕ heirarchy ⊕ hierarchy ⊕ history ⊕ howto ⊕ html ⊕ html5 ⊕ ide ⊕ ids ⊕ indexing ⊕ injection ⊕ inspiration ⊕ install ⊕ installation ⊕ ios ⊕ ipad ⊕ iphone ⊕ javascript ⊕ json ⊕ keyvalue ⊕ library ⊕ list ⊕ log ⊕ mac ⊕ machinelearning ⊕ manager ⊕ mashup ⊕ media ⊕ memcache ⊕ memory ⊕ menu ⊕ metadata ⊕ migration ⊕ migrations ⊕ model ⊕ module ⊕ mongodb ⊕ monitoring ⊕ music ⊕ mvc ⊕ mysql ⊕ mysql.monitoring ⊕ mysql.optimization ⊕ mysql.performance ⊕ mysql.tools ⊕ mysql.tuning ⊕ network ⊕ news ⊕ normalization ⊕ nosql ⊕ notes ⊕ oath ⊕ objects ⊕ oo ⊕ oop ⊕ opensource ⊕ optimization ⊕ organizer ⊕ orm ⊕ osx ⊕ pager ⊕ parsing ⊕ patterns ⊕ performance ⊕ phing ⊕ php ⊕ php5 ⊕ phpunit ⊕ places ⊕ places.sqlite ⊕ posts ⊕ programming ⊕ proxy ⊕ query ⊕ question ⊕ recent ⊕ recentposts ⊕ reference ⊕ remix ⊕ replication ⊕ research ⊕ resources ⊕ reverseproxy ⊕ revision ⊕ row ⊕ sample ⊕ samples ⊕ scalability ⊕ scaling ⊕ scripting ⊕ search ⊕ security ⊕ server ⊕ session ⊕ setup ⊕ shortcut ⊕ sms ⊕ snippets ⊕ social ⊕ software ⊕ speed ⊕ sql ⊕ sqlinjection ⊕ sqlite ⊕ stackoverflow ⊕ statistics ⊕ string ⊕ suite ⊕ sync ⊕ sysadmin ⊕ test ⊕ testing ⊕ theory ⊕ time ⊕ tips ⊕ toolkit ⊕ tools ⊕ transients ⊕ tree ⊕ trick ⊕ triggers ⊕ troubleshooting ⊕ tuning ⊕ tutorial ⊕ twitter ⊕ unittesting ⊕ updates ⊕ validation ⊕ versioncontrol ⊕ video ⊕ views ⊕ web ⊕ webdev ⊕ wordpress ⊕ xml ⊕ yaml ⊕Copy this bookmark: