- 1
- 2
$path = substr(array_pop(array_reverse(explode("?", $_SERVER["REQUEST_URI"]))), 1);
$text = urldecode(array_pop(explode("/", trim(array_pop(array_reverse(explode("?", str_replace(".png", "", $path))))))));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+137
$path = substr(array_pop(array_reverse(explode("?", $_SERVER["REQUEST_URI"]))), 1);
$text = urldecode(array_pop(explode("/", trim(array_pop(array_reverse(explode("?", str_replace(".png", "", $path))))))));
Имеется скрипт, генерирующий изображение, с адресом типа "/images/4601546083333.png?height=420&width=1510" .
В скрипте необходимо получить название запрошенного файла без расширения.
+125
Господа. Помогите решить хитрую задачку.
Есть у меня проект корне которого лежат файлик весь проект под контролем git кроме этого файлика. там конфигурация специфичная для тестового сервера.
Вот мне нужно сделать еще одну ветку, и как бы сделать так что бы этот файлик был подконтрольный гиту в этой ветке.
т.е. когда я делаю checkout файлик менялся. А когда push файлик игнорировался бы.
Очень буду благодарен если кто подскажет как быть.
+123
http://git-man-page-generator.lokaltog.net/
нынче стало популярно линки постить. я тоже попробую.
Git SCM. The Missing Man Page.
посвящается всем кто пытался читать официальные доки гита.
+172
$lastBuildDate=date(DATE_FORMAT_RFC822);
$lastBuildDated = str_replace ( '+0400' , '+0300' , $lastBuildDate );
Шах и мат серверным настройкам timezone
−159
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
| Проекты.Ссылка КАК Проект, Проекты.Менеджер КАК Менеджер, Проекты.СтатусПроекта, Проекты.ТипПроекта, Проекты.ВидПродукции,
| Проекты.ДатаТретейПодписи, Проекты.ДатаНачалаСтадии, Проекты.РасчетнаяДатаОкончанияСтадии, Проекты.Приоритет
|ИЗ Справочник.Проекты КАК Проекты
|ГДЕ (Проекты.ДатаОтправкиТЗ >= &НачДата И Проекты.ДатаОтправкиТЗ <= &КонДата ИЛИ Проекты.ДатаОтправкиТЗ = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
| И (&ВыбМенеджер = ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) ИЛИ Проекты.Менеджер = &ВыбМенеджер)
| И (&ВыбСтатусПроекта = ЗНАЧЕНИЕ(Перечисление.Статусы.ПустаяСсылка) ИЛИ Проекты.СтатусПроекта = &ВыбСтатусПроекта)
| И Проекты.ПометкаУдаления = &ЗначПометкиНаУдаление";
Запрос.УстановитьПараметр("НачДата",НачДата);
Запрос.УстановитьПараметр("КонДата",КонДата);
Запрос.УстановитьПараметр("ВыбМенеджер",ВыбМенеджер);
Запрос.УстановитьПараметр("ВыбСтатусПроекта",ВыбСтатусПроекта);
Запрос.УстановитьПараметр("ЗначПометкиНаУдаление",ложь);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Менеджер");
ТЗ.Колонки.Добавить("Проект");
ТЗ.Колонки.Добавить("ТипПроекта");
ТЗ.Колонки.Добавить("ВидПродукции");
ТЗ.Колонки.Добавить("ДатаТретейПодписи");
ТЗ.Колонки.Добавить("ДатаНачалаСтадии");
ТЗ.Колонки.Добавить("РасчетнаяДатаОкончанияСтадии");
ТЗ.Колонки.Добавить("ПлановаяДатаОтправкиТЗ");
ТЗ.Колонки.Добавить("Статус"); //Статус проекта
ТЗ.Колонки.Добавить("Приоритет"); //Статус проекта
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если (ВыборкаДетальныеЗаписи.СтатусПроекта = Перечисления.Статусы.Выполнено) Тогда
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.РасчетнаяДатаОкончанияПроекта) = Ложь Тогда
Продолжить;
КонецЕсли;
Если СокрЛП(ВыборкаДетальныеЗаписи.ДатаОтправкиТЗ) = "01.01.0001 0:00:00" Тогда
если (ВыборкаДетальныеЗаписи.РасчетнаяДатаОкончанияПроекта-60*60*24*45 >= НачДата) и (ВыборкаДетальныеЗаписи.РасчетнаяДатаОкончанияПроекта-60*60*24*45<= КонДата) Тогда
Иначе
продолжить;
КонецЕсли;
КонецЕсли;
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Проект = ВыборкаДетальныеЗаписи.Проект;
НоваяСтрока.Менеджер = ВыборкаДетальныеЗаписи.Менеджер;
НоваяСтрока.ВидПродукции = ВыборкаДетальныеЗаписи.ВидПродукции;
НоваяСтрока.ТипПроекта = ВыборкаДетальныеЗаписи.ТипПроекта;
НоваяСтрока.ДатаТретейПодписи = ВыборкаДетальныеЗаписи.ДатаТретейПодписи;
НоваяСтрока.РасчетнаяДатаОкончанияСтадии = ВыборкаДетальныеЗаписи.РасчетнаяДатаОкончанияСтадии;
НоваяСтрока.ДатаНачалаСтадии = ВыборкаДетальныеЗаписи.ДатаНачалаСтадии;
НоваяСтрока.Статус = ВыборкаДетальныеЗаписи.СтатусПроекта;
НоваяСтрока.ПлановаяДатаОтправкиТЗ = ВыборкаДетальныеЗаписи.РасчетнаяДатаОкончанияПроекта-60*60*24*45;//-45 дней
НоваяСтрока.Приоритет = ВыборкаДетальныеЗаписи.Приоритет;
КонецЦикла;
тз.Сортировать("Менеджер,ТипПроекта возр, Приоритет Убыв,Проект");
РФ = РеквизитФормыВЗначение("Отчет");
Макет = РФ.ПолучитьМакет("ПечатьПроектов");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьСтроки = Макет.ПолучитьОбласть("Строка");
ОбластьТипаПроекта = Макет.ПолучитьОбласть("ТипПроекта");
ОблатстьОтложенныхПроектов = Макет.ПолучитьОбласть("Отложенные");
ОбластьМенеджеры = Макет.ПолучитьОбласть("МЕНЕДЖЕР");
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
ТабДок.Вывести(ОбластьШапки);
Если тз.Количество()>0 Тогда
ТекущийТипПроекта = 0; ТекущийМенеджер = 0; пн = 0;
Для Каждого ТекущаяСтрока Из тз Цикл
Если ТекущаяСтрока.Статус = Перечисления.Статусы.Отложено Тогда
продолжить;
КонецЕсли;
Если (ТекущийМенеджер = 0) или (ТекущийМенеджер <> ТекущаяСтрока.Менеджер) Тогда
ТекущийМенеджер = ТекущаяСтрока.Менеджер;
ОбластьМенеджеры.Параметры.тМенеджер = ТекущийМенеджер;
ТабДок.Вывести(ОбластьМенеджеры);
КонецЕсли;
Если (ТекущийТипПроекта = 0) или (ТекущийТипПроекта <> ТекущаяСтрока.ТипПроекта) Тогда
ТекущийТипПроекта = ТекущаяСтрока.ТипПроекта;
ОбластьТипаПроекта.Параметры.тТипПроекта = ТекущийТипПроекта;
ТабДок.Вывести(ОбластьТипаПроекта);
КонецЕсли;
пн = пн + 1;
ОбластьСтроки.Параметры.ПН = пн;
ОбластьСтроки.Параметры.тПроектАртикул = СокрЛП(ТекущаяСтрока.ВидПродукции) + Символы.ПС + СокрЛП(ТекущаяСтрока.проект.Наименование);
ОбластьСтроки.Параметры.тПроектРасшифровка = ТекущаяСтрока.проект;
ОбластьСтроки.Параметры.тПлановаяДатаОтправкиТЗ = формат(ТекущаяСтрока.ПлановаяДатаОтправкиТЗ,"ДФ=dd.MM.yyyy");//-45 дней от расчетной даты окончания
ОбластьСтроки.Параметры.тДатаТретейПодписи = СокрЛП(Формат(ТекущаяСтрока.ДатаТретейПодписи,"ДФ=dd.MM.yyyy"));
ТабДок.Вывести(ОбластьСтроки);
КонецЦикла;
Попытка
ТабДок.Области.Строка.АвтоВысотаСтроки = Истина;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ПолеСправа = 0;
ТабДок.ПолеСлева = 0;
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(1,,2,);
ТабДок.ФиксацияСверху = 2;
Исключение
КонецПопытки;
КонецЕсли;
ТД = ТабДок;
ТД.Напечатать();
Серверная процедура в 8.2. Автор - "семёрочник-многостаночник". Переписываю и рыдаю...
Ужимал как мог, чтобы вместилось.
+145
http://geektimes.ru/post/248580/
Ну что, пидарашки. Олимпиадные программисты ожидаемо соснули. Все еще будете употреблять "а наши побеждают в олимпиадах" как аргумент?
+46
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
double f(double x, double y)
{
return y*y-2*x;
}
double f2(double x)
{
return sqrt(2*x+1);
}
int main(void) {
std::ofstream out;
out.open("out.txt");
double xn = 0, yn = 1, a = 0, b = 1, h = 0.2, x, y, n;
int i;
n = (b - a) / h;
y = yn;
x = a;
printf("x[0]=%.4f ", x);
printf("y[0]=%.4f\n\n", y);
double k1, k2, k3, k4, dy, y1;
cout << " i " << "x[i] " << "y[i] " << "y[x[i]] " << "E" << endl;
for (i = 1; i <= n; ++i)
{
x = xn + i*h;
k1 = h*f(x, y);
k2 = h*f((x + (h / 2)), (y + (1 / 2 * k1)));
k3 = h*f((x + (h / 2)), (y + (1 / 2 * k2)));
k4 = h*f((x + h), (y + k3));
dy = (k1 + 2 * k2 + 2 * k3 + k4) / 6;
y = y + dy;
y1 = f2(x);
printf("%2d. ", i);
printf("%.5f ", x);
printf("%.5f ", y);
printf("%.5f ", y1);
printf("%.9f\n", abs(y-y1));
}
out << y1 << '\n';
out.close();
return 0;
}
В out выводится только последнее значение y1.
Сам цикл проходит (в данном случае) 5 раз
Соответственно, 5 значений y1
Как сделать, чтобы он показывал все пять значений?
+127
Makefile:
ARCH=i386
...
CFLAGS="-m32 -march=pentium-m -O3"
...
Других архитектур не существует?
−425
[self.userView sd_setImageWithURL:[comment.sender avatarThumbnailURL] placeholderImage:[UIImage coloredAvatarWithId:[NSString stringWithFormat:@"%lld", comment.sender.idValue]
andName:comment.sender.firstName
ofSize:CGSizeMake (57, 57)]];
self.dateLabel.text = [self tsFromDate:comment.createdAt];
[self.dateLabel sizeToFit];
if (comment.sender == [SWCore account])
{
self.balloonImage.image = [[UIImage imageNamed:@"in_baloon"] resizableStretchedImageWithCapInsets:UIEdgeInsetsMake (20, 50, 20, 50)];
self.messageLabel.textColor = [UIColor colorWithWhite:.4f alpha:1.0f];
self.userView.left = 20;
self.balloonImage.right = 300;
self.dateLabel.right = self.balloonImage.right;
self.dateIcon.right = self.dateLabel.left - 3;
}
else
{
self.balloonImage.image = [[UIImage imageNamed:@"out_baloon"] resizableStretchedImageWithCapInsets:UIEdgeInsetsMake (20, 50, 20, 50)];
self.messageLabel.textColor = [UIColor whiteColor];
self.userView.right = 300;
self.balloonImage.left = 20;
self.dateIcon.left = self.balloonImage.left;
self.dateLabel.left = self.dateIcon.right + 3;
}
Мастерское владение размерами
+54
#include <iostream>
using namespace std;
int sumc(int n) {
int res = 0;
while (n != 0) {
int tmp = n % 10;
n /= 10;
res += tmp * tmp;
}
return res;
}
int main () {
freopen("input.txt", "rt", stdin);
freopen("output.txt", "wt", stdout);
int x;
cin >> x;
int i;
for (i = x + 1; sumc(i) % 7; ++i);
cout << i;
//код рабочий, а в комментах изначальный говно-вариант
/*int a[5];
a[0]=0;
a[1]=0;
a[2]=0;
a[3]=0;
a[4]=0;
int n = 4;
while (x > 0) {
a[n] = x%10;
x=x/10;
n--;
}
while (1 == 1) {
if ((a[0]*a[0]+a[1]*a[1]+a[2]*a[2]+a[3]*a[3]+a[4]*a[4])%7 == 0)
break;
a[n]++;
for (int j=n; n>0; j--) {if (a[j]=10) {
a[j-1]++;
a[j] = 0;
};
};
};
int j=-1;
while (1) {
++j;
if (a[j] != 0) break;
};
for (int l=j; l<5; l++){
cout << a[l];
};*/
return 0;
}
код рабочий, а в комментах изначальный говно-вариант