- 1
- 2
- 3
- 4
- 5
private static final String IPADDRESS_PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+134
private static final String IPADDRESS_PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
Сначала статья по регуляркам, а потом хороший, годный пример для ip)
+152
public function actionAddnumber()
{
$model = $this->loadUser();
if(!$model->profile->mobile1) {$model->profile->mobile1=$_POST['number'];
}elseif(!$model->profile->mobile2){$model->profile->mobile2=$_POST['number'];
}elseif(!$model->profile->mobile3){$model->profile->mobile3=$_POST['number'];
}elseif(!$model->profile->mobile4){$model->profile->mobile4=$_POST['number'];
}elseif(!$model->profile->mobile5){$model->profile->mobile5=$_POST['number'];
}elseif(!$model->profile->mobile6){$model->profile->mobile6=$_POST['number'];
}else{ echo "Больше нет свободны номеров"; yii::app()->end(); }
echo " Сохранено";
$model->profile->save();
yii::app()->end();
}
Yii
+64
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;
public class Chapter4 {
/*
* find minimal difference symbols words in line; if words count > 0, print
* first word;
*/
public LinkedList<String> wordsList = new LinkedList<>();
public ArrayList<String> minUniqueSimbolWords = new ArrayList<String>();
final int wordsCount = 3;
public void run() {
System.out.println("Iveskite " + wordsCount + " zodzius: ");
Scanner scan = new Scanner(System.in);
for (int i = 0; i < wordsCount; i++) {
wordsList.add(scan.nextLine());
}
scan.close();
addMinUniqueSimbolCountWordsToList();
if (minUniqueSimbolWords.isEmpty()) {
System.out.println("not unique words");
return;
}
printUniqueSimbolWords();
}
private void printUniqueSimbolWords() {
System.out
.println("");
for (String s : minUniqueSimbolWords) {
System.out.println(s);
}
}
private void addMinUniqueSimbolCountWordsToList() {
for (String word : wordsList) {
if (minUniqueSimbolWords.isEmpty()) {
minUniqueSimbolWords.add(word);
} else {
int count = getUniqueSimbolCount(word.toCharArray());
addMinUniqueSimbolsCountWord(word, count);
}
}
}
private void addMinUniqueSimbolsCountWord(String word, int count) {
int countOfFirstFromList = getUniqueSimbolCount(wordsList.getFirst()
.toCharArray());
if (count < countOfFirstFromList) {
minUniqueSimbolWords.clear();
minUniqueSimbolWords.add(word);
} else if (count == countOfFirstFromList) {
minUniqueSimbolWords.add(word);
}
}
private int getUniqueSimbolCount(char[] str) {
ArrayList<Character> lst = new ArrayList<Character>();
for (char c : str) {
if (!lst.contains(c)) {
lst.add(c);
}
}
return lst.size();
}
} // end class
еще одно задание
+138
Object.valuesNP = function(obj){
var result = [];
for (var i in obj)
if (obj.hasOwnProperty(i))
result.push(obj[i]);
return result;
};
function findCSS(name){
var css = document.styleSheets;
var flag = false;
var result = null;
Object.valuesNP(css).each(function(content,index){
if (!flag && content instanceof Object)
Object.valuesNP(content.cssRules).each(function(content,index){
if (content instanceof Object && content.selectorText == name && !flag ){
flag = true;
result = content;
}
})
});
return result;
}
Надо было поменять параметры некоторого класса(стиль). Ну и за пару минут было накидано вот енто.
Самое смешное, что через неделю это уже не потребовалось.
Вызывать так:
var buttonClass = findCSS('.buttonClass') || console.log('CSS .buttonClass not found');
+124
<!-- Вот люблю я HTML. Смотри, есть 2 страницы, которые лепятся скриптом в одну. Нам нужно скрыть часть второй на первой. -->
<!-- Как поступит нормальный вебмастер? Правильно, напишет скрипт, и доработает движок, чтоб не шёл инклюд в нужных местах. -->
<!-- Как поступлю я? Я добавлю лишний тег закрытия коммента в эту самую вторую страницу, а в нужном месте открою коммент, чтоб -->
<!-- он закрыл эту часть. Учись. Ох, и понаписал... -->
<!--
</table>
<table width="630" border="1" class="main">
<tr><td>
<form name="form">
<select name="site" size="1" class="menu_opt">
<option class="blu" value="">Навигация по сайту
<option class="red" value="index.html">Главная
....
</select>
<input type=button value="Go!" onClick="javascript:formHandler(this)">
</form>
</td></tr>
</table>
<!-- 1 -->
Как скрыть менюху внизу? Да очень просто, хоть и не валидно. Такой ужас удалось найти в одном из обслуживаемых порталов.
+148
function proton_username( $object ) {
if( $object->uid && $object->name ) {
$name = ( drupal_strlen( $object->name ) > 20 ) ? drupal_substr( $object->name, 0, 15 ) . '...' : $object->name;
$output = ( user_access( 'access user profiles' ) ) ? l( $name, 'pathTo/'. $object->uid, array() ) : ( ( $name === 'HideMe' ) ? '<a title="myNameIsNotAname" href="/pathTo" rel="hiddenMan">Fake Face</a>' : check_plain( $name ) );
}
Защита личной жизни
+154
$birthDate = "".($_POST['birthday'])."";
//explode the date to get month, day and year
$birthDate = explode("/", $birthDate);
//get age from date or birthdate
$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y")-$birthDate[2])-1):(date("Y")-$birthDate[2]));
узнайСвойВозраст,%userName%
+144
(function() {
var appBase = function( appId ) {
appId = appId || Math.floor( Math.random() * ( 1000 - 1 ) + 1 );
this.stack = {
methods: [ ], extends: { },
init: function( cfg ) {
this.creator( cfg );
this.bootstrap();
},
bootstrap: function() {
this.methods.init = null;
var param = new Object();
param.app = this.methods,
param.opt = this.setup;
param.__proto__ = null;
for( var i in this.setup.inits ) {
this.methods[ this.setup.inits[i] ].apply( param );
};
},
creator: function( cfg ) {
for( var mtd in cfg ) {
var flag = cfg[ mtd ].options[ 1 ] || null,
name = cfg[ mtd ].options[ 0 ] + "",
func = cfg[ mtd ].func;
this.methods[ name ] = func;
this.methods[ name ].name = name;
if( flag ) {
flag = flag.split('|');
if( flag[0] ) {
switch( flag[0] ) {
case 'init': this.setup.inits.push( name ); break;
case 'defer':
this.setup.defer.push( name );
this.setupTimer( [ flag[ 1 ], name, flag[ 2 ] - 0 ] );
break;
};
};
};
};
},
setupTimer: function( opt ) {
var tf = this.setup.timer[ opt[1] ],
tt = this.methods[ opt[1] ],
tm = opt[ 2 ] || 500;
switch( opt[0] ) {
case 'interval': tf = setInterval( tt, tm ); break;
case 'timeout': tf = setTimeout( tt, tm ); break;
};
},
flushTimer: function( id ) {
clearInterval( this.setup.defer[ id ] );
console.log( 'Interval '+ id +' Stoped!');
},
setup: {
appId: 'BiO Kernel' + appId, param: [ ], inits: [ ], defer: [ ],timer: [ ], flags: { }
}
};
this.stack.__proto__ = null; this.__proto__ = null;
};
var application = new appBase();
var app = application.stack;
var cfg = [
{
func: function() {
console.log( 'RUN [mtd_1] AT [init stage] => force [mtd_3]' );
this.app['mtd_3'].apply(this);
},
options: [ 'mtd_1' , 'init' ]
},
{
func: function() {
console.log( 'RUN [mtd_2] AT [init stage]' );
},
options: [ 'mtd_2' , 'init' ]
},
{
func: function() {
console.log( 'RUN [mtd_3] BY [mtd_1] FROM [init stage]' );
},
options: [ 'mtd_3' ]
},
{
func: function() {
console.log( 'run defered method #1 in timeout' );
},
options: [ 'deferedMethod_1', 'defer|timeout|8500' ]
},
{
func: function( ) {
console.log( 'run defered method #2 in interval' );
},
options: [ 'deferedMethod_2', 'defer|interval|500' ]
},
];
app.init( cfg, true );
})();
Съебаться из страны не получилось ): Оно не взламывалось вообще ... лимон так и не дали, а в жопу выебали через кого-то.
+144
$( '.video', tl ).each( function() {
if( this.id !== target ) {
// get other objects props
var snaper = $(this);
var left = getLeft( snaper );
var swidth = snaper.width();
// calculate snap positions
var leftSpan = left + swidth;
var rightSnap = cPos + swidth;
// if snap performed
if( cPos === leftSpan || rightSnap === left ) {
var mouse = getMouse( event, floater );
var shift = 5;
// if cursor goes out snaped object
if( shift === ( -1 * mouse ) || mouse === shift + swidth ) {
// difference in sizes
var diff = ( (fwidth - swidth) > 0 ) ? fwidth - swidth : swidth - fwidth;
// setup new positions
var fl = getLeft( floater );
var sl = getLeft( snaper );
// fix smaller position
if( fwidth > swidth ) {
fl += diff;
} else {
sl += diff;
}
// apply overlay to prevent blinking "dragable"
var overlay = $('<div id="overlay"></div>');
$('body').append(overlay);
$('#overlay').focus();
// reverse animation dock object
snaper.animate({'left': fl}, 1000);
// reverse animation floater
floater.animate({'left': sl}, 1000,
function(){
// unset overlay
$('#overlay').remove();
// return focus to floater object
floater.focus();
});
}
}
}
});
Обозвали лисповским червяком … Че сделать с плавной геометрической инверсией?
+12
void FileCreate(const char *name)
{
ofstream F;
F.open(name); // Create file
F.close(); //close the file
}
void InputProduct(Product &b) //function for entering product
{
char c; int i=0;
cout<<"Input name of product \n";
// enter the string until you meet the character \n or EOF or until a limit is the number of symbols
for ( i=0; i<l_name && (c = getchar())!= EOF && c!='\n';++i )
b.name[i] = c ;
b.name[i]='\0'; // at the end of the line write the terminating line \0
// rest of code ...
}
Студенты такие студенты ...