-
+78
- 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
/**
* @param loginName
* @return
* This method is create a LoginName as Input data
*/
public String getLoginName(String loginName)
{
String userQuery="select u.LoginName from User u";
Recordset rs_user=null;
rs_user = CustomExternalServiceImplUtil.getInstance().executeQuery(userQuery);
List<String> userList = new ArrayList<String>();
while(rs_user.moveNext()){
userList.add(rs_user.valueFromIndex(0).toString());
}
int i=1;
String result = loginName;
for(int j=0; j < userList.size(); j++){
if(userList.get(j).equals(result))
{
result = loginName+i++;
j=0;
}
}
return result;
}
Рефаткоринг чужого кода. Минут пять втуплял, что же тут вообще делается. Еще столько же придумывал, как же это привести в божеский вид с сохранением прежней функциональности.
askell,
06 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
public function editSetting($group, $data, $store_id = 0) {
$this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$store_id . "' AND `group` = '" . $this->db->escape($group) . "'");
foreach ($data as $key => $value) {
if (!is_array($value)) {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'");
} else {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'");
}
}
}
Всё оттуда же (Open Cart).
Оно бы вроде и ничего, если бы не id и автоинкрементом в таблице "setting". Вот так вот, каждый раз сохраняя настройки, мы прибиваем стопицот старых значений и заводим столько же совершенно новых, которые, тем не менее, в большинстве своём ничем не отличаются от старых.
cybervantyz,
06 Сентября 2011
-
+86
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
private static void slowDownABit() {
for (int i = 0; i < 100; i++) {
new Thread() {
@Override
public void run() {
for (int i = 0; i < 10000000; i++) {
double d1 = Math.random() + 1;
double d2 = Math.random() + 1;
double d3 = Math.random() + 1;
double d4 = Math.random() + 1;
double d = d1 * d2 / d3 / d4 * Math.sin(Math.random());
}
}
}.start();
}
}
akkuch,
06 Сентября 2011
-
+159
- 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
if (isset($this->request->post['config_image_manufacturer_height'])) {
$this->data['config_image_manufacturer_height'] = $this->request->post['config_image_manufacturer_height'];
} else {
$this->data['config_image_manufacturer_height'] = $this->config->get('config_image_manufacturer_height');
}
if (isset($this->request->post['config_image_additional_width'])) {
$this->data['config_image_additional_width'] = $this->request->post['config_image_additional_width'];
} else {
$this->data['config_image_additional_width'] = $this->config->get('config_image_additional_width');
}
if (isset($this->request->post['config_image_additional_height'])) {
$this->data['config_image_additional_height'] = $this->request->post['config_image_additional_height'];
} else {
$this->data['config_image_additional_height'] = $this->config->get('config_image_additional_height');
}
if (isset($this->request->post['config_image_related_width'])) {
$this->data['config_image_related_width'] = $this->request->post['config_image_related_width'];
} else {
$this->data['config_image_related_width'] = $this->config->get('config_image_related_width');
}
if (isset($this->request->post['config_image_related_height'])) {
$this->data['config_image_related_height'] = $this->request->post['config_image_related_height'];
} else {
$this->data['config_image_related_height'] = $this->config->get('config_image_related_height');
}
if (isset($this->request->post['config_image_compare_width'])) {
$this->data['config_image_compare_width'] = $this->request->post['config_image_compare_width'];
} else {
$this->data['config_image_compare_width'] = $this->config->get('config_image_compare_width');
}
Всего лишь небольшой кусок кода из админки OpenCart-а.
Люди! OpenCart - гамно.
cybervantyz,
06 Сентября 2011
-
−99
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
begin
# etc
rescue Exception => e
case e
when LinkedIn::Unauthorized
account.invalidate_token if !account.invalid_token?
raise InvalidTokenException.new(account.primary, provider_name)
when LinkedIn::InformLinkedIn, LinkedIn::Unavailable #LinkedIn::Unavailable represents 502..503 error codes & LinkedIn::InformLinkedIn represent 500
raise UnexpectedApiException.new(provider_name)
else
handle_api_exception(e, e.message)
end
end
элегантный отлов ексепшнов
sumskyi,
06 Сентября 2011
-
+101
- 1
- 2
- 3
i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
i := i shr 1; // после этой строчки i становится равно 2147483644
i := (-7) shr 1; // после этой строчки i становится равно 4
Delphi7 такой Delphi7...
http://www.gamedev.ru/code/forum/?id=138759&page=25#m367
Тарас любит дельфи.
CPPGovno,
06 Сентября 2011
-
+159
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
$("html > body a#order_check").click(function(){
if($("html > body a#order_check").is(".active") && !$("html > body div#order_check_b").is(":hidden")){
$("#order_check").removeClass("active")
$("#order_check_b").hide()
}
if(!$("html > body a#order_check").is(".active") && $("html > body div#order_check_b").is(":hidden")){
$("html > body #order_check").addClass("active")
$("html > body #order_check_b").show()
}
})
Connor,
06 Сентября 2011
-
+164
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
>>>http://www.viva64.com/ru/a/0023/
#ifdef DEBUG_MODE
#define WriteLog printf
#else
inline int StubElepsisFunctionForLog(...) { return 0; }
static class StubClassForLog {
public:
inline void operator =(size_t) {}
private:
inline StubClassForLog &operator =(const StubClassForLog &)
{ return *this; }
} StubForLogObject;
#define WriteLog \
StubForLogObject = sizeof StubElepsisFunctionForLog
#endif
WriteLog("Coordinate = (%d, %d)\n", x, y);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
ССЗБ?
P.S #define WriteLog(...)
or
#define WriteLog __noop
dc9e6c73ef5541f1,
05 Сентября 2011
-
+146
- 1
- 2
- 3
- 4
- 5
case '16':
dm("sixteenth");
*b_=FULL_NOTE_DURATION_TCK/16 & 0x0F;
*c_=(FULL_NOTE_DURATION_TCK/16 & 0xF0) >> 8;
break;
Человек парсил хексы из строки и задумался немного при копировании блоков в свитче.
m08pvv,
05 Сентября 2011
-
−182
- 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
HOME_DIR = "/home/user"
LAST_DIR = HOME_DIR + "/.habralast"
HTML_DIR = HOME_DIR + "/.habr.html"
SHOW_FIRST_TIME = 5
n = 1
new_addr = 0
count = 0
if os.path.isfile(LAST_DIR):
fp = open(LAST_DIR, "r")
topic1 = fp.readline()
fp.close()
last_existed = 1
else:
fp = open(LAST_DIR, "w")
topic1 = ""
fp.close()
last_existed = 0
while(1):
if n == 1:
url = "habrahabr.ru"
else: url = "habrahabr.ru/page" + str(n) + "/"
wget = "wget " + url + " -O " + HTML_DIR
try:
os.system(wget)
except:
print "Cannot connect to server"
sys.exit()
index = open(HTML_DIR, "r")
s = ' <a href="http://habrahabr.ru/'
ss = ' <a'
sss = ' <div class="published"><!-- Дата в формате ISO пихается в title -->'
for i in range(2000):
line = index.readline()
if s in line:
blog_s = line.find('">')
blog_e = line.find("</a>")
blog = line[blog_s+2:blog_e]
for j in range(50):
line = index.readline()
if ss in line:
topic_s = line.find('">')
topic_e = line.find("</a>")
topic = line[topic_s+2:topic_e]
if topic.find("</span>") != -1:
topic = topic[topic.find("</span>")+7:]
if topic != topic1:
if new_addr == 0:
fp = open(LAST_DIR, "w")
fp.write(topic)
fp.close()
new_addr = 1
print "Blog:\t" + blog
print "Topic:\t" + topic
for k in range(100):
line = index.readline()
if sss in line:
line = index.readline()
time_s = line.find("<span>")
time_e = line.find("</span>")
date = line[time_s+6:time_e]
print "Date:\t" + date + "\n"
notify = "notify-send 'Habrahabr.ru: " + blog + "' '" + topic + "\n<i>" + date + "</i>'"
os.system(notify)
count += 1
if count == SHOW_FIRST_TIME and last_existed == 0:
os.system("rm -f " + HTML_DIR)
sys.exit()
break
break
else:
os.system("rm -f " + HTML_DIR)
sys.exit()
n += 1
index.close()
http://habrahabr.ru/blogs/python/127806/
Мне нравится, когда программа/код полностью своя… понимаешь назначение каждой буквы и почему решение именно такое. В данном топике хочу предложить свой парсер топиков Хабрахабра на Python без сторонних библиотек.
При появлении нового топика — всплывающее окошко сообщает об этом.
alexoy,
05 Сентября 2011