Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (21)

Лучшие ответы пользователя

Все ответы (17)
  • В каких случаях стоит переписывать сайт с нуля?

    @frantic
    1. 99.9% программистов жалуются на код, написанный его предшественниками.
    2. 99.9% программистов жалуются на код wordpress
    3. 99.9% программистов хотят все переписать по своему. И часто это самопис.

    Конечно я утрирую. Но суть в том, что программисту все равно на риски чужого или почти чужого проекта. Он думает о коде. Его красоте, эстетичности, удобстве и т.д. НЕ доверяйте программистам, особенно молодым.

    Взвести риски и траты. Послушайте аргументацию программиста. Вас должны интересовать конкретные проблемы. А не абстрактные заявления. В wordpress код сущий ад. Но в сети очень много сайтов на этом движке и с очень большой посещаемостью.

    К тому же самопис вам точно не нужен. Его сопровождать никто не будет, кроме автора. Если решитесь, то используйте популярный фреймворк. Symfony, Yii, Laravel. Под них вы всегда сможете найти специалиста.

    Если у вас нет проблем с производительностью, если вы не теряете прибыль, если не страдает скорость разработки, то точно думать о переписывании не стоит. Баги и недочеты есть в любом проекте и их нужно исправить.
    Ответ написан
    Комментировать
  • Выбрать СУБД между MySQL, PostgreSQL, MariaDB и MSSQL?

    @frantic
    Выбирайте то, что знаете лучше!

    Если MySQL, то рассмотрите MariaDB или Percona. Да и на них вы сможете переехать с MySQL в любое время, так как они обратно совместимы.
    Судя по вашим данным, вопрос нагрузки при учете прямых рук, возникнет перед вами года через два-три. А преждевременная оптимизация может погубить проект.

    И постарайтесь максимально отказаться от JOIN'ов. Как правило из-за них возникает большинство проблем.
    Ответ написан
    Комментировать
  • Многоуровневая UITableView?

    @frantic
    Делал подобное.

    На входе миссив (NSArray), у каждого элемента есть уровень. Пробегал по массиву и создавал вьювы со сдвигом влево. Потом это все пихал в UITableViewCell.

    -(void) flateCommentsData:(NSArray *)_data withLevel:(NSInteger)level
    {
      NSEnumerator * dataEnum = [_data objectEnumerator];
      
      NSDictionary * commentData;
      
      while (commentData = [dataEnum nextObject])
      {
        SModelComment * commentModel = [[SModelComment alloc]init];
        
        [commentModel set:@"id" withValue:[commentData objectForKey:@"id"]];
        [commentModel set:@"text" withValue:[commentData objectForKey:@"text"]];
        [commentModel set:@"userId" withValue:[commentData objectForKey:@"userId"]];
        [commentModel setLevel:level];
        
        CGRect cellRect = CGRectMake(commentModel.level*5, 0, 320 - commentModel.level*5, 0);
        UIView * cellView = [[UIView alloc] initWithFrame: cellRect];
        
        //add avatar
        SModelUser * user = [SModelUserPeer loadObjectById:[commentModel get:@"userId"]];
        UIImageView * avatarView = [[UIImageView alloc] initWithImage: user.smallAvatar.image ];
        avatarView.frame = CGRectMake(5, 7, 35, 35);
        [cellView addSubview:avatarView];
        
        //add username
        UILabel * usernameLabel = [[UILabel alloc] initWithFrame:CGRectMake(45, 5, cellRect.size.width - 75, 20)];
        usernameLabel.font = [UIFont boldSystemFontOfSize:14.0];
        usernameLabel.text = [user get:@"fullName"];
        [cellView addSubview:usernameLabel];
            
        //add text
        CGRect cellTextRect = CGRectMake(45, 25, cellRect.size.width - 75, 0);
        UILabel * cellTextLabel = [[UILabel alloc] initWithFrame:cellTextRect];
        cellTextLabel.text = [commentModel get:@"text"];
        cellTextLabel.font = [UIFont systemFontOfSize:12.0];
        cellTextLabel.numberOfLines = 0;
        [cellTextLabel sizeToFit];
        cellTextLabel.backgroundColor = [UIColor whiteColor];
        [cellView addSubview:cellTextLabel];
        
        
        CGRect textFrame = cellTextLabel.frame;
        textFrame.size.height = textFrame.size.height + 10 + usernameLabel.frame.size.height
        ;
        textFrame.size.height = textFrame.size.height > 50 ? textFrame.size.height : 50;
    
        cellRect.size.height = textFrame.size.height;
        cellView.frame = cellRect;
            
        NSMutableDictionary * item = [[NSMutableDictionary alloc] initWithCapacity:2];
        [item setObject:cellView forKey:@"view"];
        [item setObject:commentModel forKey:@"model"];
        
        [commentsList addObject:item];
        
        if ([commentData objectForKey:@"childs"])
        {
          [self flateCommentsData:[commentData objectForKey:@"childs"] withLevel:level+1];
        }
      }
    }
    


    потом

    -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    	NSDictionary * item = [commentsList objectAtIndex:indexPath.row]; 
    	UIView * cellView   = [item objectForKey:@"view"];
    	SModelComment * commentModel = [item objectForKey:@"model"];
    	
    	NSString * CellIdentifier = [NSString stringWithFormat:@"comment_cell_%d", [commentModel get:@"id"]];
    	
    	UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    	
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        }
    	
    	cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    	[cell.contentView addSubview:cellView];
    
        return cell;	
    }
    
    Ответ написан
    4 комментария
  • Как воспроизвести звук в приложении на JavaScript?

    @frantic
    Возможно эта библиотека поможет buzz.jaysalvat.com.
    Ответ написан
    Комментировать
  • Какой купить роутер?

    @frantic
    У меня стоит ASUS RT-N66U (http://market.yandex.ru/model.xml?modelid=7857439&hid=723087).

    Подключен по L2TP. Торенты качаются со скоростью 9.7 MB/s. Причем как по лану, так и по wifi. При этом гигабитная лан сеть из 5 компов работает без тормозов. В это время можно смотреть фильмы с локального сервака, сидеть в нете, играть в старик или доту2 и никто не заметит тормозов.

    Работает больше года. Советую.
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (1)