Wednesday, January 29, 2014

AngularJS Dependency Injection Cheatsheet

I finally get it. A cheatsheet for AngularJS dependency injection is as follows:

var somethingController = angular.module('What_it_provides', ['what', 'it', 'depends', on']);

somethingController.controller('Name', ['$what', '$it', 'depends', 'on', function('$what', '$it', 'depends', 'on') {
    // implementation, which returns a value, presumably.
}];

The core Angular dependencies (those in ng) are not listed in the angular.module() call, but they are listed in the .controller() call and in the function signature.

The 'What_it_provides' name seems to be used by the dependency injection framework in calls to angular.module(), i.e. the provider name, e.g. SomethingService. But the name would just be Something.
The 'Name' name seems to be used in parameter lists of implementation functions and in calls to controller(), factory(), etc.

See the example from the AngularJS tutorial step 11.

Friday, January 24, 2014

My git alias configuration

[alias]
        tree = log --graph --oneline --decorate
        st = status

Tuesday, December 03, 2013

Remote Desktop Keyboard Shortcuts

There's some cool stuff in here!

From the article:
  • CTRL+ALT+END: Open the Microsoft Windows NT Security dialog box (CTRL+ALT+DEL)
  • ALT+PAGE UP: Switch between programs from left to right (CTRL+PAGE UP)
  • ALT+PAGE DOWN: Switch between programs from right to left (CTRL+PAGE DOWN)
  • ALT+INSERT: Cycle through the programs in most recently used order (ALT+TAB)
  • ALT+HOME: Display the Start menu (CTRL+ESC)
  • CTRL+ALT+BREAK: Switch the client computer between a window and a full screen
  • ALT+DELETE: Display the Windows menu
  • CTRL+ALT+Minus sign (-): Place a snapshot of the entire client window area on the Terminal serverclipboard and provide the same functionality as pressing ALT+PRINT SCREEN on a local computer (ALT+PRT SC)
  • CTRL+ALT+Plus sign (+): Place a snapshot of the active window in the client on the Terminal server clipboard and provide the same functionality as pressing PRINT SCREEN on a local computer (PRT SC)
http://www.mydigitallife.info/keyboard-shortcuts-in-remote-desktop-connection-rdc-for-navigation/

Monday, November 04, 2013

15 Famous Business Books Summarized In One Sentence

Famous Business Book Summaries - Business Insider -- "Want to read 15 famous business books in under a minute?

To save you some time and money, we've made it possible. We boiled down some of the most popular and influential business books out there to their central lessons.

For those looking to bone up on some business theory, here are the highlights."

Monday, July 22, 2013

How to automatically number paragraphs in Word 2007

Finally!

http://www.dummies.com/how-to/content/numbering-headings-in-word-2007-multilevel-lists0.html

The Shauna Kelly site has a 404. At least I think so -- her 404 is so confusing that I'm not even sure I'm looking at a 404. In any case, no instructions are found on her site on how to actually do it.

Monday, April 02, 2012

10 Value Proposition Examples

Next time someone asks you to write value propositions, you can refer to this page for ideas. 10 Value Proposition Examples:

'via Blog this'

Wednesday, November 23, 2011

MVC3 app_code directory

I just found out from K. Scott Allen’s MVC3 training video on Pluralsight that the app_code directory in MVC3 is alive and well. Basically the Razor helpers here are pre-compiled and can be accessed globally in the application.

Apparently the usage in a Razor page is as follows:

    @Common.Script(“myscript.js”, Url)

image

Note to self: compare and contrast with shared “editor” partial views.

Note: I composed this post with Windows Live Writer 2011 but it doesn’t seem to play well with Blogger’s own editor. ¡Qué pena!

Tuesday, October 25, 2011

MVC3 ModelState and overwriting model properties

I will expand this later, I swear.

Caution: when you are using strongly typed models in MVC3 and you modify a property of the model in an Action, that property will get discarded when you create the view unless you clear the ModelState first. When building the view, the model fields are overwritten with values from ModelState, so clearing the ModelState prevents this.

UPDATE 11/10/2011:
This only applies to values passed in via a POST (or a GET?) that you're attempting to override by changing the corresponding fields in the view model.

Thursday, October 13, 2011

RegExes for replacing MVC3 hard-coded hrefs with @Url.Content hrefs

I'm posting this here mainly as a memory aid for myself.

My app is sprinkled with lots of links like this:
    <script src="../../Scripts/jquery-ui-1.8.11.min.js" type="text/javascript"></script>

I'd like them to look like this, since NuGet seems to be cognizant of such references and apparently changes them on upgrades:
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>

So the following search and replace with RegExes will work:

Find what:"\.\./\.\.{/[^"]*}"
Replace with:"@Url.Content("~\1")"

Include the quotes, and be sure to select "Use regular expressions."

Note that the consistent relative path "../../" must be changed as per your circumstances.

UPDATE on 11/2/11:
This "Replace With" parameter might be better:
"@Href("~\1")"

UPDATE on 11/22/11:
Now, according to this article, I see that Url.Content is supposed to be better anyway.

Wednesday, July 13, 2011

WCF Notes

To discover WCF services, make sure that https is turned off. This is done in two places, apparently:

  • In the binding, on the Security tab, Mode property, make sure the property is not set to “Transport”.
  • In the service behaviors, serviceMetadata, make sure httpsGetEnabled is set to false and that httpsGetEnabled is set to true.

When you’re done, turn those things back on again.

Common Design Patterns Resources : Steve Smith's Blog

Steve Smith gave a great talk last night at Bennett Adelson's .NET SIG, with many good links. Here's the link to his blog post on it: Common Design Patterns Resources : Steve Smith's Blog

Monday, July 11, 2011

Thursday, June 23, 2011

Cleaning up POSTs in ASP.NET MVC | Jimmy Bogard's Blog

Cleaning up POSTs in ASP.NET MVC | Jimmy Bogard's Blog:

"What we see over and over and over again is a similar pattern of:

[HttpPost]
public ActionResult Edit(SomeEditModel form)
{
    if (IsNotValid)
    {
        return ShowAView(form);
    }

    DoActualWork();

    return RedirectToSuccessPage();
}

Where all the things in red are things that change from POST action to POST action."

Friday, June 10, 2011

How to replace all automatic properties of string type with a string type which is never null

I have to do this in a piece of code, so I'm recording this here for my future reference.

In Visual Studio's Find and Replace dialog, type the following in the "Find what:" field:
public string \{:i\} \{ get; set; \}

Type this into the "Replace with" field:
private string _\1;\npublic string \1 \{\nget \{ return _\1 ?? ""; \}\nset \{ _\1 = value; \}\n\}

This pattern of performing a test in the getter versus the setter guarantees that it will never be null, and is the pattern used in the TextBox web control's Text property.

Afterwards you'll want to reformat the code, and possibly rename the backing fields, e.g. _FirstName, to be more camel-cased instead of being Pascal-cased(-like), e.g. _firstName instead of _FirstName.