-
Список говнокодов пользователя Lure Of Chaos
Всего: 161
-
+73
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
@SuppressWarnings("unchecked")
private <T> T convert(final String p, final Class<T> type) {
if (p == null) {
return null;
}
if (type == String.class) {
return (T) String.valueOf(p);
} else if (type == Integer.class) {
return (T) Integer.valueOf(p);
} else if (type == Boolean.class) {
return (T) Boolean.valueOf(p);
} else if (type == Double.class) {
return (T) Double.valueOf(p);
} else if (type == Long.class) {
return (T) Long.valueOf(p);
} else if (type == Float.class) {
return (T) Float.valueOf(p);
} else if (type == Short.class) {
return (T) Short.valueOf(p);
} else if (type == Byte.class) {
return (T) Byte.valueOf(p);
}
throw new UnsupportedOperationException(String.format("Cannot convert \"%s\" to %s", p, type));
}
распарсь мне строку...
Lure Of Chaos,
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
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
{
final int p = page;
final boolean current = p == 1;
this.pagercell(writer, current, 1, "<<");
}
for (int p = page - this.size; p < page; p++) {
if (p >= 1) {
final boolean current = p == 1;
this.pagercell(writer, current, p);
}
}
{
final int p = page;
final boolean current = (p - this.size) < 1;
this.pagercell(writer, current, p - this.size, "<");
}
{
final int p = page;
final boolean current = p == page;
this.pagercell(writer, current, p);
}
{
final int p = page;
final boolean current = (p + this.size) > pages;
this.pagercell(writer, current, p + this.size, ">");
}
for (int p = page + 1; p <= (page + this.size); p++) {
if (p <= pages) {
final boolean current = p == pages;
this.pagercell(writer, current, p);
}
}
{
final int p = page;
final boolean current = p == pages;
this.pagercell(writer, current, pages, ">>");
}
веселый вывод постраничной навигации (кусок метода)
Lure Of Chaos,
22 Апреля 2014
-
+73
- 1
- 2
- 3
- 4
- 5
- 6
- 7
private static class Errors extends ArrayList<String> {
private static final long serialVersionUID = 1L;
}
private static class Notices extends ArrayList<String> {
private static final long serialVersionUID = 1L;
}
две большие разницы
Lure Of Chaos,
11 Апреля 2014
-
+134
- 1
ok = r.nextInt(prob) <= prob
рассчитываем вероятность события...
Lure Of Chaos,
04 Апреля 2014
-
+128
- 1
- 2
- 3
- 4
Sorry! The page could not be loaded.
Unable to connect to MySQL and select database.
MySQL reported: Access denied for user 'root'@'localhost' (using password: YES)
http://gvforum.ru/
эх, vasiliy, кто ж на продакшене базу от рута поднимает? надо же от юзверя с правами insert, delete, update, select
Lure Of Chaos,
08 Января 2014
-
+126
- 1
http://www.youtube.com/watch?v=HNMq8XS4LhE
позвольте и мне похулиганить.
в тему недавних комментов.
Lure Of Chaos,
28 Декабря 2013
-
+155
- 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
$s='';
$kfg=new Konfig('');
$kfg('self');
{
$kfg->k1='v1';
$s.=$kfg->k1."\n";
}
{
$kfg->k2->k='v2';
$s.=$kfg->k2->k."\n";
}
{
$kfg->{'k3.k'}='v3';
$s.=$kfg->k3->k."\n";
}
{
$kfg->k4='v4';
$kfg->k4->k='v4';
$s.=$kfg->k4."\n";
$s.=$kfg->k4->k."\n";
}
{
$s.=$kfg->strstr('ab','b');
}
$this->response->body('<pre>'.$s."\n".Debug::dump((string)$kfg)."\n".Debug::dump($kfg).'</pre>');
TDD in Action, Вот так я проверяю работоспособность волшебной во всех местах конфиги.
из личного сайта http://lure0xaos.url.ph/
Lure Of Chaos,
22 Декабря 2013
-
+70
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
package gargoyle.heartsong.pages.test;
import gargoyle.heartsong.annotations.model.InjectDAO;
import gargoyle.heartsong.model.UserEntity;
import gargoyle.heartsong.services.model.i.DAO;
import java.util.List;
public class TestDAO2 {
@InjectDAO(key = Integer.class, value = UserEntity.class)
private DAO<Integer, UserEntity> users;
public List<UserEntity> getUsers() {
return this.users.all();
}
}
дай Люру в руки Tapestry, так он станет программировать на аннотациях.
это вам уже не программирование "на стрелочках", болезнь прогрессирует.
да, аннотация @CommitAfter оборачивает тело метода в транзакцию с коммитом и роллбэком при исключении;
есть аннотация @Notify, которая показывает уведомление, если была ошибка, и меняет возвращаемое значение;
по аннотациям @AdminPage строится меню админки;
и наконец, @RolesRequired ограничивает доступ к странице.
в итоге в классах одни собачки торчат вместо фунциональности. вот, убедитесь сами:
https://github.com/lure0xaos/HeartSong.git
Lure Of Chaos,
22 Декабря 2013
-
+69
- 1
foos.removeAll(Collections.singleton(null));
foos.remove(null)?не, не наш метод.
Lure Of Chaos,
02 Августа 2013
-
+73
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
public static Rectangle2D fit(final Rectangle2D in, final Rectangle2D out) {
final Rectangle2D.Double fit = new Rectangle2D.Double();
if (in.getWidth() > in.getHeight()) {
fit.width = out.getWidth();
fit.height = (out.getHeight() * in.getHeight()) / in.getWidth();
fit.x = out.getX();
fit.y = out.getY() + ((out.getHeight() - fit.height) / 2);
} else {
fit.width = (out.getWidth() * in.getWidth()) / in.getHeight();
fit.height = out.getHeight();
fit.x = out.getX() + ((out.getWidth() - fit.width) / 2);
fit.y = out.getY();
}
// if ((in.getWidth() / in.getHeight()) != (fit.width / fit.height)) {
// throw new RuntimeException();
// }
// if (!fit.contains(fit)) {
// throw new RuntimeException();
// }
return fit;
}
#14-19 - инлайн тесты!
а вы говорите - юнит-тесты...
Lure Of Chaos,
27 Июня 2013