Pasang Iklan Atas 1

Down Menu

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Tuesday, October 23, 2018

Apa Artinya Menjadi 'Reactive?'


Saat ini, reactive adalah salah satu kata kunci yang trendi dalam pemrograman. Ini secara luas digunakan sebagai awalan untuk "sistem" dan "pemrograman," yang keduanya menggambarkan hal-hal yang sangat berbeda.
Namun, sebagai konsultan IT dan sponsor reaktif, saya memiliki banyak pengalaman dan percakapan di sekitarnya, tetapi pada dasarnya, pertanyaan utamanya selalu sama:
Apa artinya reactive?
Dan, langsung setelahnya:
Mengapa saya harus menggunakan reactive?
Meskipun ada banyak artikel yang berusaha menjelaskan - dengan cara yang mendalam - sistem reaktif, pemrograman reaktif, dan / atau kedua pertanyaan di atas, pertanyaan-pertanyaan ini masih tetap ada.
Sebagaimana disebutkan di atas, sistem reaktif tidak sama dengan pemrograman reaktif. Selain itu, mengenai sistem reaktif, manifesto reaktif menyatakan bahwa sistem reaktif lebih memperhatikan konsep-konsep klasik "sistem terdistribusi" yang didasarkan pada arsitektur "pesan-driven" (yaitu sistem reaktif adalah gaya arsitektur).
Setelah itu, pertanyaan telah dipindahkan ke pemrograman reaktif dan, lebih khusus lagi, bagaimana kerangka reaktif berkaitan dengan eksekusi asynchronous dan (famigerate) utas.
Di sini, masalahnya menjadi sedikit lebih rumit. Pertanyaan-pertanyaan ini didasarkan pada lingkungan implementasi yang berbeda dari loop pesan dan bagaimana cara kerjanya, misalnya, di node.js daripada di JVM.
Untuk menjawab pertanyaan-pertanyaan ini, saya memutuskan untuk menggambar komik sederhana menggunakan metafora restoran yang saya temukan berselancar di laut reaktif online yang saya beri nama "Melayani Reaktif." Mari kita lihat lebih dekat.

Reactive Serving

Mari kita bayangkan bahwa Anda baru saja menjadi pemilik sebuah restoran kecil yang hanya memiliki beberapa meja (tiga, misalnya), dan Anda harus menyewa seluruh staf. Apa pilihanmu? Dengan asumsi bahwa Anda hanya membutuhkan satu koki, berapa banyak pelayan yang perlu Anda sewa?

Pendekatan 1

Dalam pendekatan pertama ini, mari kita coba untuk memecahkan masalah ini dengan menggunakan lingkungan eksekusi klasik (non-reaktif) yang hanya mensponsori satu - thread - per - request. Coba lihat di bawah ini:

One waiter for each customer (One thread for each request)

Gambar di atas menunjukkan satu pelayan untuk setiap pelanggan - satu utas untuk setiap pelanggan. Pendekatan ini mengasumsikan bahwa kita memiliki satu pelayan yang sepenuhnya didedikasikan untuk kebutuhan satu pelanggan tertentu, berinteraksi dengan koki secara bersamaan.

Solusi ini terlihat menarik, terutama jika kami ingin menyarankan restoran kami sebagai favorit lokal, tetapi sementara itu, kami harus mempertimbangkan biaya (jumlah pelayan) dan fakta bahwa, sebagian besar waktu, pelayan tidak melakukan apa-apa.
Pada catatan skalabilitas, mudah untuk memahami bahwa Anda memiliki peningkatan linear dalam biaya dan sumber daya yang dibutuhkan.
Mari kita mundur dari metafora ini. Dengan mengganti pelayan dengan benang, koki memiliki kemampuan pemrosesan dan permintaan pelanggan yang kami peroleh. Ini termasuk apa yang terjadi di dalam lingkungan eksekusi klasik di mana setiap utas didedikasikan untuk satu permintaan.

Pendekatan 2

Sekarang, mari kita coba untuk memecahkan masalah ini menggunakan pendekatan yang berbeda terhadap lingkungan eksekusi reaktif yang mensponsori loop tunggal - kejadian - loop. Coba lihat di bawah ini:
Pada gambar di atas, kami mendemonstrasikan satu pelayan untuk semua pelanggan - satu utas untuk semua permintaan. Pendekatan ini mengasumsikan bahwa kita memiliki satu pelayan "reaktif" yang bekerja keras dan tidak sinkron untuk memenuhi kebutuhan semua pelanggan yang berinteraksi dengan koki.
Solusi ini mungkin terlihat kurang menarik daripada yang sebelumnya, tetapi itu benar-benar lebih efisien karena mengandung biaya lebih rendah dan menggunakan kemampuan maksimal pelayan Anda. Karena itu:

Semakin "reaktif" pelayan dan koki ... semakin efektif layanan Anda!
Catatan singkat tentang skalabilitas: jika Anda membutuhkan yang lain, Anda harus mencari pelayan reaktif lain. Ini berarti bahwa biaya dan sumber daya yang dibutuhkan bergantung pada kemampuan Anda untuk mengelola masalah tersebut.
Sekarang, mari kita melangkah menjauh dari metafora restoran. Sementara benang memainkan peran pelayan - kemampuan pemrosesan koki dan permintaan pelanggan, Anda (sebagai pemilik) memainkan peran manajer sumber daya sistem

Kesimpulan

Pertanyaannya adalah, dalam kasus Anda, model layanan apa yang akan Anda pilih untuk restoran Anda? Pendekatan 1 atau 2?
Saya harap metafora ini membantu Anda memahami bagaimana kerangka kerja reaktif menangani eksekusi asynchronous dan utas.
Sementara sistem non-reaktif mencoba mengelola sumber daya dengan menggunakan model prediktif (jumlah maksimal utas, jumlah permintaan maksimum per waktu), sistem reaktif bergantung pada kapasitas sistem yang melibatkan lebih sedikit sumber daya yang lebih baik digunakan, membuat keseluruhan keluaran sistem . tidak dapat diprediksi (untuk itu, kita harus menggunakan pendekatan empiris).

Monday, October 22, 2018

Java : Codility Test



Question 1
Write a function:

class Solution {
public int solution(int A, int B);
}

that, given two non-negative integers A and B, returns the number of bits set to 1 in the binary representation of the number A * B.

For example, given A = 3 and B = 7 the function should return 3, because the binary representation of A * B = 3 * 7 = 21 is 10101 and it contains three bits set to 1.

Assume that: A and B are integers within the range [0..100,000,000].

In your solution, focus on correctness. The performance of your solution will not be the focus of the assessment.

Answer

public class MyClass {

    public static void main(String args[]) {
        int A = 3;
        int B = 8;
        Integer calc = A * B;
        String binaryParse = Integer.toString(calc,2);
        String[] binArr = binaryParse.split("");
        int result = 0;
        
        for (String a : binArr){
                 if(a.equals("1")){
                     result++;
                 }
        }
        
        System.out.println(result);   
    }
}



Question 2
A non-empty array A consisting of N non-negative integers is given.

For elements A[P] and A[Q] that are distinct, i.e. P ≠ Q, their distance is defined as:

(A[P] − A[Q]) if (A[P] − A[Q]) ≥ 0;
(A[Q] − A[P]) if (A[P] − A[Q]) 0.

Write a function:

class Solution {
public int solution(int[] A);
}

that, given an array A consisting of N non-negative integers, returns the minimum distance between two distinct elements of A.

For example, given array A such that: A[0] = 8 A[1] = 24 A[2] = 3 A[3] = 20 A[4] = 1 A[5] = 17 the function should return 2, because (A[2] − A[4]) = 2 and no other two distinct elements of A have a smaller distance.

Given array A such that: A[0] = 7 A[1] = 21 A[2] = 3 A[3] = 42 A[4] = 3 A[5] = 7 the function should return 0, because A[0] − A[5] = A[2] − A[4] = 0 and it is the smallest possible distance between two distinct elements of the array.

Write an efficient algorithm for the following assumptions: N is an integer within the range [2..100,000]; each element of array A is an integer within the range [0..1,000,000].

Answer:


public class MyClass {


    public static void main(String args[]) {
        int[] A = {9,3,5,7,8};
        Arrays.sort(A);
        return A[1]-A[0];
    }
}


Link: N/A

Question 3
A six-sided die is a small cube with a different number of pips on each face (side), ranging from 1 to 6. On any two opposite sides of the cube, the number of pips adds up to 7; that is, there are three pairs of opposite sides: 1 and 6, 2 and 5, and 3 and 4. There are N dice lying on a table, each showing the pips on its top face. In one move, you can take one die and rotate it to an adjacent face.

For example, you can rotate a die that shows 1 so that it shows 2, 3, 4 or 5. However, it cannot show 6 in a single move, because the faces with one pip and six pips visible are on opposite sides rather than adjacent. You want to show the same number of pips on the top faces of all N dice. Given that each of the dice can be moved multiple times, count the minimum number of moves needed to get equal faces.

Write a function:

class Solution {
public int solution(int[] A);
}

that, given an array A consisting of N integers describing the number of pips (from 1 to 6) shown on each die's top face, returns the minimum number of moves necessary for each die to show the same number of pips.

For example, given: A = [1, 2, 3], the function should return 2, as you can pick the first two dice and rotate each of them in one move so that they all show three pips on the top face.

Notice that you can also pick any other pair of dice in this case. A = [1, 1, 6], the function should also return 2.

The only optimal answer is to rotate the last die so that it shows one pip. It is necessary to use two rotations to achieve this. A = [1, 6, 2, 3], the function should return 3.

For instance, you can make all dice show 2: just rotate each die which is not showing 2 (and notice that for each die you can do this in one move).

Assume that: N is an integer within the range [1..100]; each element of array A is an integer within the range [1..6]. In your solution, focus on correctness. The performance of your solution will not be the focus of the assessment.


Answer:

public class MyClass {


    public static void main(String args[]) {
        int[] A = {1,3,5};
        return A.length - 1;
    }
}

Link: N/A

Java : Collection Sort Test

Question
This is a demo task.
Write a function:
class Solution { public int solution(int[] A); }
that, given an array A of N integers, returns the smallest positive integer (greater than 0) that does not occur in A.
For example, given A = [1, 3, 6, 4, 1, 2], the function should return 5.
Given A = [1, 2, 3], the function should return 4.
Given A = [−1, −3], the function should return 1.
Write an efficient algorithm for the following assumptions:
  • N is an integer within the range [1..100,000];
  • each element of array A is an integer within the range [−1,000,000..1,000,000].
Copyright 2009–2018 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

Solution

    public static int solution(int[] A) {
        // write your code in Java SE 8
        Arrays.sort(A);
        int currentInt = 1;

        for (int a : A){
            if(a < currentInt){
                //do Nothing
            } else if(a == currentInt){
                currentInt++;
            } else if(a > currentInt){
                return currentInt;
            }
        }
        
        return currentInt;
    }

Monday, October 15, 2018

Python : Membuat segitiga dengan menggunakan string

Bagaimana cara membuat Segitiga terbalik dengan Python dengan String?

Soal:

informatika nformatika formatika ormatika rmatika matika atika tika ika ka a  

Jawaban:

str='informatika' my_lis=list(str) for i in xrange(len(my_lis)): print str[i:]

Result:



Link: http://tpcg.io/NtpVRn

2. Bagaimana cara membuat Segitiga dengan Python dengan String?

Soal:

a
ka
ika
tika
atika
matika
rmatika
ormatika
formatika
nformatika
informatika

Jawaban:

str='informatika' my_lis=list(str) for i in xrange(len(my_lis)): print str[-i-1:]

Result:



Link: http://tpcg.io/ecDNXK


Sunday, February 11, 2018

3 hal yang harus diperhatikan saat interview kerja

Apakah kamu salah satunya yang selalu gagal setiap kali melamar pekerjaan dan sering bertanya “kenapa ya saya jarang dipanggil lagi?” Ketimbang hal-hal besar, biasanya banyak orang gagal diterima kerja hanya karena masalah sepele. 3 hal yang harus diperhatikan saat interview kerja: 1. Body Language yang Tidak Mendukung Duduklah dengan postur yang baik, tidak terlalu membungkuk (kesannya malas), tidak terlalu condong ke depan (kesannya agresif), menjaga kontak mata sewajarnya, dan jangan menjawab pertanyaan/bercerita dengan ogah-ogahan/tidak antusias, ini akan memberikan kesan bahwa Anda tidak serius dalam melamar pekerjaan.  2. Bau Badan Percakapan tak akan nyaman dan interviewer jadi tidak fokus jika bau mulut/bau badan Anda kelewatan. Bekerja bukan hanya tentang kinerja, giat, dan kepintaran, namun juga penampilan karyawan. Gunakanlah deodoran dan pakaian bersih yang menyerap keringat agar meminimalisir keringat penyebab bau badan.  3. Minim Informasi Carilah informasi mengenai gambaran, pembaharuan hingga bahkan gagasan kedepan mengenai pekerjaan yang hendak anda lamar. Sepele, namun dengan antusiasme yang tinggi ditambah dengan pengetahuan tentang perusahaan, akan memberikan nilai lebih mengapa  interviewer harus memilih Anda  dibandingkan dengan kandidat lain. Good luck!

Saturday, February 10, 2018

TIDAK SEMUA PERUSAHAAN SEPERTI YANG ANDA MAU, TIDAK SEMUA JUGA SEPERTI YANG ANDA BAYANGKAN

Ketika Anda punya kondisi tertentu yang Anda anggap membatasi diri Anda, pada dasarnnya akan selalu ada kesempatan dan kemungkinan disuatu tempat selama Anda mengusahakannya. Entah Anda punya IPK dibawah rata-rata Pendidikan Anda sepertinya bukan passion Anda Usia Anda seperti lewat dari banyak kualifikasi yang ada Status nikah Anda yang Anda pikir mempengaruhi karir Anda dan sebagainya... Pengalaman saya pribadi dan tentu banyak rekan-rekan disini berhasil membuktikan. Bahwa selama Anda mau BERUSAHA, MELANGKAH dan MENJALANI DULU yang kadang tidak selalu sesuai dengan yang Anda bayangkan. MULAI lalu jalani SEPENUH HATI, dari level yang paling memungkinkan, posisi yang paling bisa Anda capai. Pada waktunya, perlahan namun pasti membawa Anda pada satu titik karir yang Anda inginkan. Teddy Diego Career Coach www.teddydiego.id

EXPECTED SALARY

EXPECTED SALARY. Dari pengalaman saya mengisi form pelamar, selalu ada isian 'expected salary'.  Pasti saya kosongi dahulu. Selalu saya ditanya, "kenapa dikosongi?" Saya jawab, "Saya merasa sebaiknya diisi di akhir sesi ini pak/bu. Setelah saya offering kemampuan yg saya miliki untuk perusahaan ini. Juga setelah saya tahu lebih dalam tentang perusahaan ini juga target kerja yg harus saya capai" Setelah sesi wawancara 2 arah selesai, saya baru akan meminta izin utk mengisi form 'expected salary' tersebut. Adakah yg melakukan hal yg sama?

Kerja pakai Rumus 1 3 5

pakailah rumus 1 3 5. kata teman saya dan beberapa orang lainnya, dan cukup masuk akal juga. bertahan 1 tahun. lalu pergi. bila susasana kerja kurang ok, punya bos super demanding dan micro management dan culture kurang bagus. bertahan 3 tahun. lalu pergi. bila suasana so so. bos dan rekan sangat membantu. namun opportunity kurang luas untuk pengembangan karir ke depannya. cukup 3 tahun aja dengan rincian anda perform bagis ditahun kedua dan ketiga. bertahan 5 tahun. lalu pergi. saat kita ada di comfort zone setelah bisa perform dan mencapai posisi yg diinginkan. biasanya sejak yahun ketiga, sudah ada Head Hunter yg pakai startegy bawah tanah mencari orang untuk tinggal memetik hasilnya diperusahaan kita bekerja, untuk menaikan level kita ditempat lainnya. kenapa nggak? ambil aja segera kalau memang cocok, semua pilihan. :) bertahan lebih lama dari itu? boleh. semua pilihan. pastikan bisa selalu ada di zona belajar. dengan rotasi atau selalu berdiskusi ttg career dengan coach, mentor atau HR team di internal maupun eksternal. ini ttg effort kita. namun selalu ada pilihan. jangan sampai bilang tidak ada pilihan. saat kita bilang itu, akan ada banyak sekali orang yang siap memilihkan pilihan untuk anda. dan anda dibawah kontrol mereka, anda mau? :) ~P|S 4 excellent Growth

[UPDATE] 10 Website Lowongan kerja / freelance / magang IT, Komputer, Engineer, Developer terbaik

1. Geekhunter (Kerja)
Hasil gambar untuk geekhunter

Geekhunter adalah recruitment consultant yang memberikan peluang kepada pencari kerja dibidang IT. Geekhunter memberikan pintu pekerjaan kepada pekerjanya dan tidak melakukan outsourcing kepada pekerjanya. Geekhunter mendapatkan profit dari perusahaan yang membayarnya.

Selain itu, anda bisa mendapatkan keuntungan 1-2 juta rupiah jika dapat me-referral 15 teman anda jika mereka diterima kerja.

Website: Geekhunter


2. Quint.id (Internship/Magang)



Quint adalah internship match making platform yang menjadi solusi bagi mahasiswa, universitas, dan perusahaan.

Perusahaan yang mempercayai Quint.id seperti:
  • Blibli.com
  • Tokopedia
  • Midtrans
  • Dekoruma
  • Cermati
  • HappyFresh
  • Qlapa
  • Indivara
  • Dmsum
  • Xendit
  • Kudo (Grab)
  • Sircl
Website: Quint


Hasil gambar untuk projects co id

Projects.co.id adalah website freelancer / outsourcing Indonesia yang menyediakan pencarian dan penawaran kerja secara freelance. Ada juga jual/beli aplikasi sesama pengguna untuk belajar maupun bekerja.

Website: Projects.co.id


4. Jac-Recruitment

Hasil gambar untuk jac-recruitment

Jac-Recruitment adalah website outsourcing yang menyediakan berbagai bidang dan posisi di Indonesia dengan berbagai bisnis tanah air dan luar negri.

Website: Jac-Recruitment



Hasil gambar untuk reeracoen



6. https://www.jobstreet.co.id/

7. https://www.kaskus.co.id/

8. https://www.sribulancer.com

9. https://www.freelancer.co.id/

10. https://www.urbanhire.com/

Wednesday, October 4, 2017

Full All Crack Microsoft Windows 10, 8, 7 and Microsoft Office 2007, 2010, 2013, 2016

KMSpico 10.2.0 Final Activator 
KMSpico 10.2.0 Final Activator
 
Download:
 
Cara Install :
  1. Download KMSpico melalui link di atas
  2. Matikan antivirus kamu terlebih dahulu
  3. Ekstrak file yang sudah kamu download tadi dengan WinRAR
  4. Jalankan KMSpico 10.2.0 Final.exe secara Run asa Administrator
  5. Tunggu kurang lebih 5 menit
  6. Windows dan Microsoft Office kamu sudah teraktivasi permanen!
KMSpico Dapat Meng-aktivasi :
  • Windows Vista Business/N/Enterprise/N
  • Windows 7 Professional/N/Enterprise/N
  • Windows 8/8.1 All
  • Windows 10 All
  • Office 2010/2013/2016
  • Windows Server 2008/Standard/Datacenter/Enterprise/2008R2/Standard/Datacenter/Enterprise/
  • Windows Server 2012/Standard/Datacenter/2012R2/Standard/Datacenter
  • Windows Server 2016 (Theorically)
Note : Setiap PC kamu booting, KMSpico akan mereset aktivasi-nya. Jadi bisa dibilang Windows dan Office kamu ter-aktivasi secara permanen!