Giter VIP home page Giter VIP logo

goupaz.com's Introduction


Forem 🌱

For Empowering Community

Build Status GitHub commit activity GitHub issues ready for dev GitPod badge

Welcome to the Forem codebase, the platform that powers dev.to. We are so excited to have you. With your help, we can build out Forem’s usability, scalability, and stability to better serve our communities.

What is Forem?

Forem is open source software for building communities. Communities for your peers, customers, fanbases, families, friends, and any other time and space where people need to come together to be part of a collective. See our announcement post for a high-level overview of what Forem is.

dev.to (or just DEV) is hosted by Forem. It is a community of software developers who write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place within our community. ❤️

Table of Contents

Community

For a place to have open discussions on features, voice your ideas, or get help with general questions please visit our community at forem.dev.

Contributing

We encourage you to contribute to Forem! Please check out the Contributing to Forem guide for guidelines about how to proceed.

Getting Started

This section provides a high-level quick start guide. If you're looking for a more thorough installation guide (for example with macOS, you'll want to refer to our complete Developer Documentation.

We run on a Rails backend, and we are currently transitioning to a Preact-first frontend.

A more complete overview of our stack is available in our docs.

To launch Forem in Gitpod, navigate to https://gitpod.io/#https://github.com/{your_github_username}/forem.

Prerequisites

Local

Containers

Linux

OS X

Installation Documentation

Please see our installation guides, such as the one for macOS.

Developer Documentation

Check out our dedicated docs page for more technical documentation.

Core team

Vulnerability disclosure

Forem is the open source software which powers DEV.

We welcome security research on DEV under the terms of our vulnerability disclosure policy.

Acknowledgements

Thank you to the Twemoji project for the usage of their emojis.

Thank you to Uffizzi for providing ephemeral environments to preview pull requests.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.

Like many open source projects, we require that contributors provide us with a Contributor License Agreement (CLA). By submitting code to the Forem project, you are granting us a right to use that code under the terms of the CLA.

Our version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under Creative Commons CC0 1.0 Universal.

Any questions, please refer to our license FAQ doc or email [email protected].


Sloan, the sloth mascot
Happy Coding ❤️

⬆ Back to Top

goupaz.com's People

Contributors

agilaghamirzayev avatar arlington1985 avatar axellos162 avatar codestoyevsky avatar dependabot[bot] avatar efops avatar eming avatar gigantz avatar humay555 avatar jalilazay avatar jumshudsultan avatar mshukurlu avatar nabizade avatar narkoz avatar nasehbadalov avatar nurlana01 avatar ogasimli avatar orkhan-huseyn avatar pennylele avatar rasimab avatar rbutdayev avatar sakomws avatar sakows avatar siddhantprateek avatar zulfiyya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

goupaz.com's Issues

Amerikada iş.

Bu gün Bakıda yaşayan bir Software Developer Amerikada iş tapmaqçün nə etməlidir?
Əgər tələblər kifayət qədərdisə zəhmət olmasa sadalayardız.

X86 vs ARM processors

@drmint80 , isiqlandir bizleri zehmet olmasa. Harada hansini istifade etmak yaxsidir? Use case-lerle soylesen ela olardi

Network for DevOps engineers

I would recommend the following for reading and video for developers moving to DevOps role :
http://www.ciscopress.com/markets/detail.asp?st=44711
There are video courses and books on this link which should suffice for general understanding of networking. Don't be worried about learning something vendor specific - Cisco is a standard developer for the industry.

Best free emulator/simulator software (Might require some effort to get it properly configured, up and running. But, do not get stuck into how the software works. It has almost unlimited number of features and there is no point to waste time on perfecting the GNS3 itself. Its just a tool):
https://www.gns3.com/

Free labs and challenges:
https://gns3vault.com/labs

Session07 Mentioned books

Webinara qoşula bilmədim youtube-dan baxdım videoya çox maraqlı idi.
İstifadə olunan ədəbiyyat siyahısı mənədə maraqlıdı. O barədə issue görmədim ona görə mən açdım. Əlavə issue-də və ya burada paylaşılsa yaxşı olar.

https://youtu.be/s6FXRsO3mqs?t=2464

Type inference in programming languages.

Bu dillərin əsas xüsusiyyətlərinnən biri Type checking-dir. İlk öncə type checking haqqında danışaq. Compiler-lar type checking prosesini 2 variant ilə edir birincisi dynamic typing digəri isə static typing. Dynamic Type Checking-də compiler/interpreter type checkingi run time edir buda problemlərə type errors gətirib çıxarır ki development-də bunu UB (undefined behavior/runtime errors) adlandıra bilərik. Çünki compiler bu halda type checking run time aparır (Python kimi dillərdə):
x = 1
y = "X"
Buda həm performans itkisi həmdə çoxlu type error-ları ilə nəticələnir.
Static typed dillər isə type checking prosesini compiler time görür və buda öz növbəsində daha yüksək performans və optimizasiya imkanları verir:
Məsələn type safety prosesini static typed dillər aparır. Bu halda compiler dəyişənə aid value validasiya edir və type error-ları maksimum azaltmağa çalışır. Məsələn gcc compiler bəzi yollarla type safety təmin etməyə çalışır yəni biz bir casting və ya punning edilmədikcə biz 2 fərqli object/struct convert və ya assign edə bilmərik. e.g:

#include <stdio.h>
#include <string.h>
int main(){
char chr[0x41];
printf("%d", chr);
}
vmx@kerneldev:~/Documents/mycompiler$ clang-7 -o int int.c
int.c:9:15: warning: format specifies type 'int' but the argument has type 'char *' [-Wformat]
printf("%d", chr);
~~ ^~~
%s

Bu halda format string specifier integer olduğu halda arqumentin character olduğunu görürük bu halda compiler verification stage-də buna imkan vermir (eliminate type errors). Daha secure sayılır bu halda əlbəttə (Baxmayaraq ki C birçox UB/US halları ilə doludur.)
Bu prosesi Compiler parser-dən (Syntax analysis) sonra semantic analiz stage-də edir compiler-in aldığı source code AST (Abstract syntax tree) structure istifadə edərək parser-dən gələn field/token/statement-ləri AST üzərinə parçalayır və type checking prosesini bu stage-də aparır.

compiler

Sonra isə compiler type checking və assignment əməliyyatlarını aparır. Golang, Rust, C++ (newer) kimi dillər developer friendly type inference xüsusiyyətinidə əlavə edirlər yəni expression-a aid type-ı avtomatik olaraq detect edə bilirlər məsələn əgər biz GO-da type-sız hər hansı bir variable təyin etsək analyzer avtomatik olaraq təyin olunmuş variable-a aid tipi infer edir.


var i int
j := i // j is an int
in C++
map<int,list<string>>::iterator i = m.begin();
auto i = m.begin(); //inferer type automatically

Gələk Golangın bu işi necə görməsinə go compiler əsas bizə lazım olan 2 stage-dən ibarətdir:

  1. Parsing
    Bu stage-də hər source üçün syntax tree, tokenized (lexical analysis), parsed (syntax analysis) yaradılır.
    e.g:
    Parse stage:
// Parse parses a single Go source file from src and returns the corresponding
// syntax tree. If there are errors, Parse will return the first error found,
// and a possibly partially constructed syntax tree, or nil.
//
...
func Parse(base *PosBase, src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, first error) {
...
var p parser
p.init(base, src, errh, pragh, mode) < === Start for parsing
p.next()
return p.fileOrNil(), p.first
}
// ParseFile behaves like Parse but it reads the source from the named file.
func ParseFile(filename string, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) {
f, err := os.Open(filename)
...
return Parse(NewFileBase(filename), f, errh, pragh, mode)
}
Example tokens:
// Def is the : in :=
Def // :
Not // !
Recv // <-
// precOrOr
OrOr // ||
// precAndAnd
AndAnd // &&
// precCmp
Eql // ==
Neq // !=
Lss // <
Leq // <=
Gtr // >
Geq // >=

Daha sonra 2-ci stage-də Type-checking və AST transformation edir. Burada artıq AST representation hazırlanaq type checking (static) edilir.
Type inference-də bu stage-də baş verir yəni objectin hansı identifier-ə məxsus olduğu detect edilir. Bayaq bildirdiyim kimi infer ediləcək variable-ın tipi yəni. Bu stage gc package-ında baş verir (cmd/compile/internal/gc/typecheck.go)

var _typekind = []string{
TINT: "int",
TUINT: "uint",
TINT8: "int8",
TUINT8: "uint8",
TINT16: "int16",
TUINT16: "uint16",
TINT32: "int32",
TUINT32: "uint32",
TINT64: "int64",
TUINT64: "uint64",
TUINTPTR: "uintptr",
TCOMPLEX64: "complex64",
TCOMPLEX128: "complex128",
TFLOAT32: "float32",
TFLOAT64: "float64",
TBOOL: "bool",
TSTRING: "string",
TPTR: "pointer",
TUNSAFEPTR: "unsafe.Pointer",
TSTRUCT: "struct",
TINTER: "interface",
TCHAN: "chan",
TMAP: "map",
TARRAY: "array",
TSLICE: "slice",
TFUNC: "func",
TNIL: "nil",
TIDEAL: "untyped number",
}
// typecheck type checks node n.
// The result of typecheck MUST be assigned back to n, e.g.
// n.Left = typecheck(n.Left, top)
func typecheck(n *Node, top int) (res *Node) {
...
}

Buradaki prosedurlar çox uzun olduğu üçün çox yazmıram koddan analiz edilə bilər. Daha sonra 3-cü stage var hansı ki burada AST representation-dan SSA (Static single assingment) formasına çevrilir (IR representation). Burada artıq code generation və optimizasiya əməliyyatları aparıla bilir.
Bu stage önəmli stage-dir hansı ki, burada compiler kod generator üçün optimizasiya edir (machine dependent və ya machine indepentd)
Generasiya edilən SSA formasına baxaq:
source code:

package cozloveyou
func optMulADD(a, b, c float64) float64 {
return a*c + b
}
optMulADD <T>
b1:
v1 = InitMem <mem>
v2 = SP <uintptr>
v3 = SB <uintptr> DEAD
v4 = Addr <*float64> {a} v2 DEAD
v5 = Addr <*float64> {b} v2 DEAD
v6 = Addr <*float64> {c} v2 DEAD
v7 = Addr <*float64> {~r3} v2
v8 = Arg <float64> {a}
v9 = Arg <float64> {b}
v10 = Arg <float64> {c}
v11 = Const64F <float64> [0] DEAD
v12 = Mul64F <float64> v8 v10
v13 = Add64F <float64> v12 v9
v14 = VarDef <mem> {~r3} v1
v15 = Store <mem> {float64} v7 v13 v14
Ret v15

Daha sonra Golang tərəfindən təyin edilmiş optimizasiya rule-ları ilə optimizasiya tətbiq edili (cmd/compile/internal/ssa/gen/genericOps.go).

var genericOps = []opData{
// 2-input arithmetic
// Types must be consistent with Go typing. Add, for example, must take two values
// of the same type and produces that same type.
{name: "Add8", argLength: 2, commutative: true}, // arg0 + arg1
{name: "Add16", argLength: 2, commutative: true},
{name: "Add32", argLength: 2, commutative: true},
{name: "Add64", argLength: 2, commutative: true},
{name: "AddPtr", argLength: 2}, // For address calculations. arg0 is a pointer and arg1 is an int.
{name: "Add32F", argLength: 2, commutative: true},
{name: "Add64F", argLength: 2, commutative: true},

Golang bütün bunları compile time edərkən Python run time (fərqli prinsip-lər ilə) edir. Digər bir məsələ isə önəmli deyərdim concurrency patternidir. Golang built-in gouroutine direktivinə sahibdir hansı ki funksiyaları concurrent icra etmək mümkündür Python-da isə modul ilə edirik və İnterpreter GİL (GLobal Interpreter Lock) mexanizmi ilə güləşə güləşə qalır. Digər bir xüsusiyyəti isə Memory Sharing məsələsidir. Hansı ki, mən həmişə multi-threading istifadə etdikdə thread-lər arasında communication əsas məsələdir. GOlang memory sharing/communication üçün channel istifadə edir hansı ki biz burada thread-lər arasında məlumat mübadiləsini rahatlığla apara bilərik.

ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType

Burada isə həm non-blocking (I/O Bound) həmdə blocking (CPU Bound) mexanizmini istifadə edə bilərik. Bu daha çox əməliyyat sistemində tərəfində olan prosesdir (Kernel depended). Bu haqda daha sonra yazaram))))
Golang əsas olaraq sistem tərəfli dil sayılır. Çox vaxt belə fikirlər eşidirəm ki, dil alətdir əsas dil deyil bu əslində belə deyil hər dilin öz xüsusiyyəti var onu necə istifadə edilməsidir əsas məsələ. Yuxarıda qeyd etdiyim 2 faktor mənim üçün əsas məsələdir bunların fərqləri üçün.

Team Learning

Do you want to start learning something new? Do you want to get some certification but too lazy for starting? Don't worry, you are not alone :) But I have an offer for you. Let's do it together. I believe collaborative work might accelerate the process and get rid of the excuses. And yes, It's fully FREE. Just let's do it. Feel free to list underneath interesting pathway and based on majority will pick up starting topic.

Data science and machine learning

Salam. Data science/machine learning le bagli da gorushleriniz olur? men iki ildir ki bu saheni oyrenirem ve hal hazirda bu sahede remote ish axtariram.

Hormetle,
Mohsun

Community Manager Role in GOUPAZ?

GOUPAZ project is looking for volunteer Community Manager who will be able to take it from 0 to hero and help us build smart, fun and egoless community:

Duration: 2month, September01-November01. 
Weekly load: 2-4h

Duties:

1. Make list of Azeris living abroad and have interesting profile in tech and propose talk 
2. Using template announce in fb groups, slack channel about Speaker talk including: date, topics, background of speaker, linkedin profile and Project Github page
3. Sent email to people in Mailing list for talk
4. Prepare questions for Speaker 
5. Start meeting on time and record talk
6. Share recording and key points from talk
7. Update github page with slides/recording
8. Monthly meeting with GOUPAZ leadership team

What you will get, is mainly limited by you.
Some of them:

1. Network of great people
2. Uptodate with tech trends
3. Endorsement from peers
4. Leadership skills on job
5. Add in their profile as core contributor for Country Level Open Source Project
6. References to any top companies by mentors

In case interested, please fill the form selecting Community Manager in list.

https://docs.google.com/forms/d/16jE9TGSPdAmPmFRUHmmhb0phAP7UhMGlXz3Xh-SekMo

Çexiyada iş imkanları

Junior Developer üçün Çexiyada, ümumilikdə Avropada iş imkanları nə qədərdir? Nə qədər realdır?

Let's define our rules together

As we are pure new organization, community, we really need to define our acting rules together. We don't have any concrete predefined model yet. I would like all our members be proactive and comment their thoughts how they would like to see this community in future. It's not just for me, you. This is pioneer open source community which we believe has great feature and will contribute our IT community to grow up. So it's time to define our future.

AWS Certified Engineer?

Who wants to become an AWS certified Engineer? Please comment down, I am too lazy to do it alone. My offer is let's have defined time in a day and do it together within a remote session. No any teacher here, everyone is a student, we will learn from each other and from online courses. Will prepare a list of courses which we can collect and decide how to proceed. You are more than welcome to contribute.

PHP development

Avropa da və Amerika da PHP-nin bazar dəyəri hansı səviyyədədir.
PHP ilə iş imkanları hansı çoxluqdadır
düzdür daha çox Python Java Nodejs kimi texnoloiyaların iş elanlarını görürəm az qisim yer verir PHP-yə. Yəni gərəksizmi görülür PHP?

Next 6 month road map as software engineer?

I am a backend developer that approximately 3 years of hands-on experience as a java developer.
After failure recent interview processes I decided to improve my skills on these branches.
I am open any suggestion to make reform my road map. Thank in advance.

*Algorithms
Learn implementation of most known algorithms(Sorting, searching, etc.).
Practice hackerrank, leetcode, dailycodingproblem.
Practice whiteboard coding.
*DataStructures
Learn all available DS in CS.
Learn how to implement your own data structure.
*Java
Improve core java skills including multithreading, serializable, socket programming and etc.
Improve framework skills (Spring boot).
Design patterns.
Unit testing.
*Operations
Linux from Evi Nemeth.
Learn about DevOps tools and technologies.
Learn network fundamentals. (OSI layers, network protocols, subnetting, etc.)
Architectural design.

Intro to Startup books?

  1. Zero to One by Peter Thiel/Blake Masters
  2. The Lean Startup by Eric Ries
  3. The Startup Owner's Manual by Steve Blank

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.