#26. Группировка элементов коллекции

langs = %w[java perl python ruby basic pascal racket ]
langs = langs.group_by { |lang| lang[0]}
puts langs # => {"j"=>["java"], "p"=>["perl", "python", "pascal"], "r"=>["ruby", "racket"], "b"=>["basic"]}
puts langs["r"] # => ruby\n racket\n
Очень элегантный способ сгруппировать элементы коллекции в хэш по какому либо признаку.

Author: reallyrails Twitter | Language: Ruby

Comments: 0

α++
35 α

#25. FreeDiskSpace Function

Function FreeDiskSpace(DriveLetter)
	Set FsoObject = WScript.CreateObject("Scripting.FileSystemObject")
	
	' Use the FilesystemObject Object's GetDrive Method
	Set DiskDrive = FsoObject.GetDrive(FsoObject.GetDriveName(DriveLetter & ":"))
     
	' Main Processing Section
     
	' Use the FileSystemObjects FreeSpace Property to Determine the Amount of FreeSpace in MB
	' on the C: Drive
     
	AvailSpacebytes = DiskDrive.FreeSpace
	AvailSpaceKB = DiskDrive.FreeSpace / 1024
	AvailSpaceMB = (DiskDrive.FreeSpace / 1024) / 1024
	AvailSpaceGB = ((DiskDrive.FreeSpace / 1024) / 1024) / 1024
     
	' Use VBScripts FormatNumber Function to format the results as a Whole Number
	AvailSpacebytes = FormatNumber(AvailSpacebytes, 0)
	AvailSpaceKB = FormatNumber(AvailSpaceKB, 0)
	AvailSpaceMB = FormatNumber(AvailSpaceMB, 0)
	AvailSpaceGB = FormatNumber(AvailSpaceGB, 0)
     
	' Display the Amount of Free Space on the C: Drive
	WScript.Echo "There is Currently: " & AvailSpacebytes & " bytes available on the C: Drive" & vbCrLf & _
	"There is Currently: " & AvailSpaceKB & "KB available on the C: Drive" & vbCrLf & _
	"There is Currently: " & AvailSpaceMB & "MB available on the C: Drive" & vbCrLf & _
	"There is Currently: " & AvailSpaceGB & "GB available on the C: Drive" & vbCrLf
     
	FreeDiskSpace = AvailSpaceMB
End Function
This function can easily be adapted to output the integer value of available drive space in kilo, mega or gigabytes.

Author: Robert Hirabayashi Facebook | Language: Visual Basic

Comments: 0

α++
29 α

#24. Check password strength

public enum PasswordScore
{
    VeryWeak = 1,
    Weak = 2,
    Medium = 3,
    Strong = 4,
    VeryStrong = 5
}
 
public class PasswordAdvisor
{
	public static PasswordScore CheckStrength(string password)
	{
		int score = 1;

		if ((password.Length < 4) && (password.Length >=1))
			return PasswordScore.VeryWeak;
		if (password.Length >= 6)
			score++;
		if (password.Length >= 12)
			score++;
		if (Regex.IsMatch(password, @"\d+"))
			score++;
		if (Regex.IsMatch(password, @"[a-z]") &&Regex.IsMatch(password, @"[A-Z]"))
			score++;
		if (Regex.IsMatch(password, @"[!@#\$%\^&\*\?_~\-\(\);\.\+:]+"))
			score++;

		return (PasswordScore)score;
	}
}
This class checks password strength

Author: semaphore69 Facebook | Language: C#

Comments: 0

α++
36 α

#23. Сканер портов

using inet

class Scan
{
	static Void main(Str[] args)
	{
		if (args.size != 1){
			echo("usage: Scan ")
			Env.cur.exit(-1)
		}
		host := IpAddr.make(args[0])
		for (port:=1; port < 1024; port++){
			try {
				socket := TcpSocket.make()
				socket.connect(host, port, Duration.fromStr("500ms"))
				echo("${args[0]}:$port [OPEN]")
			}
			catch(IOErr e){
				echo("${args[0]}:$port [CLOSED]")
			}
		}
	}
}
Простейший сканер портов

Author: reallyrails Twitter | Language: Fantom

Comments: 0

α++
19 α

#22. Подключение к базе данных MySQL

private void initDb(String db, String user, String pw) {
	String url = "jdbc:mysql://localhost/" + db;

	try {
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		con = DriverManager.getConnection(url, user, pw);
		if (con.isClosed()) {
			System.err.println("Failed to connecto to " + db);
		}
	}
	catch (Exception e) {
		System.err.println("Exception: "+ e.getMessage());
	}
}
Функция создает подключение к БД MySQL на локальный машине.

Author: なりきん Vkontakte | Language: Java

Comments: 0

α++
23 α

#21. Сheck website for availability

#!/usr/bin/env python

#It depends on the great requests library, GREAT requests library, get it now
#http://docs.python-requests.org/en/latest/index.html

import smtplib  

import requests
from requests import ConnectionError, HTTPError

fromaddr = 'your@address.com'  
toaddrs  = 'wheredoyou@wantyouralerts.com'  
msg = 'Everything okay'
  
# Credentials (if needed)  
username = 'your@gmail.com'  
password = 'yourgmailpassword'  

try:
	req = requests.get('http://address.you.want.to.check')
	req.raise_for_status()
except ConnectionError:
	msg = u'The server is down, connection failed.'
except HTTPError:
	msg = 'Site went 404 with content \n\n'+req.content
finally:    
	print msg
    
if msg != 'Everything okay':
	server = smtplib.SMTP('smtp.gmail.com:587')  
	server.starttls()  
	server.login(username,password)  
	server.sendmail(fromaddr, toaddrs, msg)  
	server.quit()
If site is not alive, gmail alert you

Author: grillermo Twitter | Language: Python

Comments: 0

α++
25 α

#20. Включаем вибрацию в iPhone

// Нужно подключить AudioToolbox для доступа к управлению вибрацией
#import <AudioToolbox/AudioToolbox.h>

// Однострочник:
AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);

// Функция:
- (void)vibrate {
	AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
}

// Вызов из другого метода того же класса:
- (void)myMethod {
[self vibrate];
}
Использовать вибрацию в нашем приложении очень просто. Есть два варианта - односточник или функция. Но функция все-таки предпочтительнее.

Author: reallyrails Twitter | Language: Objective-C

Comments: 0

α++
25 α

#19. Состояние службы в Android

private Boolean isServiceRunning(String serviceName) {
	ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
	for (RunningServiceInfo runningServiceInfo : activityManager.getRunningServices(Integer.MAX_VALUE)) {
		if (serviceName.equals(runningServiceInfo.service.getClassName())) {
			return true;
		}
	}
	return false;
}
Функция проверяет состояние службы в Andriod (запущен или нет).

Author: reallyrails Twitter | Language: Java

Comments: 0

α++
21 α

#18. Post in JSON

#!/bin/sh

curl -v -H "Content-Type: application/json" -X POST -d '{ "param1": "one", "param2": "two"}' http://domain.com
Very very simple

Author: reallyrails Twitter | Language: Bash

Comments: 0

α++
25 α

#17. String to NSDate

NSString *dateStr = @"20120209";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];  

// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];  
[dateFormat release];
Converting a string to nsdate in iphone sdk

Author: Kumar Vkontakte | Language: Objective-C

Comments: 0

α++
23 α
▲ Back to Top