Skip to content

Instantly share code, notes, and snippets.

View stden's full-sized avatar

Denis Stepulenok stden

  • СПбГЭТУ "ЛЭТИ"
  • Saint-Petersburg, Russia
View GitHub Profile
@stden
stden / SP.php
Created April 10, 2012 13:12
Вызов хранимой процедуры Yii
/**
* @static Вызов хранимой процедуры
* @param $sp_name Название хранимой процедуры
* @param $params
* @return array
*/
public static function Query($sp_name, $params)
{
// Получаем CommandBuilder
$b = Yii::app()->db->getCommandBuilder();
@stden
stden / app.php
Created April 10, 2012 14:56
Браузер пользователя
function user_browser($agent)
{
preg_match("/(MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/", $agent, $browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
list(, $browser, $version) = $browser_info; // получаем данные из массива в переменную
if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera)) return 'Opera ' . $opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
if ($browser == 'MSIE') { // если браузер определён как IE
preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie); // проверяем, не разработка ли это на основе IE
if ($ie) return $ie[1] . ' based on IE ' . $version; // если да, то возвращаем сообщение об этом
return 'IE ' . $version; // иначе просто возвращаем IE и номер версии
}
@stden
stden / test.html
Created January 16, 2013 13:58
Пример вёрстки 10% - 85% - 5%
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
div {
border: 1px #000000 solid; /* Для всех div-ов делаем границу */
}
</style>
</head>
@stden
stden / test.html
Created January 16, 2013 14:02
Вёрстка 10% - 85% - 5% с селекторами
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
div {
border: 1px #000000 solid; /* Для всех div-ов делаем границу */
}
#common_div {
@stden
stden / DeviceParams.java
Created February 18, 2013 08:23
Чтение параметров устройства
package converttodb;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
/**
* Разбор описания одного устройства (из текстового файла в объект).
* На входе - текстовый файл.
@stden
stden / DeviceParamsParseTest.java
Created February 18, 2013 08:26
Пример чтения параметров из файла (тест)
package converttodb;
import org.junit.Test;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import static junit.framework.Assert.assertEquals;
/**
@stden
stden / CopySources.java
Created February 18, 2013 12:00
Замена ссылок на файлы содержимым файла
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.util.Scanner;
/**
* Преобразование исходников
*/
@stden
stden / RequestSignature.java
Created March 7, 2013 13:56
Вычисление MD5-хеша
/**
* Вычисление MD5-хеша
*
* @param str Строка, для которой считаем MD5-хеш сумму
* @return MD5-хеш строки
*/
public static String MD5(String str) {
try {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
byte[] array = md.digest(str.getBytes());
@stden
stden / gist:5262225
Created March 28, 2013 10:30
Получить MAC-адрес под Linux
#include <sys/ioctl.h>
#include <net/if.h>
#include <unistd.h>
#include <netinet/in.h>
#include <string.h>
int main()
{
struct ifreq ifr;
struct ifconf ifc;
@stden
stden / BonusUtil.java
Created April 1, 2013 13:49
Округление до нужного числа знаков
/**
* Округление сумм и другие операции с бонусами
*/
public class BonusUtil {
/**
* Округление суммы до двух знаков после запятой.
* По правилам математики (к ближайшему).
*
* @param sum Сумма
* @return Округлённая сумма