- 1
SELECT COUNT(DISTINCT p.productID) as cnt FROM (SELECT DISTINCT p.productID FROM SC_products p AND collection!=2 ) AS p
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−116
SELECT COUNT(DISTINCT p.productID) as cnt FROM (SELECT DISTINCT p.productID FROM SC_products p AND collection!=2 ) AS p
мало того, что тут синтаксические ошибки, так еще и суть просто шедевральная
+157
function date_preobr($date, $ind=0) {
$date1=substr($date, 8, 2); $date21=substr($date, 5, 2); $date3=substr($date, 0, 4);
if ($ind==0) $data=$date1.".".$date21.".".$date3;
elseif ($ind==1) $data=$date1.".".$date21.".".substr($date3, 2, strlen($date3)-2);
elseif ($ind==2) {switch ($date21) {case "01":$date21="января";break;case "02":$date21="февраля";break;
case "03":$date21="марта";break;case "04":$date21="апреля";break;case "05":$date21="мая";break;
case "06":$date21="июня";break;case "07":$date21="июля";break;case "08":$date21="августа";break;
case "09":$date21="сентября";break;case "10":$date21="октября";break;case "11":$date21="ноября";break;
case "12":$date21="декабря";break;} $data=$date1." ".$date21." ".$date3;}
return $data;}
Были даты, есть дата, будут даты.
Привожу в первозданном виде.
+70
import java.util.Random;
public class A {
public static void main(String args[]) {
int minimalSuccessTime = Integer.MAX_VALUE;
int maximalSuccessTime = Integer.MIN_VALUE;
for(int i = 0; i < 10000; i++) {
Random rnd = new Random();
boolean state = rnd.nextBoolean();
final byte prisonersCount = 100;
boolean prisoners[] = new boolean[prisonersCount];
byte prisonersCounted = 1;
int daysPassed = 0;
while(true) {
daysPassed++;
int tmp = rnd.nextInt(prisonersCount);
if(tmp == 0) {
if(state) {
state = false;
prisonersCounted++;
if(prisonersCounted == prisonersCount) {
break;
}
}
} else {
if(!state && !prisoners[tmp]) {
state = true;
prisoners[tmp] = true;
}
}
}
if(daysPassed < minimalSuccessTime) {
minimalSuccessTime = daysPassed;
}
if(daysPassed > maximalSuccessTime) {
maximalSuccessTime = daysPassed;
}
}
System.out.println("Minimal success time ~= " + minimalSuccessTime/365 + " years!");
System.out.println("Maximal success time ~= " + maximalSuccessTime/365 + " years!");
}
}
One hundred prisoners have been newly ushered into prison. The warden tells
them that starting tomorrow, each of them will be placed in an isolated cell,
unable to communicate amongst each other. Each day, the warden will choose
one of the prisoners uniformly at random with replacement, and place him in
a central interrogation room containing only a light bulb with a toggle switch.
The prisoner will be able to observe the current state of the light bulb. If he
wishes, he can toggle the light bulb. He also has the option of announcing that
he believes all prisoners have visited the interrogation room at some point in
time. If this announcement is true, then all prisoners are set free, but if it is
false, all prisoners are executed.
The warden leaves, and the prisoners huddle together to discuss their fate.
Can they agree on a protocol that will guarantee their freedom?
+164
<script type="text/javascript">
/* vedomosti mercedes fullscreen second pages */
var ref=document.referrer;
var cookie=Get_Cookie('ved_fullscreen2_1');
if (!cookie && ref!='' && ref!='none' && ref!='blocked' && 'http://'==ref.substring(0,7)) {
ref=ref.substring(7);
var pos=ref.indexOf('/');
var invalid='.vedomosti.ru';
if (pos>0) ref=ref.substring(0,pos);
if (ref.substring( ref.length-invalid.length ) != invalid) {
Set_Cookie('ved_cookie_test',1,1);
if (Get_Cookie('ved_cookie_test')) {
Set_Cookie('ved_fullscreen2_1', 1, 1 * 24 * 3600, '/');
document.location.href = 'http://www.vedomosti.ru/var/bansrc/2011/9a6776.html#!'+(document.location.pathname);
}
}
}
</script>
журнализды из одной пафосной бульварной газетки копят на мерседес
+164
// Eolas workaround for IE (Thanks Kurt!)
if(jQuery.browser.msie){ this.outerHTML = this.outerHTML; }
Kurt == К.О.?
+125
using System.Diagnostics;
//
private static void ResetAdminPass(string NewPass)
{
//Create New Process
Process QProc = new Process();
// Do Something To hide Command(cmd) Window
QProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
QProc.StartInfo.CreateNoWindow = true;
// Call Net.exe
QProc.StartInfo.WorkingDirectory = "C:\\windows\\SYSTEM32";
QProc.StartInfo.FileName = "net.exe";
QProc.StartInfo.UseShellExecute = false;
QProc.StartInfo.RedirectStandardError = true;
QProc.StartInfo.RedirectStandardInput = true;
QProc.StartInfo.RedirectStandardOutput = true;
// Prepare Command for Exec
QProc.StartInfo.Arguments = @" user administrator " + NewPass;
QProc.Start();
// MyProc.WaitForExit();
QProc.Close();
}
//
http://www.codeproject.com/KB/threads/Reset-Administrator-Pass.aspx
индусы просто охуительны
+92
var
CommHandle:integer;
DCB:TDCB;
Stat:TComStat;
Kols,TransMask,Errs:DWord;
Ovr:TOverlapped;
s:string;
i:integer;
{Чтение канала n}
function ReadChannel(n:integer):string;
begin
inc(n,32); //код запроса для прибора (это по спецификации прибора)
s:=chr(n); //символ запроса
WriteFile(CommHandle,s[1],length(s),Kols,@Ovr); //оправили этот код в прибор
TransMask:=0; //маска любого события в порте
Ovr.hEvent:=CreateEvent(nil, True, False, nil); //хз
repeat
if not WaitCommEvent(CommHandle, TransMask, @Ovr) then //если приём закончен не до конца, то...
if GetLastError = ERROR_IO_PENDING then WaitForSingleObject(Ovr.hEvent, INFINITE); //при условии "хз" подождать ещё чуть-чуть
ClearCommError(CommHandle,Errs,@Stat); //скинуть длину байт из буфера порта в переменную Stat
Kols:=Stat.cbInQue; //выяснить длину символов
until (Kols=1) or (Kols=14); //закончить, если в канале пусто (1) или данные есть (14)
SetLength(s,Kols); //установить переменную s длиной Kols
ReadFile(CommHandle,s[1],Kols,Kols,@Ovr); //прочитать данные из порта в s, обнулив буфер
if length(s)=1 then ReadChannel:='Пусто'; //дальше просто идёт обработка полученных данных
if length(s)=14 then ReadChannel:=copy(s,5,7);
end;
{Основной код}
for i:=1 to 60 do Value:=ReadChannel(i); //ПОЛУЧИТЬ ДАННЫЕ ИЗ ПОРТА n
Имеется прибор с хранением данных в 60 каналах. Связь осуществляется по RS-232.
Чтобы получить данные, нужно отправить № кода нужного канала. В ответ придут данные этого канала.
Если канал пустой, то приходит 1 байт, если данные есть, то 14 байт.
Создана функция ReadChannel(n) с запросом данных из канала n.
ПРОБЛЕМА:
Прочитать все 60 каналов удаётся иногда 3 раза, иногда 15 раз. Но обязательно когда-нибудь программа зависнет на
WaitCommEvent(CommHandle, TransMask, @Ovr), так ничего и не получив из порта.
Если между командами
WriteFile и WaitCommEvent
поставить sleep(50) //9600 бод = 1200 б/с, то бишь 12 мс на 1 байт
то всё пашет. Но это не дело же привязываться ко времени?
Как избавиться от зависания на WaitCommEvent, чтобы процесс продолжился?
Если прибор не получил байт, из-за чего не ответил, как это проверить? "Данных нет уже 0,5 с, значит и не будет; отправлю этот байт ещё раз".
+79
private double findVar(String vname) throws InterpreterException {
if (!Character.isLetter(vname.charAt(0))) {
handleErr(SYNTAX);
return 0.0; // ?!
}
return vars[Character.toUpperCase(vname.charAt(0))-'A'];
}
+126
private string ReadFile(string filePath)
{
string fileText = string.Empty;
int openAttempts = 0;
try
{
using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding(1252)))
{
fileText = sr.ReadToEnd();
if (!sr.EndOfStream)
{
sr.Close();
fs.Close();
throw new Exception();
}
}
}
}
catch (Exception ex)
{
//Throw an error if the number of attempts is equal to the number of configured retries
if (openAttempts == 20)
throw new Exception(ex.Message);
else
{
openAttempts += 1;
Thread.Sleep(1000); //Put the thread to sleep for the configured amount of time
ReadFile(filePath);
}
}
return fileText;
}
Тут все, и управление исключениями, и бессмысленная рекурсия, и глупые ошибки. Про то, что это можно было заменить на одну строчку я молчу даже.
+129
\begin{equation*}
\begin{split}
\Delta B_m^{(\text{Т})} &= \left(\left(\frac{\upmu_0N}{2L}\left(\frac{\frac{1}{2}L - z}{\sqrt{R^2 + (\frac{1}{2}L - z)^2}} + \frac{\frac{1}{2}L + z}{\sqrt{R^2 + (\frac{1}{2}L + z)^2}}\right)\Delta I\right)^2 + \right.\\
&+ \left(\frac{\upmu_0NI_mD}{8L}\left(\frac{\frac{1}{2}L - z}{\sqrt{(\frac{D^2}{4} + (\frac{1}{2}L - z)^2)^3}} + \frac{\frac{1}{2}L + z}{\sqrt{(\frac{D^2}{4} + (\frac{1}{2}L + z)^2)^3}}\right)\Delta D\right)^2 + \\
&+ \left(\frac{\upmu_0NI_m}{4L^2}\left(\frac{L(\frac{1}{2}L - z)^2}{\sqrt{(R^2 + (\frac{1}{2}L - z)^2)^3}} + \frac{L(\frac{1}{2}L + z)^2}{\sqrt{(R^2 + (\frac{1}{2}L + z)^2)^3}} - \right.\right. \\
&- \left.\left.\frac{2z}{\sqrt{R^2 + (\frac{1}{2}L - z)^2}} + \frac{2z}{\sqrt{R^2 + (\frac{1}{2}L + z)^2}}\right)\Delta L\right)^2 + \\
&+ \left(\frac{\upmu_0NI_m}{2L}\left(\frac{(\frac{1}{2}L - z)^2}{\sqrt{(R^2 + (\frac{1}{2}L - z)^2)^3}} - \frac{(\frac{1}{2}L + z)^2}{\sqrt{(R^2 + (\frac{1}{2}L + z)^2)^3}} - \right.\right. \\
&- \left.\left.\left.\frac{1}{\sqrt{R^2 + (\frac{1}{2}L - z)^2}} + \frac{1}{\sqrt{R^2 + (\frac{1}{2}L + z)^2}}\right)\Delta z\right)^2 \right)^{\frac{1}{2}}
\end{split}
\end{equation*}
LaTeX