- 
        
        
                −167         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
 PROCEDURE login_attr(a_id IN CHAR, a_pw IN VARCHAR2, v_ret IN OUT VARCHAR2)
IS
   v_count INTEGER;
BEGIN
   v_count := 0;
   SELECT NVL (COUNT (attrib_desc), 0)
     INTO v_count
     FROM tab_attr a,
          tab_users b
    WHERE a.msc_cd = b.user_dept
      AND a.attr_cd = 'CD'
      AND lattr_cd = 'ABCD'
      AND UPPER (user_no) = UPPER (a_id)
      AND UPPER (user_pw) = UPPER (a_pw);
   IF v_count > 0 THEN
      SELECT attrib_desc || '@' || user_lang || '@' || user_autoimg ||
             '@' || user_imgtime || '@' || user_loc || '@' ||
             user_dept
        INTO v_ret
        FROM tab_attr a,
             tab_users b
       WHERE a.msc_cd = b.user_dept
         AND a.attr_cd = 'CD'
         AND lattr_cd = 'ABCD'
         AND UPPER (user_no) = UPPER (a_id)
         AND UPPER (user_pw) = UPPER (a_pw);
   ELSE
      v_ret := ' ';
   END IF;
END;
 
 
            Нам нужно больше селектов.
 
 P.S. почему в предпросмотре язык Java, хотя выбран SQL?
 
             slbsomeone,
            05 Февраля 2014 slbsomeone,
            05 Февраля 2014
 
- 
        
        
                −166         
                            - 1
- 2
- 3
- 4
- 5
- 6
 SELECT ...
        FROM users_account
    ....
    WHERE   
        (T.userid=@userid or (@userid=null and @account!=null)) 
        and (T.account=@account or (@userid!=null and @account=null))
 
 
            Есть табличка с юзерами и счетами на которых у юзеров есть игровая валюта. 
 Есть индекс по обоим этим полям (userid, account).
 Каждый такой запрос сканирует весь индекс,а не делает по ней поиск, чем и грузит субд.
 Но попытки оптимизировать запрос не увечались успехом,
 т.к. я так и не понял что хотел сказать автор в своём условии where.
 
             bliznezz,
            05 Февраля 2014 bliznezz,
            05 Февраля 2014
 
- 
        
        
                −99         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
 for i in range(0,len(m)):
    if i==0:
        f=False
        s += x[m[i]]
    else:
        if i==len(m)-1:
            if not f:
                f=False
                s += ',' + x[m[i]]
            else:
                f=False
                s += x[m[i]]
            break
        else:
            if m[i]-m[i-1]==1:
                if m[i+1]-m[i]==1:
                    if not f:
                        f=True
                        s += '-'
                        continue
                    else:
                        continue
                else:
                    if not f:
                        f=False
                        s += ',' + x[m[i]]
                    else:
                        f=False
                        s += x[m[i]]
            else:
                f=False
                s += ','+x[m[i]]
 
 
            Была задача: на вход(m) подается массив чисел, например [1,3,5,6,7], а на выходе получаем человекочитаемую строку(s) "пн,ср,пт-вс"
 Вышло такое из меня пару месяцев назад, теперь я никогда не смогу в нем разобраться х_х
 
             MAaxim91,
            05 Февраля 2014 MAaxim91,
            05 Февраля 2014
 
- 
        
        
                +42         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
 #include <time.h>
#include <string>
#include <iostream>
#include <functional>
using namespace std::placeholders;
class F
{
        int inc;
public:
        F( int inc_v ): inc( inc_v ) {};
        int calc( int x )
        {
                return x + inc;
        };
};
F a1( -10 );
F a2( 11 );
int f1( int x )
{
        return x - 10;
};
int f2( int x )
{
        return x + 11;
};
        struct my_ftor
        {
                F *obj;
                int (F::*meth)(int);
                int operator()(int x)
                {
                        return (obj->*meth)( x );
                };
                my_ftor() {};
                my_ftor( F *x, int(F::*y)(int) ) : obj(x), meth(y) {};
        };
template<typename functor_type>
void test( std::function<functor_type(int)> filler, char *name )
{
        const int size = 1000;
        const int iters = 10000;
        int beg_time, end_time;
        functor_type funcs[ size ];
        beg_time = clock();
        for ( int i = 0; i < iters; i++ )
        {
                for ( int j = 0; j < size; j++ )
                {
                        funcs[ j ] = filler(j);
                }
        };
        end_time = clock();
        float creation = ((float)(end_time - beg_time) / CLOCKS_PER_SEC);
        beg_time = clock();
        int res = 0;
        for ( int i = 0; i < iters; i++ )
        {
                for ( int j = 0; j < size; j++ )
                {
                        res = funcs[ j ]( res );
                };
        };
        end_time = clock();
        float execution = ((float)(end_time - beg_time) / CLOCKS_PER_SEC);
        std::cout << name << " creation time: " << creation << " execution time: " << execution << " result: " << res << "\n";
}
int main(int c, char * * v) 
{
        test<int(*)(int)>( [](int i) {return i % 2 ? f1 : f2; }, "simple &function test" );
        test<std::function<int(int)>>( [](int i) {return i % 2 ? f1 : f2; }, "functor &function test" );
        test<std::function<int(int)>>( [](int i) {return i % 2 ? std::bind( &F::calc, &a1, _1 ) : std::bind( &F::calc, &a2, _1 ); }, "functor &object test" );
        test<my_ftor>( [](int i) {return i % 2 ? my_ftor( &a1, &F::calc ) : my_ftor( &a2, &F::calc ); }, "obj->*meth struct test" );
        std::cout << "END\n";
        return 0;
}
 
 
            http://ideone.com/1iNzR
 Чем код так долго занимается?
 simple &function test creation time: 0.05 execution time: 0.09 result: 5000000
 functor &function test creation time: 0.51 execution time: 0.14 result: 5000000
 functor &object test creation time: 1.25 execution time: 0.14 result: 5000000
 obj->*meth struct test creation time: 0.12 execution time: 0.05 result: 5000000
 END
 
             LispGovno,
            05 Февраля 2014 LispGovno,
            05 Февраля 2014
 
- 
        
        
                +39         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
 #include <iostream>
#include <memory>
struct Test {
    ~Test() { std::cout << "~Test\n"; }
};
int main() {
  std::shared_ptr<void> ptr( new Test );
  return 0;
}
 
 
            http://ideone.com/xXPWhE
 
 Но:
 
 #include <iostream>
 #include <memory>
 
 struct Test
 {
 ~Test() { std::cout << "~Test\n"; }
 };
 
 int main() {
 std::shared_ptr<void> ptr( (void*) new Test );
 return 0;
 }
 http://ideone.com/jhNvpJ
             LispGovno,
            05 Февраля 2014 LispGovno,
            05 Февраля 2014
 
- 
        
        
                +46         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
 //Сом ненужный щит
#include <iostream>
using namespace std;
#include <string>
#include <iostream>
struct Tracer {
   Tracer(void)
      :m_name("(none)")
   {
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
   }
   Tracer(const std::string & name)
      :m_name(name)
   {
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
   }
   Tracer(const Tracer & other)
      :m_name(other.m_name)
   {
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
   }
   Tracer(const Tracer && other)
      :m_name(other.m_name)
   {
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
   }
   Tracer & operator=(const Tracer & other) {
      m_name = other.m_name;
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
      return *this;
   }
   Tracer & operator=(const Tracer && other) {
      m_name = other.m_name;
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
      return *this;
   }
   ~Tracer() {
      std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
      m_name="You looser!";
   }
   std::string m_name;
};
//Тот щит, ради чего всё затевалось
template<class T> const T&  Min(const T &x, const T &y) { return (x.m_name < y.m_name) ? x : y; }
int main() {
  const Tracer& mr = Min(Tracer("a"), Tracer("b"));
  cout<<"Some work with mr: "<<mr.m_name<<endl;
  return 0;
}
 
 
            [b]    Tracer::Tracer(const string&)
 [a]    Tracer::Tracer(const string&)
 [a]    Tracer::~Tracer()
 [b]    Tracer::~Tracer()
 Some work with mr:
 Этож сколько я коммитов сделал с возвратом константной ссылки на константный параметр.
 
             LispGovno,
            04 Февраля 2014 LispGovno,
            04 Февраля 2014
 
- 
        
        
                +36         
                            - 1
- 2
- 3
 t = Min(::std::cref(x), ::std::cref(y));
//или в зависимости от ситуации 
t = Min(::std::move(x), ::std::move(y));
 
 
            Абстракционизм или Кубизм?
         
             LispGovno,
            04 Февраля 2014 LispGovno,
            04 Февраля 2014
 
- 
        
        
                +139         
            Creates the directory named by this abstract pathname.
 Returns: true if and only if the directory was created; false otherwise
 
 P.S. В java.nio сделали адекватную функцию, еще один гвоздь в крышку гроба шестерки.
 
             bormand,
            04 Февраля 2014 bormand,
            04 Февраля 2014
 
- 
        
        
                +70         
                            - 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
 public class ImportException extends Exception {
	public static final int NOT_CRITICAL = 1;
	public static final int CRITICAL = 2;
	private int criticality = NOT_CRITICAL;
	public ImportException(String message) {
		this.message = message;
	}
	/**
	 * С критичностью
	 * @param message
	 * @param criticality
	 */
	public ImportException(String message, int criticality) {
		this.message = message;
		this.criticality = criticality;
	}
	public int getCriticality() {
		return criticality;
	}
	public void setCriticality(int criticality) {
		this.criticality = criticality;
	}
}
 
 
            изобретение типа bool
         
             evg_ever,
            04 Февраля 2014 evg_ever,
            04 Февраля 2014
 
- 
        
        
                +64         
                            - 1
- 2
- 3
 // Полный импорт
private void fullImport(Collection<Entity> entities, File unzippedDir)
		throws IOException {
 
 
            спасибо за подсказку
         
             evg_ever,
            04 Февраля 2014 evg_ever,
            04 Февраля 2014