SELECT DISTINCT name FROM dates
SELECT MAX(date), name FROM dates GROUP BY name
interface ArticleInterface
{
public function getTitle();
public function getAuthor();
}
interface ArticleAuthorInterface
{
public function getName();
public function getID();
}
public function renderArticle(ArticleInterface $article)
{
return $this->renderPartial('_article', [
'author' => $article->getAuthor(),
'title' => $article->getTitle()
]);
}
class Article extends ActiveRecord implements ArticleInterface
{
// ...
}
abstract class IMobile {
void prepare() {
System.out.println("Подготовим документы по продаже от ООО Билайн");
}
void setInternetTariff() {
System.out.println("Установим стандартный тариф Билайна для интернета");
}
void box() {
System.out.println("Упакуем в желтый пакетик");
}
}
class BeelineSamsung extends IMobile {
void setInternetTariff() {
System.out.println("Установим отдельный тариф для 5G интернета");
}
}
class BeelineIPhone extends IMobile {}
class BeelineStore {
public IMobile orderPhone(String type) {
IMobile phone = null;
if (type.equals("samsung")) {
phone = new BeelineSamsung();
} else if (type.equals("iphone")) {
phone = new BeelineIPhone();
}
phone.prepare();
phone.setInternetTariff();
phone.box();
return phone;
}
}
// использование
// var mobileStore = new BeelineStore();
// mobileStore.orderPhone("samsung"); <- клиентский код
class MobileFactory {
public IMobile getMobile(String type) {
if (type.equals("samsung")) {
return new BeelineSamsung();
} else if (type.equals("iphone")) {
return new BeelineIPhone();
}
return null;
}
}
class BeelineStore {
MobileFactory factory;
public BeelineStore(MobileFactory factory) {
this.factory = factory;
}
public IMobile orderPhone(String type) {
IMobile phone;
phone = factory.getMobile(type);
phone.prepare();
phone.setInternetTariff();
phone.box();
return phone;
}
}
// использование
// var mobileFactory = new MobileFactory();
// mobileStore = new BeelineStore(mobileFactory);
// mobileStore.orderPhone("samsung"); <- замечу, клиентский код не изменился
abstract class BeelineStore { // класс становится абстрактным
protected abstract IMobile getMobile(String type); // возвращается метод getMobile
public IMobile orderPhone(String type) {
IMobile phone = getMobile(type);
phone.prepare();
phone.setInternetTariff();
phone.box();
return phone;
}
}
class CenterBeelineSamsung extends IMobile {
void setInternetTariff() {
System.out.println("Отдельный тариф для 5G интернета в центре России");
}
}
class CenterBeelineIPhone extends IMobile {}
class СenterBeelineStore extends BeelineStore {
public IMobile getMobile(String type) {
if (type.equals("samsung")) {
return new CenterBeelineSamsung();
} else if (type.equals("iphone")) {
return new CenterBeelineIPhone();
}
return null;
}
public void tradeIn(String phone) {
System.out.println("Вы обменяли старый телефон на новый с доплатой");
}
}
class UralBeelineSamsung extends IMobile {
void setInternetTariff() {
System.out.println("Отдельный тариф для 5G интернета на Урале");
}
}
class UralBeelineIPhone extends IMobile {
void setInternetTariff() {
System.out.println("Отдельный тариф для стандартного интернета на Урале");
}
}
class UralBeelineStore extends BeelineStore {
public IMobile getMobile(String type) {
if (type.equals("samsung")) {
return new UralBeelineSamsung();
} else if (type.equals("iphone")) {
return new UralBeelineIPhone();
}
return null;
}
}
// использование
// var centerBeelineStore = new СenterBeelineStore();
// centerBeelineStore.orderPhone("samsung");
// var uralBeelineStore = new UralBeelineStore();
// uralBeelineStore.orderPhone("samsung");
yandex-browser-beta_20.8.3.361-1_amd64.deb not found.
actual file is yandex-browser-beta_20.9.3.189-1_amd64.deb
please update pkgbuild
git clone https://git.tuxnix.ru/nixscript/yandex-browser-beta.git
cd yandex-browser-beta
makepkg -sri
git clone https://aur.archlinux.org/yandex-browser-beta.git
cd yandex-browser-beta
pkgver=20.9.3.189_1
_pkgver=20.9.3.189-1
pkgrel=1
md5sums=("8d06743c89c1f63f18ceeacedd74da84")
makepkg -sri
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
public class AppendingObjectOutputStream extends ObjectOutputStream
{
public AppendingObjectOutputStream(OutputStream out) throws IOException
{
super(out);
}
@Override
protected void writeStreamHeader() throws IOException
{
// do not write a header, but reset:
// this line added after another question
// showed a problem with the original
reset();
}
}
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObjectStreamTest
{
public static void main(String[] args) throws IOException, ClassNotFoundException
{
String filename = "objFile.bin";
writeObject(filename, new String("Test1"));
writeObject(filename, new Integer(10));
writeObject(filename, new Long(200));
writeObject(filename, new String("Test2"));
readObjects(filename);
}
public static void writeObject(String filename, Object obj) throws IOException
{
File file = new File(filename);
FileOutputStream fos = null;
ObjectOutputStream oos = null;
if ( file.exists() )
{
fos = new FileOutputStream(file, true);
oos = new AppendingObjectOutputStream( fos );
}
else
{
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
}
oos.writeObject(obj);
oos.close();
fos.close();
}
public static void readObjects(String filename) throws IOException, ClassNotFoundException
{
FileInputStream fis = new FileInputStream(filename);
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj = null;
try
{
while ( (obj = ois.readObject() ) != null )
{
System.out.println("Object class is : "+obj.getClass().getName());
}
}
catch (EOFException e)
{
System.out.println("End of file reached.");
}
ois.close();
fis.close();
}
}
class A {
public void superMethod() {}
}
class B extends A {
@Override
public void superMethod() {}
}
class Test {
public function test() {
}
public static function test() {
}
}
Сеошники выдвигают в качестве требований такую дичь по одной причине, что бы потом оправдать свои плохие результаты. Они прекрасно знают что это повлияет на результат чуть больше чем на ноль процентов. Но когда придут подписывать акт о закрытии работ и на вопрос почему нет результата, первое что они скажут: "Ваши айтишники не выполнили наши требования".
pdo_mysql.ini
extension=pdo_mysql.so
/etc/php.d
/usr/lib64/php/modules/pdo_mysql.so
/etc/php-fpm.conf
/etc/php.ini
/etc/php-fpm.d/www.conf