ИТ фирми и пракси во Скопје

Член од
14 јануари 2015
Мислења
6.645
Поени од реакции
10.004
Во последно време тука негде се. C# и.Net е најбарано кај нас моментално.

Малку мрзам да го кажам ова зашто и јас сум PHP прогамер, ама статистиката не е баш некое мерило зашто тие страни се 1-click wordpress сајтови.
Не се потпирам само на статистиката, еве постојано ги следам огласите тука кај нас и гледам што најчесто бараат.
Може ние сме спешл кејс па уште работиме јазици што надвор губат на популарност.
Јас работам најголем дел од времето со: Python, Javascript + бази (PostgreSQl, Oracle, MS SQL) и апла ретко налетувам за огласи со пајтон, а и тие што се се обично за Machine Learning и AI, од друга страна пак со: .NET, PHP, Java инаш нон стоп отворени огласи.
 
Член од
26 јануари 2009
Мислења
8.653
Поени од реакции
11.116
Во последно време тука негде се. C# и.Net е најбарано кај нас моментално.

Малку мрзам да го кажам ова зашто и јас сум PHP прогамер, ама статистиката не е баш некое мерило зашто тие страни се 1-click wordpress сајтови.
Меѓу другото и сајтови како Порнхаб, Редтјуб, XHamster со по 20 - 30 милијарди посетители годишно
 

Емкаа

крофни од драго.
Член од
14 мај 2008
Мислења
3.839
Поени од реакции
7.647
На кој било што започнува кариера сеа не би му препорачала да се насочи кон програмирање, туку кон Devops. Според мене, најбарана и најплатена позиција со најголеми можности во иднина и моментално е таа. Дали pure devops, дали SRE, со познавање на тоа поле нема грешка.
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
5.434
Поени од реакции
3.838
Во последно време тука негде се. C# и.Net е најбарано кај нас моментално.

Малку мрзам да го кажам ова зашто и јас сум PHP прогамер, ама статистиката не е баш некое мерило зашто тие страни се 1-click wordpress сајтови.
Меѓу другото и сајтови како Порнхаб, Редтјуб, XHamster со по 20 - 30 милијарди посетители годишно
Never gets old...

 

LepiDzoni

Profesionalen ulichen cigan
Член од
25 јули 2014
Мислења
890
Поени од реакции
1.700
Шефе што бидна со GО, едно време тоа го проповедаше? :)

1. php е синтаксички побогат јазик од јаваскрипт
2.
JavaScript in Node.js (just like in the browser) provides a single threaded environment. This means that no two parts of your application run in parallel; instead, concurrency is achieved through the handling of I/O bound operations asynchronously

А piece of CPU-bound code in a Node.js instance with thousands of clients connected is all it takes to block the event loop, making all the clients wait. CPU-bound codes include attempting to sort a large array, running an extremely long loop, and so on. For example:

function sortUsersByAge(users) {
users.sort(function(a, b) {
return a.age < b.age ? -1 : 1
})
}

додека кај php nginx го хендла ова малку поинаку. Колку подобар хардвер имаш, толку повеќе реквести ќе хендла. Така имаш 8 јадрен процесор да речеме, aко си на линукс имаш команда да провериш - nproc. И да речеме дека имаш 8 јадра, на секое од тие јадра може да се ранува по еден worker процес на nginx. Секое од тие јадра има и капацитет на број на конекции (можеш да провериш со ulimit -u). Да речеме дека има капацитет од 65.000 конекции. 8 * 65000 = 520.000 конкурентни реквести.
3. php е објектно ориентиран јазик, јаваскрипт не е. Новостите воведени во ES6 се syntactic sugar. Така што во php можеш да изградиш апликација која ги почитува OO концептите, што е предуслов за чиста архитектура.
4. Ларавел, најпознатиот php framework, има мантра да ги прави девелоперите среќни, заради тоа и многу луѓе се навлечени на него и целиот процес на пишување код е песна. Отвори код во Ларавел и отвори код во Ноуд. Синтаксата во Ларавел е експресивна и е лесна за човек да ја разбере па дури и ако тој човек гледа код напишан во Ларавел за прв пат во живот. Во Ноуд не е баш така, знам пошто куцам и тоа.
5. Асинхроно извршување може да значи и побрзо извршување, но ако имаш функција која чека аутпут од претходна функција која враќа промис може да биде сосема обратно, а ако не враќа промис значи сигурно баг.
Rabotam so GO vekje edna ipol godina. GO kako ekosistem na dependencii e nesto sto i NPM i composer mozat da podzavidat. Bash ekstendirav eden CMS vo GO pred nekoe vreme. Za da povrzes modul se sto ti treba e link do github. Neverovatna rabota, drajveri za redis, drajveri za postgre, JWT cuda... klik.

But I digress. Ajde da razmenime nekolku misli.

1. Mozebi, ama seuste nema prvoklasni funkcii i lambdi.
2. Da, znam kako raboti Node. Zaradi single tredot node ne se preporacuva za CPU intensive bekendi koi sto rabotat so na primer obrabotka na sliki, videa, audio, big data itn. Ama sigurno ne e ni PHP. Mislis php gi koristi site 8 jadra na kompjuterot? Mislis deka mozes da napravis enterprise aplikacija za obrabotka na big data vo laravel na nginx? Ja ti vikam nema shansi. PHP ne se ni kompajlira, sto znaci nema low level optimizacii. No ova e ok. PHP ne e takov jazik kako Java ili C# ili C++. Ne naogjam problem so ova.

Megjutoa eve ti eden presvrt. Node iako e single threaded, mozam da go razmnozam vo mal k8s swarm so 10-20 instanci i da go kacam na cloud so edno reverse nginx proxy. Sekoja instanca e compajliran C++ i si ima svoj rezerviran thread. Ja delat rabotata so pomos na Kafka i fakticki sekoj thread e optimiziran za da sprecuva thread block.
Sho treba za 10 node instanci? Docker + node binary + alpine

Ako sakash istovo da go postignesh so php shto ke ti treba?
Docker + Ubuntu + Nginx + php drajveri + php moduli + baza +++
Vo ovoj kontekst php e ednostano neskalabilen vo moderniot svet, dodeka Node ne e (za golang pa da ne praime muabet).

3. So what? Ja koristam javascript samo za CLI skriptanje, za se drugo koristam TypeScript. Baska kako sto spomnav pogore, javascript e composable, ima prvoklasni funkcii, ima closures, ima chaining, currying, partial application... Ovie raboti mi se duri pobitni od klasi.

4. Kul. Istata prikazna kako Ruby on Rails. Nemam problem so ova, ako ti e komotno da rabotis u nesto, produzi. Samo ne daj boze da treba da go ekstendirash core-ot. E togas tesko tebe. Ekspress e okolu 500 linii kod. Ja cenam minimalizam.

5. E dobro de, refaktoriraj vo plain old callback. Sto e tuka problemot? Ja li da te ucam? :D
Автоматски споено мислење:

Меѓу другото и сајтови како Порнхаб, Редтјуб, XHamster со по 20 - 30 милијарди посетители годишно
Cisto sumnjam deka bekendot na pornhab e vo php. Strimanje video i opsto big data bara low latency i red drugi raboti sto mozat samo java i dotnet da gi dozvolat.
I golang.
 
Член од
3 јуни 2018
Мислења
11
Поени од реакции
7
Јас проверив на ова пишува дека е во пхп
Автоматски споено мислење:

За SEO i digitalen marketing од каде е најдобро да се учат туториали?
 
Последно уредено:
Член од
26 јануари 2009
Мислења
8.653
Поени од реакции
11.116
Хм, занимливо. Јас пошто немам работено со go имам слушнато дека кубури со библиотеки, но муабетот беше одамна, сега може се смениле работите.

1. Не сум знаел. Овие новиве arrow functions (по старо анонимни функции или closures) како се викаат тогаш?

PHP:
<?php

declare(strict_types=1);

class User {
    public int $id;

    public function __construct(int $id) {
        $this->id = $id;
    }
}

$users = [new User(1), new User(2)];

$ids = array_map(fn (User $user) :int => $user->id, $users);

var_dump($ids);
2.
За вторoво во врска со node си во право, иако не ти треба nginx пошто node си има core модул Cluster. Nginx можеш да го искористиш како load balancer.

php се компајлира до intermediate byte code а потоа тој код се интерпретира од енџинот.

Soon...

1596153563088.png

Ништо од наведеново, ниту па наведениве работи имаат врска со spawning processes. Ако си конфигурирал nginx сервер имаш синтакса во конфиг фајлот со која можеш да му ја доделиш задачата на самиот nginx да определи колку ворекери ти требаат во зависност од бројот на тредови на процесорот. Исто можеш да сетираш колку конекции секој воркер може да хендла нормално релативно во однос на максималниот број на конекции коишто тредот може да ги прифати. Од каде од сево ова ти заклучи дека php е нескалабилен?

Screenshot from 2020-07-31 01-26-15.png

3.
Тебе што ти е битно и не е така релевантно. Битно е кога после 6 - 7 години девелопмент на проект ќе го отвориш кодот и нема да се чудиш или да те маваат панични напади.
4. Јебеш фрејмворк во кој треба да го мењаш корот. Open for extension, closed for modification.
5. Единствена предност е асинхроно извршување (побрзо е, non blocking callbacks). Но конкретната предност во примерот што ти го дадов се претвора во недостаток. Но тебе неколку пати ти имам спомнато, си има и тука php коњ за трка. Сеуште непознат и се нервирам и јас што постојано немам време да му седнам да го проучам.

6. Сигурно ти е инфото. :) И да, бекендот со исклучок на понекој сервис напишан во јава е pure php. Како што веќе самиот спомна Architecture of distributed systems и максимална утилизација на кешинг сервиси, да не речам 100%.
 
На врв Bottom